Skip to content

Commit f402b06

Browse files
authored
Added Python 3.14 CI test target (#30)
1 parent 93e8aa2 commit f402b06

11 files changed

Lines changed: 45 additions & 32 deletions

File tree

.github/workflows/test_docker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
strategy:
99
matrix:
10-
version: ['39', '40']
10+
version: ['41', '42']
1111
container:
1212
image: registry.fedoraproject.org/fedora:${{ matrix.version }}
1313
steps:
@@ -54,7 +54,7 @@ jobs:
5454
run: |
5555
add-apt-repository -y ppa:gift/dev
5656
apt-get update -q
57-
apt-get install -y build-essential libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3 python3-artifacts python3-build python3-cffi-backend python3-cryptography python3-dev python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-wheel python3-xattr python3-yaml
57+
apt-get install -y build-essential libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3 python3-artifacts python3-build python3-cffi-backend python3-cryptography python3-dev python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-dtfabric python3-idna python3-pip python3-pytsk3 python3-setuptools python3-venv python3-wheel python3-xattr python3-yaml
5858
- name: Run tests
5959
env:
6060
LANG: en_US.UTF-8

.github/workflows/test_docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
add-apt-repository -y ppa:deadsnakes/ppa
3737
add-apt-repository -y ppa:gift/dev
3838
apt-get update -q
39-
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
39+
apt-get install -y build-essential git libffi-dev pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
4040
- name: Install tox
4141
run: |
4242
python3 -m pip install tox

.github/workflows/test_tox.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ jobs:
1414
strategy:
1515
matrix:
1616
include:
17-
- python-version: '3.8'
18-
toxenv: 'py38,wheel'
1917
- python-version: '3.9'
2018
toxenv: 'py39,wheel'
2119
- python-version: '3.10'
@@ -24,6 +22,10 @@ jobs:
2422
toxenv: 'py311,wheel'
2523
- python-version: '3.12'
2624
toxenv: 'py312,wheel'
25+
- python-version: '3.13'
26+
toxenv: 'py313,wheel'
27+
- python-version: '3.14'
28+
toxenv: 'py314,wheel'
2729
container:
2830
image: ubuntu:22.04
2931
steps:
@@ -44,7 +46,7 @@ jobs:
4446
add-apt-repository -y ppa:deadsnakes/ppa
4547
add-apt-repository -y ppa:gift/dev
4648
apt-get update -q
47-
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
49+
apt-get install -y build-essential git libffi-dev pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
4850
- name: Install tox
4951
run: |
5052
python3 -m pip install tox
@@ -80,7 +82,7 @@ jobs:
8082
add-apt-repository -y ppa:deadsnakes/ppa
8183
add-apt-repository -y ppa:gift/dev
8284
apt-get update -q
83-
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
85+
apt-get install -y build-essential git libffi-dev pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
8486
- name: Install tox
8587
run: |
8688
python3 -m pip install tox
@@ -120,7 +122,7 @@ jobs:
120122
add-apt-repository -y ppa:deadsnakes/ppa
121123
add-apt-repository -y ppa:gift/dev
122124
apt-get update -q
123-
apt-get install -y build-essential git libffi-dev python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
125+
apt-get install -y build-essential git libffi-dev pkg-config python${{ matrix.python-version }} python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv libbde-python3 libcreg-python3 libewf-python3 libexe-python3 libfsapfs-python3 libfsext-python3 libfsfat-python3 libfshfs-python3 libfsntfs-python3 libfsxfs-python3 libfvde-python3 libfwnt-python3 libluksde-python3 libmodi-python3 libphdi-python3 libqcow-python3 libregf-python3 libsigscan-python3 libsmdev-python3 libsmraw-python3 libvhdi-python3 libvmdk-python3 libvsapm-python3 libvsgpt-python3 libvshadow-python3 libvslvm-python3 libwrc-python3 python3-artifacts python3-cffi-backend python3-cryptography python3-dfdatetime python3-dfimagetools python3-dfvfs python3-dfwinreg python3-distutils python3-dtfabric python3-idna python3-lib2to3 python3-pip python3-pytsk3 python3-setuptools python3-xattr python3-yaml
124126
- name: Install tox
125127
run: |
126128
python3 -m pip install tox

.pylintrc

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Pylint 3.0.x configuration file
1+
# Pylint 3.2.x configuration file
22
#
33
# This file is generated by l2tdevtools update-dependencies.py, any dependency
44
# related changes should be made in dependencies.ini.
@@ -29,6 +29,7 @@ clear-cache-post-run=no
2929
# A comma-separated list of package or module names from where C extensions may
3030
# be loaded. Extensions are loading into the active Python interpreter and may
3131
# run arbitrary code.
32+
# extension-pkg-allow-list=
3233
extension-pkg-allow-list=pybde,pycreg,pyewf,pyexe,pyfsapfs,pyfsext,pyfsfat,pyfshfs,pyfsntfs,pyfsxfs,pyfvde,pyfwnt,pyluksde,pymodi,pyphdi,pyqcow,pyregf,pysigscan,pysmdev,pysmraw,pytsk3,pyvhdi,pyvmdk,pyvsapm,pyvsgpt,pyvshadow,pyvslvm,pywrc,xattr
3334

3435
# A comma-separated list of package or module names from where C extensions may
@@ -63,10 +64,11 @@ ignore-paths=
6364
# Emacs file locks
6465
ignore-patterns=^\.#
6566

66-
# List of module names for which member attributes should not be checked
67-
# (useful for modules/projects where namespaces are manipulated during runtime
68-
# and thus existing member attributes cannot be deduced by static analysis). It
69-
# supports qualified module names, as well as Unix pattern matching.
67+
# List of module names for which member attributes should not be checked and
68+
# will not be imported (useful for modules/projects where namespaces are
69+
# manipulated during runtime and thus existing member attributes cannot be
70+
# deduced by static analysis). It supports qualified module names, as well as
71+
# Unix pattern matching.
7072
ignored-modules=
7173

7274
# Python code to execute, usually for sys.path manipulation such as
@@ -85,11 +87,16 @@ limit-inference-results=100
8587

8688
# List of plugins (as comma separated values of python module names) to load,
8789
# usually to register additional checkers.
90+
# load-plugins=
8891
load-plugins=pylint.extensions.docparams
8992

9093
# Pickle collected data for later comparisons.
9194
persistent=yes
9295

96+
# Resolve imports to .pyi stubs if available. May reduce no-member messages and
97+
# increase not-an-iterable messages.
98+
prefer-stubs=no
99+
93100
# Minimum Python version to use for version dependent checks. Will default to
94101
# the version used to run pylint.
95102
py-version=3.12
@@ -440,7 +447,6 @@ confidence=HIGH,
440447
# --enable=similarities". If you want to run only the classes checker, but have
441448
# no Warning level messages displayed, use "--disable=all --enable=classes
442449
# --disable=W".
443-
444450
disable=assignment-from-none,
445451
bad-inline-option,
446452
consider-using-f-string,
@@ -464,6 +470,7 @@ disable=assignment-from-none,
464470
too-many-lines,
465471
too-many-locals,
466472
too-many-nested-blocks,
473+
too-many-positional-arguments,
467474
too-many-public-methods,
468475
too-many-return-statements,
469476
too-many-statements,
@@ -478,6 +485,7 @@ disable=assignment-from-none,
478485
# either give multiple identifier separated by comma (,) or put this option
479486
# multiple time (only on the command line, not in the configuration file where
480487
# it should appear only once). See also the "--disable" option for examples.
488+
# enable=
481489
enable=c-extension-no-member
482490

483491

@@ -510,6 +518,11 @@ max-nested-blocks=5
510518
# printed.
511519
never-returning-functions=sys.exit,argparse.parse_error
512520

521+
# Let 'consider-using-join' be raised when the separator to join on would be
522+
# non-empty (resulting in expected fixes of the type: ``"- " + " -
523+
# ".join(items)``)
524+
suggest-join-with-non-empty-separator=yes
525+
513526

514527
[REPORTS]
515528

appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ environment:
2828
PYTHON_VERSION: "3.12"
2929
L2TBINARIES_TRACK: "dev"
3030
TARGET: wheel
31-
- DESCRIPTION: "Run tests on Mac OS with Python 3.12"
32-
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
31+
- DESCRIPTION: "Run tests on Mac OS with Python 3.13"
32+
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
3333
HOMEBREW_NO_INSTALL_CLEANUP: 1
3434
TARGET: tests
3535

config/appveyor/install.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
set -e
44

5+
brew untap homebrew/homebrew-cask-versions
56
brew update -q
6-
brew install -q gettext gnu-sed python@3.12 tox || true
7+
brew install -q gettext gnu-sed python@3.13 tox || true
78

config/appveyor/runtests.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export LDFLAGS="-L/usr/local/lib -L/usr/local/opt/gettext/lib ${LDFLAGS}";
99
export CPPFLAGS="-I/usr/local/opt/[email protected]/include ${CPPFLAGS}";
1010
export LDFLAGS="-L/usr/local/opt/[email protected]/lib ${LDFLAGS}";
1111

12-
# Set the following environment variables to ensure tox can find Python 3.12.
13-
export PATH="/usr/local/opt/python@3.12/bin:${PATH}";
12+
# Set the following environment variables to ensure tox can find Python 3.13.
13+
export PATH="/usr/local/opt/python@3.13/bin:${PATH}";
1414

15-
tox -e py312
15+
tox -e py313

docs/sources/api/artifactsrc.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ artifactsrc.resource\_file module
99

1010
.. automodule:: artifactsrc.resource_file
1111
:members:
12-
:undoc-members:
1312
:show-inheritance:
13+
:undoc-members:
1414

1515
artifactsrc.volume\_scanner module
1616
----------------------------------
1717

1818
.. automodule:: artifactsrc.volume_scanner
1919
:members:
20-
:undoc-members:
2120
:show-inheritance:
21+
:undoc-members:
2222

2323
Module contents
2424
---------------
2525

2626
.. automodule:: artifactsrc
2727
:members:
28-
:undoc-members:
2928
:show-inheritance:
29+
:undoc-members:

docs/sources/file_systems/NTFS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ derived version.
77

88
* [ForensicsWiki: New Technology File System (NTFS)](https://forensics.wiki/new_technology_file_system_(ntfs))
99
* [New Technologies File System (NTFS)](https://github.com/libyal/libfsntfs/blob/main/documentation/New%20Technologies%20File%20System%20(NTFS).asciidoc)
10-
* [Linux NTFS file system support](https://sourceforge.net/projects/linux-ntfs/)
10+
* [Linux NTFS file system support](https://github.com/tuxera/ntfs-3g)

setup.cfg

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = artifactsrc
3-
version = 20240304
3+
version = 20251014
44
description = Digital Forensics Artifact knowledge base
55
long_description = Documentation accompanying the Digital Forensics Artifact Repository.
66
long_description_content_type = text/plain
@@ -22,7 +22,7 @@ install_requires = file:requirements.txt
2222
package_dir =
2323
artifactsrc = artifactsrc
2424
packages = find:
25-
python_requires = >=3.8
25+
python_requires = >=3.9
2626
scripts =
2727
tools/check_artifacts.py
2828
tools/generate_docs.py
@@ -39,6 +39,3 @@ exclude =
3939
tests.*
4040
utils
4141
where = .
42-
43-
[bdist_wheel]
44-
universal = 1

0 commit comments

Comments
 (0)