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 | |
|---|---|---|---|
| entirius_django_suppliers-2.1.0.tar.gz | 367.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entirius_django_suppliers-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
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}
|