[tool.poetry] name = "PyInventory" version = "0.14.0" description = "Web based management to catalog things including state and location etc. using Python/Django." authors = ["JensDiemer "] 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', 'README.creole'] # Will be generated from README.creole with: 'poetry run update_rst_readme' readme='README.rst' # FIXME: Invalid value for project_urls. Error: Use valid URL. #[tool.poetry.urls] #"Bug Tracker" = "https://github.com/jedie/PyInventory/issues" license = "GPL" [tool.poetry.dependencies] # Keep Python 3.7 until Yunohost contains a newer Python Version ;) python = ">=3.7,<4.0.0" django = "*" 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 = ">=0.49.0" # 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] docker = ["docker-compose"] postgres-binary = ["psycopg2-binary"] psycopg2-source = ["psycopg2"] [tool.poetry.dev-dependencies] dev_shell = "*" # https://github.com/jedie/dev-shell poetry-publish = "*" # https://github.com/jedie/poetry-publish python-creole = "*" # https://github.com/jedie/python-creole cmd2_ext_test = "*" tox = "*" pytest = "*" pytest-randomly = "*" pytest-cov = "*" pytest-django = "*" pytest-parallel = "*" pytest-darker = "*" # https://github.com/akaihola/pytest-darker pytest-flake8 = "*" pytest-isort = "*" # TODO: pytest-mypy = "*" pytest-playwright = "*" # https://playwright.dev/python/docs/test-runners coveralls = "*" isort = "*" flake8 = "*" flynt = "*" darker = "*" # https://github.com/akaihola/darker pyupgrade = "*" model_bakery = "*" # https://github.com/model-bakers/model_bakery beautifulsoup4 = "*" lxml = "*" requests-mock = "*" [tool.poetry.scripts] devshell = 'inventory_project.dev_shell:devshell_cmdloop' run_testserver = 'inventory_project.manage:start_test_server' [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.darker] src = ['.'] revision = "origin/main..." line_length = 100 verbose = true skip_string_normalization = true diff = false check = false stdout = false isort = true lint = [ "flake8", ] log_level = "INFO" [tool.flynt] line_length = 100 [tool.isort] # https://pycqa.github.io/isort/docs/configuration/config_files/#pyprojecttoml-preferred-format atomic=true profile='black' line_length=100 skip_glob=[".*", "*/htmlcov/*","*/migrations/*","*/volumes/*"] known_first_party=["inventory","inventory_project","inventory_tests"] lines_after_imports=2 [tool.coverage.run] omit = [".*"] [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 --darker --doctest-modules --failed-first --last-failed-no-failures all --new-first -p no:randomly """ # TODO: --mypy [tool.tox] # https://tox.readthedocs.io/en/latest/example/basic.html#pyproject-toml-tox-legacy-ini legacy_tox_ini = """ [tox] isolated_build = True envlist = py{37,38,39,310} skip_missing_interpreters = True [testenv] passenv = * whitelist_externals = pytest commands = pytest --workers auto --tests-per-worker 1 --pyargs inventory inventory_project """