kopia lustrzana https://github.com/jedie/PyInventory
251 wiersze
7.8 KiB
TOML
251 wiersze
7.8 KiB
TOML
[tool.poetry]
|
|
name = "PyInventory"
|
|
version = "0.18.0"
|
|
description = "Web based management to catalog things including state and location etc. using Python/Django."
|
|
authors = [
|
|
"Jens Diemer <PyInventory@jensdiemer.de>",
|
|
]
|
|
maintainers = [
|
|
"Jens Diemer <PyInventory@jensdiemer.de>",
|
|
]
|
|
homepage = "https://github.com/jedie/PyInventory"
|
|
packages = [
|
|
{ include = "inventory", from = "src" },
|
|
{ include = "inventory_project", from = "src" },
|
|
]
|
|
keywords=['inventory','django']
|
|
classifiers = [
|
|
# http://pypi.python.org/pypi?%3Aaction=list_classifiers
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: Web Environment",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
'Framework :: Django',
|
|
"Topic :: Database :: Front-Ends",
|
|
"Topic :: Documentation",
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
"Topic :: Internet :: WWW/HTTP :: Site Management",
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
|
|
"Operating System :: OS Independent",
|
|
]
|
|
include = ['AUTHORS', 'LICENSE']
|
|
license = "GPL-3.0-or-later"
|
|
readme = 'README.md'
|
|
[tool.poetry.urls]
|
|
"Bug Tracker" = "https://github.com/jedie/PyInventory/issues"
|
|
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.9,<4.0.0" # Stay with 3.9 until YunoHost used >=Debian 11 (Bullseye)
|
|
|
|
django = "<4.2" # FIXME: https://github.com/jedie/django-processinfo/issues/19
|
|
|
|
colorlog = "*" # https://github.com/borntyping/python-colorlog
|
|
gunicorn = "*" # https://github.com/benoimyproject.wsgitc/gunicorn
|
|
django-processinfo = "*" # https://github.com/jedie/django-processinfo/
|
|
django-debug-toolbar = "*" # http://django-debug-toolbar.readthedocs.io/en/stable/changes.html
|
|
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-ckeditor = "*" # https://github.com/django-ckeditor/django-ckeditor
|
|
bx_py_utils = "*" # https://github.com/boxine/bx_py_utils
|
|
bx_django_utils = "*" # https://github.com/boxine/bx_django_utils
|
|
django-tagulous = "*" # https://github.com/radiac/django-tagulous
|
|
django-admin-sortable2 = "*" # https://github.com/jrief/django-admin-sortable2
|
|
django-axes = "*" # https://github.com/jazzband/django-axes
|
|
requests = "*" # https://github.com/psf/requests
|
|
pillow = "*"
|
|
|
|
docker-compose = { version = "*", optional = true } # install via: poetry install --extras "docker"
|
|
|
|
psycopg2-binary = { version = "*", optional = true } # install via: poetry install --extras "postgres-binary"
|
|
psycopg2 = { version = "*", optional = true } # install via: poetry install --extras "psycopg2-source"
|
|
|
|
|
|
[tool.poetry.extras]
|
|
postgres-binary = ["psycopg2-binary"]
|
|
psycopg2-source = ["psycopg2"]
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
dev_shell = "*" # https://github.com/jedie/dev-shell
|
|
cmd2_ext_test = "*"
|
|
pytest = "*"
|
|
pytest-randomly = "*"
|
|
pytest-cov = "*"
|
|
pytest-django = "*"
|
|
pytest-playwright = "*" # https://playwright.dev/python/docs/test-runners
|
|
pyupgrade = "*"
|
|
model_bakery = "*" # https://github.com/model-bakers/model_bakery
|
|
beautifulsoup4 = "*"
|
|
lxml = "*"
|
|
requests-mock = "*"
|
|
tox = "*" # https://github.com/tox-dev/tox
|
|
coveralls = "*" # http://github.com/TheKevJames/coveralls-python
|
|
flake8 = "*" # https://github.com/pycqa/flake8
|
|
EditorConfig = "*" # https://github.com/editorconfig/editorconfig-core-py
|
|
safety = "*" # https://github.com/pyupio/safety
|
|
mypy = "*" # https://github.com/python/mypy
|
|
twine = "*" # https://github.com/pypa/twine
|
|
poetry-publish = "*" # https://github.com/jedie/poetry-publish
|
|
|
|
# https://github.com/akaihola/darker
|
|
# https://github.com/ikamensh/flynt
|
|
# https://github.com/pycqa/isort
|
|
# https://github.com/pygments/pygments
|
|
darker = { version = "*", extras = ["flynt", "isort", "color"]}
|
|
|
|
tomli = "*" # https://github.com/hukkin/tomli
|
|
# tomli only needed for Python <3.11, but see bug:
|
|
# https://github.com/pypa/pip/issues/9644#issuecomment-1456583402
|
|
#tomli = {version = "*", markers = "python_version < \"3.11\""} # https://github.com/hukkin/tomli
|
|
|
|
[tool.poetry.scripts]
|
|
devshell = 'inventory_project.dev_shell:devshell_cmdloop'
|
|
run_testserver = 'inventory_project.manage:start_test_server'
|
|
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
|
|
[tool.darker]
|
|
src = ['.']
|
|
revision = "origin/main..."
|
|
line_length = 119
|
|
verbose = true
|
|
color = true
|
|
skip_string_normalization = true
|
|
diff = false
|
|
check = false
|
|
stdout = false
|
|
isort = true
|
|
flynt = 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/*","*/volumes/*"]
|
|
known_first_party=["inventory","inventory_project","inventory_tests"]
|
|
line_length=119
|
|
lines_after_imports=2
|
|
|
|
|
|
[tool.coverage.run]
|
|
branch = false # coverage.exceptions.DataError: Can't combine arc data with line data
|
|
parallel = true
|
|
source = ['.']
|
|
concurrency = ["multiprocessing"]
|
|
command_line = "-m unittest --locals --verbose"
|
|
|
|
[tool.coverage.report]
|
|
omit = ['.*', '*/tests/*']
|
|
skip_empty = true
|
|
fail_under = 30
|
|
show_missing = true
|
|
exclude_lines = [
|
|
'if self.debug:',
|
|
'pragma: no cover',
|
|
'raise NotImplementedError',
|
|
'if __name__ == .__main__.:',
|
|
]
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
# https://docs.pytest.org/en/latest/customize.html#pyproject-toml
|
|
minversion = "6.0"
|
|
DJANGO_SETTINGS_MODULE="inventory_project.settings.tests"
|
|
|
|
# Don't overwrite settings.DEBUG:
|
|
django_debug_mode="keep"
|
|
|
|
markers = [
|
|
"playwright: marks Playwright tests",
|
|
]
|
|
|
|
norecursedirs = ".* .git __pycache__ coverage* dist htmlcov volumes"
|
|
# sometimes helpfull "addopts" arguments:
|
|
# -vv
|
|
# --verbose
|
|
# --capture=no
|
|
# --trace-config
|
|
# --full-trace
|
|
# -p no:warnings
|
|
# -m "not playwright"
|
|
addopts = """
|
|
--ignore-glob=deployment/django/*
|
|
--reuse-db
|
|
--nomigrations
|
|
--cov=.
|
|
--cov-report term-missing
|
|
--cov-report xml
|
|
--no-cov-on-fail
|
|
--showlocals
|
|
--doctest-modules
|
|
--failed-first
|
|
--last-failed-no-failures all
|
|
--new-first
|
|
-p no:randomly
|
|
"""
|
|
# TODO: --mypy
|
|
|
|
|
|
[tool.tox] # https://tox.wiki/en/latest/config.html#pyproject-toml
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
isolated_build = True
|
|
envlist = py{311,310,39}
|
|
skip_missing_interpreters = True
|
|
|
|
[testenv]
|
|
passenv = *
|
|
whitelist_externals = poetry
|
|
commands =
|
|
python --version
|
|
poetry run django-admin --version
|
|
python devshell.py pytest
|
|
"""
|
|
|
|
|
|
[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']
|
|
|
|
|
|
[manageprojects] # https://github.com/jedie/manageprojects
|
|
initial_revision = "b33d693"
|
|
initial_date = 2022-12-21T22:53:08+01:00
|
|
cookiecutter_template = "https://github.com/jedie/cookiecutter_templates/"
|
|
cookiecutter_directory = "poetry-python"
|
|
applied_migrations = [
|
|
"183124a", # 2023-04-04T12:26:15+02:00
|
|
]
|
|
|
|
[manageprojects.cookiecutter_context.cookiecutter]
|
|
full_name = "Jens Diemer"
|
|
github_username = "jedie"
|
|
author_email = "PyInventory@jensdiemer.de"
|
|
package_name = "PyInventory"
|
|
package_version = "0.18.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/"
|