ci(tox): add tox config

This commit is contained in:
Kristofers Solo 2024-09-12 13:58:01 +03:00
parent 65fed7812f
commit 6f41a6cf9d
4 changed files with 53 additions and 3 deletions

1
.gitignore vendored
View File

@ -5,6 +5,7 @@ build/
dist/ dist/
wheels/ wheels/
*.egg-info *.egg-info
.tox/
# venv # venv
.venv .venv

View File

@ -4,7 +4,7 @@ version = "0.1.0"
description = "Bunyan Formatter for Python" description = "Bunyan Formatter for Python"
dependencies = [] dependencies = []
readme = "README.md" readme = "README.md"
requires-python = ">= 3.8" requires-python = ">=3.12"
authors = [{ name = "Kristofers Solo", email = "dev@kristofers.xyz" }] authors = [{ name = "Kristofers Solo", email = "dev@kristofers.xyz" }]
[build-system] [build-system]
@ -13,7 +13,13 @@ build-backend = "hatchling.build"
[tool.rye] [tool.rye]
managed = true managed = true
dev-dependencies = ["mypy~=1.11", "ruff~=0.6", "pre-commit~=3.8", "pytest~=8.3"] dev-dependencies = [
"mypy~=1.11",
"ruff~=0.6",
"pre-commit~=3.8",
"pytest~=8.3",
"tox~=4.18",
]
[tool.hatch.metadata] [tool.hatch.metadata]
allow-direct-references = true allow-direct-references = true
@ -25,7 +31,7 @@ packages = ["src/bunyan_formatter"]
show-fixes = true show-fixes = true
line-length = 120 line-length = 120
indent-width = 4 indent-width = 4
target-version = "py38" target-version = "py312"
[tool.ruff.lint] [tool.ruff.lint]
extend-select = [ extend-select = [

View File

@ -10,11 +10,18 @@
# universal: false # universal: false
-e file:. -e file:.
cachetools==5.5.0
# via tox
cfgv==3.4.0 cfgv==3.4.0
# via pre-commit # via pre-commit
chardet==5.2.0
# via tox
colorama==0.4.6
# via tox
distlib==0.3.8 distlib==0.3.8
# via virtualenv # via virtualenv
filelock==3.16.0 filelock==3.16.0
# via tox
# via virtualenv # via virtualenv
identify==2.6.0 identify==2.6.0
# via pre-commit # via pre-commit
@ -26,17 +33,25 @@ mypy-extensions==1.0.0
nodeenv==1.9.1 nodeenv==1.9.1
# via pre-commit # via pre-commit
packaging==24.1 packaging==24.1
# via pyproject-api
# via pytest # via pytest
# via tox
platformdirs==4.3.2 platformdirs==4.3.2
# via tox
# via virtualenv # via virtualenv
pluggy==1.5.0 pluggy==1.5.0
# via pytest # via pytest
# via tox
pre-commit==3.8.0 pre-commit==3.8.0
pyproject-api==1.7.1
# via tox
pytest==8.3.3 pytest==8.3.3
pyyaml==6.0.2 pyyaml==6.0.2
# via pre-commit # via pre-commit
ruff==0.6.4 ruff==0.6.4
tox==4.18.1
typing-extensions==4.12.2 typing-extensions==4.12.2
# via mypy # via mypy
virtualenv==20.26.4 virtualenv==20.26.4
# via pre-commit # via pre-commit
# via tox

28
tox.ini Normal file
View File

@ -0,0 +1,28 @@
[tox]
envlist = py312, format, lint, type, test
skipsdist = True
[testenv]
deps =
hatchling
-rrequirements-dev.lock
[testenv:format]
description = Run ruff to format the code
skip_install = true
deps = ruff
commands = ruff format
[testenv:lint]
description = Run ruff to lint the code
skip_install = true
deps = ruff
commands = ruff check --fix
[testenv:type]
description = Run mypy to check type annotations
commands = mypy .
[testenv:test]
description = Run pytest to execute the tests
commands = pytest