Skip to main content

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.

PyPI Python License: MPL-2.0

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_images and supplier_results queues.
  • Entirius packages pulled in: entirius-django-pim, entirius-django-regional, entirius-django-utils.

Documentation

Part of Entirius

This module runs inside the Entirius backend service (Volkanos) and writes into the product catalog.

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)

Source distribution for entirius-django-suppliers 2.1.0
File Size Uploaded
entirius_django_suppliers-2.1.0.tar.gz 367.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-suppliers 2.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page