entirius-django-suppliers
A Django module for supplier integrations of Entirius, the open-source modular ecommerce platform. It keeps a supplier registry, imports supplier feeds into a staging table, lets an operator review the candidates, pushes approved products to the catalog once, and then refreshes cost, quantity and physical attributes.
What it does
- Imports supplier feeds (XML and scraper connectors, more through entry points) into a review queue.
- Maps supplier fields, attributes and categories to the catalog through mapping profiles with value modifiers.
- Pushes approved products to the catalog per sales channel and keeps the supplier attribution.
- Matches new supplier products to existing catalog products by EAN and selects a preferred supplier per product.
- Refreshes cost, stock and physical attributes on a delta schedule; content stays with the curator.
- Records every field change in an audit log and exposes an admin API (JWT, Pydantic schemas, OpenAPI).
Installation
uv add entirius-django-suppliers
pip install entirius-django-suppliers
Optional extras: entirius-django-suppliers[qms] (stock writes to the warehouse module; without it they are skipped).
INSTALLED_APPS = [
...
"django_utils",
"django_regional",
"django_pim",
"django_suppliers",
]
# urls.py
urlpatterns = [
path("", include("django_suppliers.urls")),
]
Settings (SUPPLIER_*), the runtime settings singleton, Celery queues and the beat schedule:
https://github.com/entirius/entirius-django-suppliers/blob/develop/docs/configuration.md
Quick start
from django_suppliers.services.supplier_service import list_active_suppliers
for supplier in list_active_suppliers():
print(supplier.idx)
python manage.py execute_supplier_feed --supplier-idx acme --feed-idx main --mode full
python manage.py supplier_status
Requirements
- Python 3.11 or newer, Django 5.0 or newer, PostgreSQL.
- A Celery worker consuming the
supplier_default,supplier_imagesandsupplier_resultsqueues. - Entirius packages pulled in:
entirius-django-pim,entirius-django-regional,entirius-django-utils.
Documentation
- Module docs: https://github.com/entirius/entirius-django-suppliers/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-suppliers/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos) and writes into the product catalog.
- Backend service: https://github.com/entirius/entirius-service-volkanos
- Docker harness: https://github.com/entirius/entirius-zeno
- Sibling modules: https://github.com/entirius/entirius-django-pim, https://github.com/entirius/entirius-django-atlas, https://github.com/entirius/entirius-django-regional
Development
make install # sync dependencies (uv, incl. extras)
make check # lint + format check (ruff)
make test # test suite (pytest + pytest-django, needs PostgreSQL via DATABASE_URL)
Development and agent instructions: https://github.com/entirius/entirius-django-suppliers/blob/develop/AGENTS.md
License
Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-suppliers/blob/develop/LICENSE.
Metadata
Release files for entirius-django-suppliers 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| entirius_django_suppliers-2.1.0.tar.gz | 367.0 kB | Without provenance | Details for entirius_django_suppliers-2.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| entirius_django_suppliers-2.1.0-py3-none-any.whl | Python 3 | none | any | Details for entirius_django_suppliers-2.1.0-py3-none-any.whl |
Total release size: 568.5 kB
Release files / entirius_django_suppliers-2.1.0.tar.gz
| Download URL | entirius_django_suppliers-2.1.0.tar.gz |
|---|---|
| Size | 367.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
206d8de5d124f4c78c84d1b0efb9ffcaf2a30f4b9cbcb4aa822929836c898c20
|
|
BLAKE2b-256 checksum How to use checksums |
9d5c5c087806cf3e773a972453cf8ac8df628e7d60ebdff9cc10f1467859f85a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / entirius_django_suppliers-2.1.0-py3-none-any.whl
| Download URL | entirius_django_suppliers-2.1.0-py3-none-any.whl |
|---|---|
| Size | 201.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1cc627a03eb69a31577cdf36526bd21cd3959791fbec70f1ee29f8a817f5a8b3
|
|
BLAKE2b-256 checksum How to use checksums |
e95af2be701869786a8ce1fea2cdc25e69c257703b89c22efe606cb733d3df53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for entirius-django-suppliers 2.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.