Fixes: 1) Ensure logging conditions are guarded by proper vendor and attribute checks; 2) Correct `__str__` method fallback logic for `VendorManager`; Extra: 1) Update dependencies including `docutils` to 0.21.2, `psutil` to 7.1.2, and `pip` to >=25.3; 2) Clean up `pyproject.toml` and `uv.lock` with refined version specifications and added new entries; 3) Refactor import statements and remove redundant code; 4) Upgrade Python version to 3.13 in config.
124 lines
3.5 KiB
TOML
124 lines
3.5 KiB
TOML
[project]
|
|
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 = [{ name = "fureunoir", email = "contact@fureunoir.com" }]
|
|
readme = "README.md"
|
|
requires-python = ">=3.12,<=3.13"
|
|
dependencies = [
|
|
"aiosmtpd==1.4.6",
|
|
"colorlog==6.10.1",
|
|
"click==8.3.0",
|
|
"cryptography==46.0.3",
|
|
"django==5.2.7",
|
|
"django-cacheops==7.2",
|
|
"django-constance==4.3.2",
|
|
"django-cors-headers==4.9.0",
|
|
"django-dbbackup==5.0.0",
|
|
"django-elasticsearch-dsl==8.2",
|
|
"django-extensions==4.1",
|
|
"django-filter==25.2",
|
|
"django-health-check==3.20.0",
|
|
"django-hosts==7.0.0",
|
|
"django-jazzmin==3.0.1",
|
|
"django-json-widget==2.1.0",
|
|
"django-mailbox==4.10.1",
|
|
"django-model-utils==5.0.0",
|
|
"django-modeltranslation==0.19.17",
|
|
"django-mptt==0.18.0",
|
|
"django-prometheus==2.4.1",
|
|
"django-redis==6.0.0",
|
|
"django-ratelimit==4.1.0",
|
|
"django-storages==1.14.6",
|
|
"django-stubs==5.2.7",
|
|
"django-summernote==0.8.20.0",
|
|
"django-widget-tweaks==1.5.0",
|
|
"django-md-field==0.1.0",
|
|
"djangorestframework==3.16.1",
|
|
"djangorestframework-camel-case==1.4.2",
|
|
"djangorestframework-recursive==0.1.2",
|
|
"djangorestframework-simplejwt[crypto]==5.5.1",
|
|
"djangorestframework-stubs==3.16.5",
|
|
"djangorestframework-xml==2.0.0",
|
|
"djangorestframework-yaml==2.0.0",
|
|
"docutils==0.21.2",
|
|
"drf-spectacular[sidecar]==0.28.0",
|
|
"elasticsearch-dsl==8.18.0",
|
|
"filelock==3.20.0",
|
|
"filetype==1.2.0",
|
|
"graphene-django==3.2.3",
|
|
"graphene-file-upload==1.3.0",
|
|
"gunicorn==23.0.0",
|
|
"httpx==0.28.1",
|
|
"paramiko==4.0.0",
|
|
"pillow==12.0.0",
|
|
"polib==1.2.0",
|
|
"PyJWT==2.10.1",
|
|
"python-slugify==8.0.4",
|
|
"psutil==7.1.2",
|
|
"psycopg2==2.9.11",
|
|
"pydantic==2.12.3",
|
|
"pymdown-extensions==10.16.1",
|
|
"redis==7.0.0",
|
|
"requests==2.32.5",
|
|
"sentry-sdk[django,celery,opentelemetry]==2.42.1",
|
|
"six==1.17.0",
|
|
"swapper==1.4.0",
|
|
"zeep==4.3.2",
|
|
"pip>=25.3",
|
|
"coverage>=7.11.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
testing = ["pytest==8.4.2", "pytest-django==4.11.1", "coverage==7.11.0"]
|
|
graph = ["pygraphviz==1.14; sys_platform != 'win32'"]
|
|
worker = [
|
|
"celery==5.5.3",
|
|
"django-celery-beat==2.8.1",
|
|
"django-celery-results==2.6.0",
|
|
"celery-prometheus-exporter==1.7.0",
|
|
]
|
|
openai = ["openai==2.6.1"]
|
|
jupyter = ["jupyter==1.1.1"]
|
|
docs = ["sphinx==8.2.3", "sphinx-rtd-theme==3.0.2", "m2r2==0.3.4"]
|
|
|
|
[dependency-groups]
|
|
testing = ["pytest==8.4.2", "pytest-django==4.11.1", "coverage==7.11.0"]
|
|
linting = [
|
|
"isort==7.0.0",
|
|
"bandit==1.8.6",
|
|
"pre-commit==4.3.0",
|
|
"mypy==1.18.2",
|
|
"mypy-extensions==1.1.0",
|
|
"ruff==0.14.2",
|
|
"celery-stubs==0.1.3",
|
|
]
|
|
dev = [{ include-group = "testing" }, { include-group = "linting" }]
|
|
|
|
[tool.uv]
|
|
package = false
|
|
|
|
[tool.uv.pip]
|
|
python-version = "3.13"
|
|
|
|
[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"
|