PyInventory/pyproject.toml

200 wiersze
6.6 KiB
TOML

[project]
name = "PyInventory"
dynamic = ["version"]
description = "Web based management to catalog things including state and location etc. using Python/Django."
license = {text = "GPL-3.0-or-later"}
readme = "README.md"
authors = [
{name = 'Jens Diemer', email = 'PyInventory@jensdiemer.de'}
]
keywords=['inventory','django']
requires-python = ">=3.11"
dependencies = [
# Stay with Django v5.1.x until https://github.com/radiac/django-tagulous/issues/187 is fixed
"django!=5.2.0", # https://docs.djangoproject.com
"colorlog", # https://github.com/borntyping/python-colorlog
"gunicorn", # https://github.com/benoimyproject.wsgitc/gunicorn
"django-import-export", # https://github.com/django-import-export/django-import-export
"django-dbbackup", # https://github.com/django-dbbackup/django-dbbackup
"django-tools", # https://github.com/jedie/django-tools/
"django-reversion-compare", # https://github.com/jedie/django-reversion-compare/
"django-tinymce", # https://github.com/jazzband/django-tinymce/
"django-tagulous", # https://github.com/radiac/django-tagulous
"django-admin-sortable2", # https://github.com/jrief/django-admin-sortable2
"pillow", # https://github.com/jrief/django-admin-sortable2
"requests", # https://github.com/psf/requests
"django-debug-toolbar", # http://django-debug-toolbar.readthedocs.io/en/stable/changes.html
"bx_py_utils", # https://github.com/boxine/bx_py_utils
"bx_django_utils", # https://github.com/boxine/bx_django_utils
"django-axes", # https://github.com/jazzband/django-axes
]
[dependency-groups]
dev = [
"django-debug-toolbar", # http://django-debug-toolbar.readthedocs.io/en/stable/changes.html
"manage_django_project", # https://github.com/jedie/manage_django_project
# TODO: "autocron", # https://github.com/kbr/autocron
"cmd2_ext_test", # https://github.com/python-cmd2/cmd2/tree/master/plugins/ext_test
"beautifulsoup4", # https://www.crummy.com/software/BeautifulSoup/
'lxml', # https://github.com/lxml/lxml
"uv", # https://github.com/astral-sh/uv
"playwright", # https://github.com/microsoft/playwright-python
"tblib", # https://github.com/ionelmc/python-tblib
"coverage", # https://github.com/nedbat/coveragepy
"autopep8", # https://github.com/hhatto/autopep8
"pyupgrade", # https://github.com/asottile/pyupgrade
"flake8", # https://github.com/pycqa/flake8
"flake8-bugbear", # https://github.com/PyCQA/flake8-bugbear
"pyflakes", # https://github.com/PyCQA/pyflakes
"codespell", # https://github.com/codespell-project/codespell
"EditorConfig", # https://github.com/editorconfig/editorconfig-core-py
"pip-audit", # https://github.com/pypa/pip-audit
"mypy", # https://github.com/python/mypy
"twine", # https://github.com/pypa/twine
"pre-commit", # https://github.com/pre-commit/pre-commit
"typeguard", # https://github.com/agronholm/typeguard/
# setuptools use by "publish" command:
"setuptools", # https://github.com/pypa/setuptools
# https://github.com/akaihola/darker
# https://github.com/ikamensh/flynt
# https://github.com/pycqa/isort
# https://github.com/pygments/pygments
"darker[flynt, isort, color]",
"model_bakery", # https://github.com/model-bakers/model_bakery
"requests-mock", # https://github.com/jamielennox/requests-mock
"django-override-storage", # https://github.com/danifus/django-override-storage
]
[project.urls]
Documentation = "https://github.com/jedie/PyInventory"
Source = "https://github.com/jedie/PyInventory"
[project.scripts]
# Must be set in ./manage.py and PROJECT_SHELL_SCRIPT:
inventory_project = "inventory_project.__main__:main"
[manage_django_project]
module_name="inventory_project"
# Django settings used for all commands except test/coverage/tox:
local_settings='inventory_project.settings.local'
# Django settings used for test/coverage/tox commands:
test_settings='inventory_project.settings.tests'
[tool.cli_base]
version_module_name = "inventory" # Used by update_readme_history()
[tool.cli_base.pip_audit]
requirements=["requirements.dev.txt"]
strict=true
require_hashes=true
ignore-vuln=[
# "CVE-2019-8341", # Jinja2: Side Template Injection (SSTI)
]
[build-system]
requires = ["setuptools>=61.0", "setuptools_scm>=7.1"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["inventory*", "inventory_project*"]
[tool.setuptools.dynamic]
version = {attr = "inventory.__version__"}
[tool.darker]
src = ['.']
revision = "origin/main..."
line_length = 119
color = true
skip_string_normalization = true
diff = false
check = false
stdout = false
isort = true
lint = [
"flake8",
]
log_level = "INFO"
[tool.isort]
# https://pycqa.github.io/isort/docs/configuration/config_files/#pyprojecttoml-preferred-format
atomic=true
profile='black'
skip_glob=['.*', '*/htmlcov/*','*/migrations/*']
known_first_party=['inventory']
line_length=119
lines_after_imports=2
[tool.coverage.run] # https://coverage.readthedocs.io/en/latest/config.html#run
branch = true
parallel = true
concurrency = ["multiprocessing"]
source = ['.']
command_line = '-m unittest --verbose --locals --buffer'
[tool.coverage.report]
omit = ['.*', '*/tests/*', '*/migrations/*']
skip_empty = true
fail_under = 30
show_missing = true
exclude_lines = [
'if self.debug:',
'pragma: no cover',
'raise NotImplementedError',
'if __name__ == .__main__.:',
]
[tool.mypy]
warn_unused_configs = true
ignore_missing_imports = true
allow_redefinition = true # https://github.com/python/mypy/issues/7165
show_error_codes = true
plugins = []
exclude = ['.venv', 'tests', 'migrations']
[manageprojects] # https://github.com/jedie/manageprojects
initial_revision = "7cece02"
initial_date = 2023-07-15T16:37:28+02:00
cookiecutter_template = "https://github.com/jedie/cookiecutter_templates/"
cookiecutter_directory = "managed-django-project"
applied_migrations = [
"141b3e4", # 2024-09-05T17:53:31+02:00
"a36dd75", # 2025-03-23T11:39:23+01:00
]
[manageprojects.cookiecutter_context.cookiecutter]
full_name = "Jens Diemer"
github_username = "jedie"
author_email = "PyInventory@jensdiemer.de"
package_name = "inventory"
package_version = "0.21.0"
package_description = "Web based management to catalog things including state and location etc. using Python/Django."
package_url = "https://github.com/jedie/PyInventory"
issues_url = "https://github.com/jedie/PyInventory/issues"
license = "GPL-3.0-or-later"
_template = "https://github.com/jedie/cookiecutter_templates/"
applied_migrations = [
"8d0ebe1", # 2023-08-17T18:15:10+02:00
]