diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4ef6031..4b45299 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,6 +20,10 @@ jobs: fail-fast: false matrix: tox: [py311, typing, style, docs, minimal, dist] + python: [3.11] + include: + - tox: py312 + python: 3.12 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -27,7 +31,7 @@ jobs: node-version: '21' - uses: actions/setup-python@v5 with: - python-version: 3.11 + python-version: ${{ matrix.python }} cache: 'pip' cache-dependency-path: 'requirements/*.txt' - name: Install dot @@ -48,7 +52,7 @@ jobs: uses: actions/cache@v3.0.3 with: path: ./.mypy_cache - key: mypy|python3.11|${{ hashFiles('pyproject.toml') }} + key: mypy|python-${{ matrix.python }}|${{ hashFiles('pyproject.toml') }} if: matrix.tox == 'typing' - run: pip install tox - run: tox -e ${{ matrix.tox }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 76b2b91..a3337c5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/python/black - rev: 24.2.0 + rev: 24.4.2 hooks: - id: black args: [--safe, --quiet, -l120] @@ -9,14 +9,14 @@ repos: rev: 1.16.0 hooks: - id: blacken-docs - additional_dependencies: [black==22.3.0] + additional_dependencies: [black==24.4.2] language_version: python3 - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.10.0 hooks: - id: python-use-type-annotations - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.6.0 hooks: - id: check-docstring-first - id: debug-statements @@ -50,7 +50,7 @@ repos: - id: reorder-python-imports args: [--py311-plus, "--application-directories=.:src"] - repo: https://github.com/asottile/pyupgrade - rev: v3.15.1 + rev: v3.15.2 hooks: - id: pyupgrade args: [--py311-plus] diff --git a/pyproject.toml b/pyproject.toml index 6ea7eb6..1830d2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,10 @@ include = ["src/"] [tool.pytest.ini_options] testpaths = "tests" -filterwarnings = "error" +filterwarnings = """ +error +ignore:There is no current event loop:DeprecationWarning:dominate.* +""" addopts = [ "--cov-report=term-missing", "--cov-config=pyproject.toml", diff --git a/requirements/base.txt b/requirements/base.txt index 33129f5..c2affec 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -7,19 +7,19 @@ # attrs==23.2.0 # via -r requirements/base.in -blinker==1.7.0 +blinker==1.8.2 # via flask click==8.1.7 # via flask dominate==2.9.1 # via -r requirements/base.in -flask==3.0.2 +flask==3.0.3 # via -r requirements/base.in html5lib==1.1 # via -r requirements/base.in -itsdangerous==2.1.2 +itsdangerous==2.2.0 # via flask -jinja2==3.1.3 +jinja2==3.1.4 # via flask markupsafe==2.1.5 # via @@ -30,7 +30,7 @@ six==1.16.0 # via html5lib webencodings==0.5.1 # via html5lib -werkzeug==3.0.1 +werkzeug==3.0.3 # via flask wtforms==3.1.2 # via -r requirements/base.in diff --git a/requirements/dev.txt b/requirements/dev.txt index 820d1dc..7759190 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -10,9 +10,11 @@ -r typing.txt -e file:///Users/alexrudy/Development/alexrudy/bootlace # via -r requirements/dev.in -black==24.3.0 +backports-tarfile==1.1.1 + # via jaraco-context +black==24.4.2 # via -r requirements/dev.in -build==1.1.1 +build==1.2.1 # via # -r requirements/dev.in # pip-tools @@ -28,7 +30,7 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.13.3 +filelock==3.14.0 # via # tox # virtualenv @@ -37,27 +39,27 @@ flake8==7.0.0 # -r requirements/dev.in # flake8-bugbear # flake8-typing-imports -flake8-bugbear==24.2.6 +flake8-bugbear==24.4.26 # via -r requirements/dev.in flake8-implicit-str-concat==0.4.0 # via -r requirements/dev.in flake8-typing-imports==1.15.0 # via -r requirements/dev.in -hatchling==1.22.4 +hatchling==1.24.2 # via -r requirements/dev.in -identify==2.5.35 +identify==2.5.36 # via pre-commit importlib-metadata==7.1.0 # via # keyring # twine -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 # via keyring -jaraco-context==4.3.0 +jaraco-context==5.3.0 # via keyring -jaraco-functools==4.0.0 +jaraco-functools==4.0.1 # via keyring -keyring==25.0.0 +keyring==25.2.1 # via twine markdown-it-py==3.0.0 # via rich @@ -83,12 +85,12 @@ pip-tools==7.4.1 # via pip-compile-multi pkginfo==1.10.0 # via twine -platformdirs==4.2.0 +platformdirs==4.2.1 # via # black # tox # virtualenv -pre-commit==3.7.0 +pre-commit==3.7.1 # via -r requirements/dev.in pycodestyle==2.11.1 # via flake8 @@ -96,7 +98,7 @@ pyflakes==3.2.0 # via flake8 pyproject-api==1.6.1 # via tox -pyproject-hooks==1.0.0 +pyproject-hooks==1.1.0 # via # build # pip-tools @@ -112,13 +114,13 @@ rich==13.7.1 # via twine toposort==1.10 # via pip-compile-multi -tox==4.14.2 +tox==4.15.0 # via -r requirements/dev.in -trove-classifiers==2024.3.25 +trove-classifiers==2024.4.10 # via hatchling twine==5.0.0 # via -r requirements/dev.in -virtualenv==20.25.1 +virtualenv==20.26.2 # via # pre-commit # tox diff --git a/requirements/docs.txt b/requirements/docs.txt index d4d666f..6828904 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -8,25 +8,25 @@ -r base.txt alabaster==0.7.16 # via sphinx -babel==2.14.0 +babel==2.15.0 # via sphinx certifi==2024.2.2 # via requests charset-normalizer==3.3.2 # via requests -docutils==0.20.1 +docutils==0.21.2 # via # sphinx # sphinx-mdinclude -idna==3.6 +idna==3.7 # via requests imagesize==1.4.1 # via sphinx -mistune==2.0.5 +mistune==3.0.2 # via sphinx-mdinclude packaging==24.0 # via sphinx -pygments==2.17.2 +pygments==2.18.0 # via # sphinx # sphinx-mdinclude @@ -36,13 +36,13 @@ requests==2.31.0 # via sphinx snowballstemmer==2.2.0 # via sphinx -sphinx==7.2.6 +sphinx==7.3.7 # via # -r requirements/docs.in # sphinx-automodapi sphinx-automodapi==0.17.0 # via -r requirements/docs.in -sphinx-mdinclude==0.5.3 +sphinx-mdinclude==0.6.0 # via -r requirements/docs.in sphinxcontrib-applehelp==1.0.8 # via sphinx diff --git a/requirements/tests.txt b/requirements/tests.txt index 7011cc5..ed714ba 100644 --- a/requirements/tests.txt +++ b/requirements/tests.txt @@ -6,15 +6,15 @@ # pip-compile-multi # -r base.txt -coverage[toml]==7.4.4 +coverage[toml]==7.5.1 # via pytest-cov iniconfig==2.0.0 # via pytest packaging==24.0 # via pytest -pluggy==1.4.0 +pluggy==1.5.0 # via pytest -pytest==8.1.1 +pytest==8.2.0 # via # -r requirements/tests.in # pytest-cov diff --git a/requirements/typing.txt b/requirements/typing.txt index a13cc3a..6e5edd6 100644 --- a/requirements/typing.txt +++ b/requirements/typing.txt @@ -6,15 +6,15 @@ # pip-compile-multi # -r base.txt -mypy==1.9.0 +mypy==1.10.0 # via -r requirements/typing.in mypy-extensions==1.0.0 # via mypy -types-pytz==2024.1.0.20240203 +types-pytz==2024.1.0.20240417 # via -r requirements/typing.in types-pyyaml==6.0.12.20240311 # via -r requirements/typing.in -types-wtforms==3.1.0.20240311 +types-wtforms==3.1.0.20240425 # via -r requirements/typing.in -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via mypy diff --git a/tox.ini b/tox.ini index 02dae80..6b431f8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,7 @@ [tox] envlist = py311 + py312 style typing docs