Fixes: 1) Adjusted modeltranslation admin import to use external jQuery variant; 2) Corrected optional flags for package dependencies in poetry.lock; Extra: 1) Removed custom PostAdminForm in favor of SummernoteModelAdmin; 2) Enhanced formatting consistency in api_urls and admin files.
118 lines
No EOL
3.6 KiB
TOML
118 lines
No EOL
3.6 KiB
TOML
[tool.poetry]
|
||
name = "eVibes"
|
||
version = "2.8.9"
|
||
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"
|
||
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-daisy = "1.0.26"
|
||
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-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"
|
||
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"
|
||
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"
|
||
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 = "py38"
|
||
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" |