Fixes: 1) Correct admin list_filter configurations with appropriate DALF fields; Extra: 1) Update PyCharm project settings to use Google-style docstrings.
125 lines
No EOL
3.8 KiB
TOML
125 lines
No EOL
3.8 KiB
TOML
[tool.poetry]
|
||
name = "eVibes"
|
||
version = "2.8.10"
|
||
description = "eVibes is an open-source eCommerce backend service built with Django. It’s designed for flexibility, making it ideal for various use cases and learning Django skills. The project is easy to customize, allowing for straightforward editing and extension."
|
||
authors = ["fureunoir <contact@fureunoir.com>"]
|
||
readme = "README.md"
|
||
package-mode = false
|
||
|
||
[tool.poetry.dependencies]
|
||
aiosmtpd = "1.4.6"
|
||
celery = { version = "5.5.3", optional = true }
|
||
celery-prometheus-exporter = { version = "1.7.0", optional = true }
|
||
colorlog = "6.9.0"
|
||
click = "8.2.1"
|
||
cryptography = "45.0.4"
|
||
dalf = "0.3.0"
|
||
django = "5.2"
|
||
django-cacheops = "7.2"
|
||
django-celery-beat = { version = "2.8.1", optional = true }
|
||
django-celery-results = { version = "2.6.0", optional = true }
|
||
django-constance = "4.3.2"
|
||
django-cors-headers = "4.7.0"
|
||
django-dbbackup = "4.3.0"
|
||
django-elasticsearch-dsl = "8.0"
|
||
django-elasticsearch-dsl-drf = "0.22.5"
|
||
django-extensions = "4.1"
|
||
django-filter = "25.1"
|
||
django-health-check = "3.20.0"
|
||
django-hosts = "6.0"
|
||
django-jazzmin = "3.0.1"
|
||
django-json-widget = "2.0.1"
|
||
django-mailbox = "4.10.1"
|
||
django-model-utils = "5.0.0"
|
||
django-modeltranslation = "0.19.15"
|
||
django-mptt = "0.17.0"
|
||
django-prometheus = "2.3.1"
|
||
django-redis = "6.0.0"
|
||
django-ratelimit = "4.1.0"
|
||
django-storages = "1.14.6"
|
||
django-stubs = "5.2.1"
|
||
django-summernote = "0.8.20.0"
|
||
django-widget-tweaks = "1.5.0"
|
||
django-md-field = "0.1.0"
|
||
djangorestframework = "3.16.0"
|
||
djangorestframework-camel-case = "1.4.2"
|
||
djangorestframework-recursive = "0.1.2"
|
||
djangorestframework-simplejwt = { extras = ["crypto"], version = "5.5.0" }
|
||
djangorestframework-stubs = "3.16.0"
|
||
djangorestframework-xml = "2.0.0"
|
||
djangorestframework-yaml = "2.0.0"
|
||
docutils = "0.21.2"
|
||
drf-spectacular = { extras = ["sidecar"], version = "0.28.0" }
|
||
elasticsearch = "8.18.1"
|
||
elasticsearch-dsl = "8.18.0"
|
||
filelock = "3.18.0"
|
||
filetype = "1.2.0"
|
||
graphene-django = "3.2.3"
|
||
graphene-file-upload = "1.3.0"
|
||
gunicorn = "23.0.0"
|
||
httpx = "0.28.1"
|
||
jupyter = { version = "1.1.1", optional = true }
|
||
mypy = "1.16.1"
|
||
openai = { version = "1.88.0", optional = true }
|
||
paramiko = "3.5.1"
|
||
pillow = "11.2.1"
|
||
polib = "1.2.0"
|
||
poetry-core = "2.1.3"
|
||
PyJWT = "2.9.0"
|
||
python = ">=3.12,<3.13"
|
||
python-slugify = "8.0.4"
|
||
psutil = "6.1.1"
|
||
psycopg2 = "2.9.10"
|
||
pydantic = "2.9.2"
|
||
pygraphviz = { version = "1.14", optional = true, markers = "sys_platform != 'win32'" }
|
||
pymdown-extensions = "10.15"
|
||
redis = "6.2.0"
|
||
requests = "2.32.4"
|
||
ruff = "0.12.0"
|
||
sentry-sdk = { extras = ["django", "celery", "opentelemetry", "redis"], version = "2.27.0" }
|
||
six = "1.17.0"
|
||
swapper = "1.4.0"
|
||
yapf = "0.43.0"
|
||
zeep = "4.3.1"
|
||
|
||
[tool.poetry.group.dev.dependencies]
|
||
black = "25.1.0"
|
||
celery-stubs = "0.1.3"
|
||
isort = "6.0.1"
|
||
flake8 = "7.2.0"
|
||
mypy-extensions = "1.1.0"
|
||
pytest = "8.4.1"
|
||
pytest-django = "4.11.1"
|
||
coverage = "7.9.1"
|
||
pre-commit = "4.2.0"
|
||
bandit = "1.8.5"
|
||
|
||
[tool.poetry.extras]
|
||
graph = ["pygraphviz"]
|
||
worker = ["celery", "django-celery-beat", "django-celery-results", "celery-prometheus-exporter"]
|
||
openai = ["openai"]
|
||
jupyter = ["jupyter"]
|
||
docs = ["sphinx", "sphinx-rtd-theme", "m2r2"]
|
||
testing = ["pytest", "pytest-django", "coverage"]
|
||
linting = ["black", "isort", "flake8", "bandit"]
|
||
|
||
[tool.mypy]
|
||
disable_error_code = ["import-untyped", "misc"]
|
||
exclude = ["*/migrations/*", "./evibes/settings/drf.py"]
|
||
|
||
[tool.ruff]
|
||
line-length = 120
|
||
target-version = "py312"
|
||
exclude = ["migrations", "media", "static", "storefront"]
|
||
|
||
[tool.ruff.lint]
|
||
select = ["E", "W", "F", "B", "I", "RUF", "UP", "N", "A", "COM", "C4", "DJ001", "RSE", "SIM", "ISC", "TID252", "PGH004"]
|
||
ignore = ["B904", "RUF001", "RUF002", "RUF003", "RUF005", "RUF012", "A003", "A002", "COM812", "S603"]
|
||
per-file-ignores = { "__init__.py" = ["E402", "F401"] }
|
||
|
||
[tool.ruff.format]
|
||
quote-style = "double"
|
||
indent-style = "space"
|
||
|
||
[tool.yapf]
|
||
based_on_style = "pep8" |