[project] description = "A Django application designed to track IT inventory of multiple customers." authors = [ {name = "Andreas Zweili", email = "andreas@zweili.ch"}, ] dependencies = [ "Django>=4.1.3", "django-crispy-forms>=1.14,<2.0.0", # version 2 breaks tests "django-filter>=23.2", "django-floppyforms>=1.9.0", "django-guardian>=2.4.0", "django-htmx>=1.16.0", "django-model-utils>=4.3.1", "django-nested-admin>=4.0.2", "django-tables2>=2.4.1,<2.6.0", # version 2.6 breaks tests "gunicorn>=21.2.0", "psycopg2-binary>=2.9.7", "PyYAML>=6.0.1", "setuptools>=68.1.2", ] requires-python = ">=3.10" license = {text = "GPLv3+"} classifiers = [ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", ] [tool.pylint] max-line-length = 88 load-plugins = [ "pylint_django", ] [tool.mypy] exclude = [ "tests/", ] plugins = ["mypy_django_plugin.main"] mypy_path = "./src" # Start off with these warn_unused_configs = true warn_redundant_casts = true warn_unused_ignores = true # Getting these passing should be easy strict_equality = true strict_concatenate = true # Strongly recommend enabling this one as soon as you can #check_untyped_defs = true # These shouldn't be too much additional work, but may be tricky to # get passing if you use a lot of untyped libraries #disallow_subclassing_any = true #disallow_untyped_decorators = true #disallow_any_generics = true [tool.django-stubs] django_settings_module = "network_inventory.settings.local" [[tool.mypy.overrides]] module = [ "nested_admin.*", "django_tables2.*", "floppyforms.*", "django_filters.*", "crispy_forms.*", "mixer.*", "guardian.*", ] ignore_missing_imports = true [tool.pdm.dev-dependencies] linting = [ "black>=23.7.0", "django-stubs>=4.2.3", "mypy>=1.5.1", "pylint>=2.17.5", "pylint-django>=2.5.3", ] test = [ "coverage>=7.3.0", "mixer>=7.2.2", "pytest>=7.4.0", "pytest-cov>=4.1.0", "pytest-django>=4.5.2", "pytest-xdist>=3.3.1", "python-lsp-server>=1.7.4", ]