125 lines
No EOL
3.6 KiB
TOML
125 lines
No EOL
3.6 KiB
TOML
[tool.poetry]
|
|
name = "eVibes"
|
|
version = "3.1.0"
|
|
description = "eVibes — your store without the extra baggage. Everything works out of the box: storefront, product catalog, cart, and orders. Minimal complexity, maximum flexibility — install, adjust to your needs, and start selling."
|
|
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-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]
|
|
strict = false
|
|
disable_error_code = ["import-untyped", "no-redef"]
|
|
exclude = "(^|[\\/])(migrations|storefront)([\\/]|$)"
|
|
plugins = ["mypy_django_plugin.main", "mypy_drf_plugin.main"]
|
|
|
|
[tool.django-stubs]
|
|
django_settings_module = "evibes.settings"
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py312"
|
|
exclude = ["media", "static", "storefront"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E4", "E7", "E9", "F", "B", "Q"]
|
|
ignore = ["RUF012", "A002", "A003"]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space" |