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
14 changes: 8 additions & 6 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,13 @@ jobs:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
python-version: |
${{ matrix.python-version }}
3.14
- name: Install dependencies
run: |
python -m pip install -c constraints.txt pip
Expand All @@ -62,12 +64,12 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: ["3.11"]
python-version: ["3.14"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
28 changes: 9 additions & 19 deletions constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,21 @@ attrs==23.2.0
binaryornot==0.4.4
black==24.2.0
boolean-py==4.0
build==1.0.3
bump2version==1.0.1
certifi==2024.2.2
chardet==5.2.0
charset-normalizer==3.3.2
click==8.1.7
colorama==0.4.6 ; sys_platform == 'win32'
coverage==7.4.3
distlib==0.3.8
docutils==0.20.1
exceptiongroup==1.2.0
exceptiongroup==1.2.0 ; python_full_version < '3.11'
filelock==3.13.1
flake8==7.0.0
flake8==7.3.0
flake8-bugbear==24.2.6
flake8-comprehensions==3.14.0
flake8-html==0.4.3
flake8-logging-format==0.9.0
flake8-mutable==1.2.0
flake8-pyi==24.1.0
flit==3.12.0
flit-core==3.12.0
Expand All @@ -36,22 +34,21 @@ iniconfig==2.0.0
invoke==2.2.0
isort==5.13.2
jinja2==3.1.3
librt==0.7.3
license-expression==30.2.0
markupsafe==2.1.5
mccabe==0.7.0
mypy==1.8.0
mypy==1.19.0
mypy-extensions==1.0.0
packaging==23.2
pathspec==0.12.1
pip==24.0
pip-tools==7.4.0
platformdirs==4.2.0
pluggy==1.4.0
py==1.11.0
pycodestyle==2.11.1
pyflakes==3.2.0
pycodestyle==2.14.0
pyflakes==3.4.0
pygments==2.17.2
pyproject-hooks==1.0.0
pytest==8.0.2
pytest-cov==4.1.0
pytest-html==4.1.1
Expand All @@ -61,19 +58,12 @@ requests==2.31.0
reuse==3.0.1
setuptools==69.1.1
six==1.16.0
tomli==2.0.1
tomli==2.0.1 ; python_full_version <= '3.11'
tomli-w==1.2.0
tox==3.28.0
tox-pyenv==1.1.0
types-invoke==2.0.0.10
typing-extensions==4.10.0
urllib3==2.2.1
uv==0.9.17
virtualenv==20.25.1
wheel==0.42.0
atomicwrites==1.4.0
filelock <3.12.3; python_version < "3.8"
importlib-metadata <6.8; python_version < "3.8"
platformdirs <4.1; python_version < "3.8"
pluggy <1.3; python_version < "3.8"
typing-extensions <4.8; python_version < "3.8"
zipp <3.16; python_version < "3.8"
8 changes: 4 additions & 4 deletions lock-requirements.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ export CUSTOM_COMPILE_COMMAND="./lock-requirements.sh"

export PYTHONWARNINGS=ignore

pip-compile \
--unsafe-package='' \
uv pip compile \
--no-emit-index-url \
--resolver=backtracking \
--universal \
--no-build \
-o requirements.txt \
requirements.in \
"$@"
Expand All @@ -26,4 +26,4 @@ cat >constraints.txt <<EOF
#
EOF
sed -E -e 's/(\[.*\])//g' -e '/^ *#/d' -e '/^$/d' requirements.txt >>constraints.txt
cat constraints.in | grep -v -E '^#' >>constraints.txt
# cat constraints.in | grep -v -E '^#' >>constraints.txt
2 changes: 1 addition & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# SPDX-License-Identifier: CC0-1.0
[mypy]

python_version = 3.8
python_version = 3.10

mypy_path = src

Expand Down
53 changes: 53 additions & 0 deletions mypy37.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: David Fritzsche
# SPDX-License-Identifier: CC0-1.0
[mypy]

python_version = 3.7

mypy_path = src

verbosity = 0

# Show some context in the error message
show_error_context = True

# Unfortunately, outputting the column number confuses Visual Studio Code
show_column_numbers = True

# follow_imports = (normal|silent|skip|error)
# cf. https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
# silent = Follow all imports and type check, but suppress any error messages
# in imported modules
follow_imports = silent

# Do not complain about missing imports
ignore_missing_imports = False

# Enables PEP 420 style namespace packages. (default False)
namespace_packages = False

# explicit_package_bases = True

# Type-checks the interior of functions without type annotations (default False)
check_untyped_defs = True

# Warn about unused per-module sections (default False)
warn_unused_configs = True

# Warns about casting an expression to its inferred type (default False)
warn_redundant_casts = True

# Warn about unused `# type: ignore` comments (default False)
warn_unused_ignores = True

# Shows a warning when returning a value with type Any from a function declared
# with a non-Any return type (default False)
warn_return_any = True

# Strict Optional checks.
# If False, mypy treats None as compatible with every type. (default True)
strict_optional = True


[mypy-py.*]
ignore_missing_imports = True
53 changes: 53 additions & 0 deletions mypy38.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: David Fritzsche
# SPDX-License-Identifier: CC0-1.0
[mypy]

python_version = 3.8

mypy_path = src

verbosity = 0

# Show some context in the error message
show_error_context = True

# Unfortunately, outputting the column number confuses Visual Studio Code
show_column_numbers = True

# follow_imports = (normal|silent|skip|error)
# cf. https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
# silent = Follow all imports and type check, but suppress any error messages
# in imported modules
follow_imports = silent

# Do not complain about missing imports
ignore_missing_imports = False

# Enables PEP 420 style namespace packages. (default False)
namespace_packages = False

# explicit_package_bases = True

# Type-checks the interior of functions without type annotations (default False)
check_untyped_defs = True

# Warn about unused per-module sections (default False)
warn_unused_configs = True

# Warns about casting an expression to its inferred type (default False)
warn_redundant_casts = True

# Warn about unused `# type: ignore` comments (default False)
warn_unused_ignores = True

# Shows a warning when returning a value with type Any from a function declared
# with a non-Any return type (default False)
warn_return_any = True

# Strict Optional checks.
# If False, mypy treats None as compatible with every type. (default True)
strict_optional = True


[mypy-py.*]
ignore_missing_imports = True
53 changes: 53 additions & 0 deletions mypy39.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: David Fritzsche
# SPDX-License-Identifier: CC0-1.0
[mypy]

python_version = 3.9

mypy_path = src

verbosity = 0

# Show some context in the error message
show_error_context = True

# Unfortunately, outputting the column number confuses Visual Studio Code
show_column_numbers = True

# follow_imports = (normal|silent|skip|error)
# cf. https://mypy.readthedocs.io/en/latest/running_mypy.html#follow-imports
# silent = Follow all imports and type check, but suppress any error messages
# in imported modules
follow_imports = silent

# Do not complain about missing imports
ignore_missing_imports = False

# Enables PEP 420 style namespace packages. (default False)
namespace_packages = False

# explicit_package_bases = True

# Type-checks the interior of functions without type annotations (default False)
check_untyped_defs = True

# Warn about unused per-module sections (default False)
warn_unused_configs = True

# Warns about casting an expression to its inferred type (default False)
warn_redundant_casts = True

# Warn about unused `# type: ignore` comments (default False)
warn_unused_ignores = True

# Shows a warning when returning a value with type Any from a function declared
# with a non-Any return type (default False)
warn_return_any = True

# Strict Optional checks.
# If False, mypy treats None as compatible with every type. (default True)
strict_optional = True


[mypy-py.*]
ignore_missing_imports = True
11 changes: 3 additions & 8 deletions requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,21 @@
black >=24,<25
bump2version
coverage[toml]
flit >=3.12,<4
flake8-bugbear
flake8-comprehensions
flake8-html
flake8-logging-format
flake8-mutable
flake8-pyi
flit >=3.12,<4
fsfe-reuse
invoke
isort
mypy ~=1.8
mypy ~=1.19.0
pip
pip-tools
pytest
pytest-cov
pytest-html
setuptools >=69
tox <4
tox-pyenv
types-invoke

# Consider constraints constraints.in
-c constraints.in
uv ~=0.9.17
Loading
Loading