Files
timetracker/pyproject.toml
T
dependabot[bot] ffcc4ba0f3 Bump pytest from 8.4.2 to 9.0.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-07 05:40:56 +00:00

72 lines
1.8 KiB
TOML

[project]
name = "timetracker"
version = "1.7.0"
description = "A simple time tracker."
authors = [{ name = "Lukáš Kucharczyk", email = "lukas@kucharczyk.xyz" }]
requires-python = ">=3.13,<4"
readme = "README.md"
license = "AGPL-3.0-or-later"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"django>6.0",
"gunicorn>=23.0.0,<24",
"uvicorn>=0.30.1,<0.31",
"django-htmx>=1.18.0,<2",
"django-template-partials>=24.2,<25",
"markdown>=3.6,<4",
"django-q2>=1.7.4,<2",
"croniter>=5.0.1,<6",
"requests>=2.32.3,<3",
"pyyaml>=6.0.2,<7",
"django-ninja>=1.6.2",
]
[project.scripts]
timetracker-import = "common.import_data:import_from_file"
[dependency-groups]
dev = [
"mypy>=1.10.1,<2",
"pyyaml>=6.0.1,<7",
"pytest>=9.0.3,<10",
"django-extensions>=3.2.3,<4",
"djhtml>=3.0.6,<4",
"djlint>=1.34.1,<2",
"isort>=5.13.2,<6",
"pre-commit>=3.7.1,<4",
"django-debug-toolbar>=4.4.2,<5",
"ruff",
"pytest-django>=4.12.0",
]
[tool.uv]
[tool.uv.build-backend]
module-name = ["timetracker"]
module-root = ""
[build-system]
requires = ["uv_build>=0.9.26,<0.10.0"]
build-backend = "uv_build"
[tool.ruff]
extend-exclude = [
# TODO: remove this exclusion once the streak feature is actually
# implemented. streak_bruteforce.py is a throwaway exploration script
# (it runs django.setup() before importing models, which trips E402);
# it's excluded for now rather than contorted to satisfy the linter.
"streak_bruteforce.py",
]
[tool.isort]
profile = "black"
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "timetracker.settings"
python_files = ["test_*.py"]