Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: ['24.04']
version: ['26.04']
container:
image: ubuntu:${{ matrix.version }}
steps:
Expand Down
8 changes: 3 additions & 5 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
include ACKNOWLEDGEMENTS AUTHORS LICENSE README
include ACKNOWLEDGEMENTS AUTHORS LICENSE README.md
include dependencies.ini run_tests.py utils/__init__.py utils/dependencies.py
include utils/check_dependencies.py
include requirements.txt test_requirements.txt
exclude .gitignore
exclude *.pyc
recursive-exclude dfimagetools *.pyc
recursive-include config *
# Do not include the test data otherwise the sdist will be too large for PyPi.
# Do not include the test data otherwise the sdist will be too large for PyPI.
recursive-exclude test_data *
# The test scripts are not required in a binary distribution package they
# are considered source distribution files and excluded in find_package()
# in setup.py.
# are considered source distribution files and excluded by find_package().
recursive-include tests *.py
6 changes: 2 additions & 4 deletions MANIFEST.test_data.in
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
include ACKNOWLEDGEMENTS AUTHORS LICENSE README
include ACKNOWLEDGEMENTS AUTHORS LICENSE README.md
include dependencies.ini run_tests.py utils/__init__.py utils/dependencies.py
include utils/check_dependencies.py
include requirements.txt test_requirements.txt
exclude .gitignore
exclude *.pyc
recursive-exclude dfimagetools *.pyc
recursive-include config *
recursive-include test_data *
# The test scripts are not required in a binary distribution package they
# are considered source distribution files and excluded in find_package()
# in setup.py.
# are considered source distribution files and excluded by find_package().
recursive-include tests *.py
File renamed without changes.
4 changes: 2 additions & 2 deletions config/dpkg/changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dfimagetools (20251124-1) unstable; urgency=low
dfimagetools (20251125-1) unstable; urgency=low

* Auto-generated

-- Log2Timeline maintainers <log2timeline-maintainers@googlegroups.com> Mon, 24 Nov 2025 13:21:58 +0100
-- Log2Timeline maintainers <log2timeline-maintainers@googlegroups.com> Tue, 25 Nov 2025 16:08:33 +0100
2 changes: 1 addition & 1 deletion dfimagetools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"""Collection of tools to process storage media images."""


__version__ = '20251124'
__version__ = '20251125'
71 changes: 71 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,74 @@
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "dfimagetools"
version = "20251125"
description = "Storage media image tools"
maintainers = [
{ name = "Log2Timeline maintainers", email = "log2timeline-maintainers@googlegroups.com" },
]
license = "Apache-2.0"
license-files = ["ACKNOWLEDGEMENTS", "AUTHORS", "LICENSE"]
readme = "README.md"
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python",
]
requires-python = ">=3.10"
dependencies = [
"PyYAML >= 3.10",
"artifacts >= 20220219",
"cffi >= 1.9.1",
"dfdatetime >= 20251018",
"dfvfs >= 20251019",
"dfwinreg >= 20240229",
"dtfabric >= 20230518",
"libbde-python >= 20220121",
"libcaes-python >= 20240114",
"libcreg-python >= 20200725",
"libewf-python >= 20131210",
"libfcrypto-python >= 20240114",
"libfsapfs-python >= 20220709",
"libfsext-python >= 20220829",
"libfsfat-python >= 20220925",
"libfshfs-python >= 20220831",
"libfsntfs-python >= 20251018",
"libfsxfs-python >= 20220829",
"libfvde-python >= 20220121",
"libfwnt-python >= 20210717",
"libluksde-python >= 20220121",
"libmodi-python >= 20210405",
"libphdi-python >= 20220228",
"libqcow-python >= 20201213",
"libregf-python >= 20201002",
"libsigscan-python >= 20230109",
"libsmdev-python >= 20140529",
"libsmraw-python >= 20140612",
"libvhdi-python >= 20201014",
"libvmdk-python >= 20140421",
"libvsapm-python >= 20230506",
"libvsgpt-python >= 20211115",
"libvshadow-python >= 20160109",
"libvslvm-python >= 20160109",
"pytsk3 >= 20210419",
"xattr >= 0.7.2 ; platform_system != \"Windows\"",
]

[project.scripts]
extract_data_streams = "dfimagetools.scripts.extract_data_streams:Main"
list_file_entries = "dfimagetools.scripts.list_file_entries:Main"
map_extents = "dfimagetools.scripts.map_extents:Main"
recursive_hasher = "dfimagetools.scripts.recursive_hasher:Main"
source_analyzer = "dfimagetools.scripts.source_analyzer:Main"

[project.urls]
Documentation = "https://dfimagetools.readthedocs.io/en/latest"
Homepage = "https://github.com/log2timeline/dfimagetools"
Repository = "https://github.com/log2timeline/dfimagetools"

[tool.setuptools.packages.find]
where = ["."]
include = ["dfimagetools"]
exclude = ["docs", "tests", "tests.*", "utils"]
36 changes: 0 additions & 36 deletions requirements.txt

This file was deleted.

41 changes: 0 additions & 41 deletions setup.cfg

This file was deleted.

8 changes: 0 additions & 8 deletions setup.py

This file was deleted.

Empty file removed test_requirements.txt
Empty file.
6 changes: 1 addition & 5 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ passenv =
setenv =
PYTHONPATH = {toxinidir}
deps =
-rrequirements.txt
-rtest_requirements.txt
coverage: coverage
wheel:
build
Expand Down Expand Up @@ -43,13 +41,11 @@ passenv =
setenv =
PYTHONPATH = {toxinidir}
deps =
-rrequirements.txt
-rtest_requirements.txt
pylint >= 3.3.0, < 3.4.0
setuptools >= 65
yamllint >= 1.26.0
commands =
pylint --version
yamllint -v
pylint --rcfile=.pylintrc dfimagetools setup.py tests
pylint --rcfile=.pylintrc dfimagetools tests
yamllint -c .yamllint.yaml test_data
2 changes: 1 addition & 1 deletion utils/dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class DependencyDefinition(object):
skip_check (bool): True if the dependency should be skipped by the
CheckDependencies or CheckTestDependencies methods of DependencyHelper.
skip_requires (bool): True if the dependency should be excluded from
requirements.txt or setup.py install_requires.
pyproject.toml dependencies.
version_property (str): name of the version attribute or function.
"""

Expand Down
4 changes: 2 additions & 2 deletions utils/update_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ VERSION=$(date -u +"%Y%m%d")
# Update the Python module version.
sed "s/__version__ = '[0-9]*'/__version__ = '${VERSION}'/" -i dfimagetools/__init__.py

# Update the version in the setuptools configuration.
sed "s/version = [0-9]*/version = ${VERSION}/" -i setup.cfg
# Update the version in the pyproject configuration.
sed "s/version = \"[0-9]*\"/version = \"${VERSION}\"/" -i pyproject.toml

# Ensure shebangs of Python scripts are consistent.
find . -name \*.py -exec sed '1s?^#!.*$?#!/usr/bin/env python3?' -i {} \;
Expand Down