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
6 changes: 3 additions & 3 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Linting
# Linting tools use `pyproject.toml` and `setup.cfg` for config.
# Linting tools use `pyproject.toml` for config.

on:
- pull_request
Expand All @@ -9,9 +9,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install requirements
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ jobs:
strategy:
matrix:
include:
- python-version: '3.11'
pytest-version: 8
- python-version: '3.12'
pytest-version: 9
- python-version: '3.10'
pytest-version: 7
runs-on: ubuntu-latest
name: pytest ${{ matrix.pytest-version }}
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '${{ matrix.python-version }}'
- name: Install requirements
Expand Down
14 changes: 14 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,20 @@ disable_error_code = 'annotation-unchecked'
ignore_missing_imports = true
module = ['invoke']

[tool.flake8]
max-line-length = 100
# Errors being ignored:
# E203 is not PEP8 compliant and clashes with black
# E701,E704 multiple statements on one line (colon)
# Conflict with `black`, where empty class definitions (with Ellipsis) are formatted to be in
# one line in `black`, ex `class FileUpdateError(Exception): ...`
# W503 line break before binary operator clashes with black
# F811 redefinition of unused import happens when importing pytest fixtures in test modules
extend-ignore = ['E203', 'E266', 'E501', 'E701', 'E704', 'W503', 'F811']
exclude = [
'.git', '.github', '__pycache__', '.venv*', 'venv*', 'build', 'dist'
]

[tool.pytest.ini_options]
testpaths = ['tests']
markers = ['flaky', 'nightly', 'performance', 'pri1']
Expand Down
1 change: 1 addition & 0 deletions requirements-dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pip-tools # Package management
# Linting
black # Linter
flake8 # Linter
flake8-pyproject # Flake8 in pyproject.toml
isort # Linter
mypy # Code inspector

Expand Down
83 changes: 49 additions & 34 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,46 +1,52 @@
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements-dev.in
#
black==25.1.0
black==26.1.0
# via -r requirements-dev.in
build==1.2.2.post1
build==1.4.0
# via pip-tools
certifi==2025.4.26
certifi==2026.1.4
# via requests
charset-normalizer==3.4.1
charset-normalizer==3.4.4
# via requests
click==8.1.8
click==8.3.1
# via
# black
# pip-tools
docutils==0.21.2
colorama==0.4.6
# via
# -r requirements.txt
# build
# click
# pytest
docutils==0.22.4
# via flit
exceptiongroup==1.2.2
exceptiongroup==1.3.1
# via
# -r requirements.txt
# pytest
flake8==7.2.0
flake8==7.3.0
# via
# -r requirements-dev.in
# flake8-pyproject
flake8-pyproject==1.2.4
# via -r requirements-dev.in
flit==3.12.0
# via -r requirements-dev.in
flit-core==3.12.0
# via flit
idna==3.10
idna==3.11
# via requests
iniconfig==2.1.0
iniconfig==2.3.0
# via
# -r requirements.txt
# pytest
invoke==2.2.0
invoke==2.2.1
# via -r requirements-dev.in
isort==6.0.1
isort==7.0.0
# via -r requirements-dev.in
librt==0.7.8
# via mypy
mccabe==0.7.0
# via flake8
mypy==1.15.0
mypy==1.19.1
# via -r requirements-dev.in
mypy-extensions==1.1.0
# via
Expand All @@ -52,47 +58,56 @@ packaging==25.0
# black
# build
# pytest
pathspec==0.12.1
# via black
pip-tools==7.4.1
pathspec==1.0.3
# via
# black
# mypy
pip-tools==7.5.2
# via -r requirements-dev.in
platformdirs==4.3.7
platformdirs==4.5.1
# via black
pluggy==1.5.0
pluggy==1.6.0
# via
# -r requirements.txt
# pytest
pycodestyle==2.13.0
pycodestyle==2.14.0
# via flake8
pyflakes==3.3.2
pyflakes==3.4.0
# via flake8
pygments==2.19.2
# via
# -r requirements.txt
# pytest
pyproject-hooks==1.2.0
# via
# build
# pip-tools
pytest==8.3.5
pytest==9.0.2
# via
# -r requirements.txt
# -r requirements-dev.in
requests==2.32.3
# -r requirements.txt
pytokens==0.3.0
# via black
requests==2.32.5
# via flit
semantic-version==2.10.0
# via -r requirements-dev.in
tomli==2.2.1
tomli==2.4.0
# via
# -r requirements.txt
# black
# build
# flake8-pyproject
# mypy
# pip-tools
# pytest
tomli-w==1.2.0
# via flit
typing-extensions==4.13.2
typing-extensions==4.15.0
# via
# -r requirements.txt
# black
# exceptiongroup
# mypy
urllib3==2.4.0
urllib3==2.6.3
# via requests
wheel==0.45.1
# via pip-tools
Expand Down
22 changes: 11 additions & 11 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements.in
#
exceptiongroup==1.2.2
colorama==0.4.6
# via pytest
iniconfig==2.1.0
exceptiongroup==1.3.1
# via pytest
iniconfig==2.3.0
# via pytest
packaging==25.0
# via pytest
pluggy==1.5.0
pluggy==1.6.0
# via pytest
pygments==2.19.2
# via pytest
pytest==8.3.5
pytest==9.0.2
# via -r requirements.in
tomli==2.2.1
tomli==2.4.0
# via pytest
typing-extensions==4.15.0
# via exceptiongroup
13 changes: 0 additions & 13 deletions setup.cfg

This file was deleted.