[build-system] requires = ["poetry-core>=1.9"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "django-eav2" description = "Entity-Attribute-Value storage for Django" version = "1.8.4" license = "GNU Lesser General Public License (LGPL), Version 3" packages = [ { include = "eav" } ] authors = [ "Mauro Lizaur ", ] readme = "README.md" repository = "https://github.com/jazzband/django-eav2" keywords = [ "django", "django-eav2", "database", "eav", "sql", ] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules", "Framework :: Django", "Framework :: Django :: 4.2", "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", ] [tool.semantic_release] version_variable = [ "pyproject.toml:version" ] branch = "master" upload_to_pypi = false upload_to_release = false build_command = "pip install poetry && poetry build" [tool.poetry.dependencies] python = "^3.8" django = ">=4.2,<5.2" [tool.poetry.group.test.dependencies] mypy = "^1.6" ruff = ">=0.6.3,<0.9.0" safety = ">=2.3,<4.0" pytest = ">=7.4.3,<9.0.0" pytest-cov = ">=4.1,<6.0" pytest-randomly = "^3.15" pytest-django = "^4.5.2" hypothesis = "^6.87.1" doc8 = ">=0.11.2,<1.2.0" [tool.poetry.group.docs] optional = true [tool.poetry.group.docs.dependencies] sphinx = ">=5.0,<8.0" sphinx-rtd-theme = ">=1.3,<4.0" sphinx-autodoc-typehints = ">=1.19.5,<3.0.0" m2r2 = "^0.3" tomlkit = ">=0.13.0,<0.14" [tool.ruff] line-length = 88 [tool.ruff.lint] select = ["ALL"] ignore = [ "ANN", # Type hints related, let mypy handle these. "ARG", # Unused arguments "D", # Docstrings related "EM101", # "Exception must not use a string literal, assign to variable first" "EM102", # "Exception must not use an f-string literal, assign to variable first" "PD", # Pandas related "Q000", # For now "SIM105", # "Use contextlib.suppress({exception}) instead of try-except-pass" "TRY003", # "Avoid specifying long messages outside the exception class" ] [tool.ruff.lint.flake8-implicit-str-concat] allow-multiline = false [tool.ruff.lint.per-file-ignores] # Allow private member access for Registry "eav/registry.py" = ["SLF001"] # Migrations are special "**/migrations/*" = ["RUF012"] # Sphinx specific "docs/source/conf.py" = ["INP001"] # pytest is even more special "tests/*" = [ "INP001", # "Add an __init__.py" "PLR2004", # "Magic value used in comparison" "PT009", # "Use a regular assert instead of unittest-style" "PT027", # "Use pytest.raises instead of unittest-style" "S101", # "Use of assert detected" "SLF001" # "Private member accessed" ] [tool.ruff.lint.pydocstyle] # Use Google-style docstrings. convention = "google"