entirius-django-pim
A Django module for product information of Entirius, the open-source modular ecommerce platform: the product catalog behind every sales channel. It stores products, categories, features, attributes and media, and serves them to the admin CMS over a REST API.
What it does
- Stores products per sales channel on top of one shared physical product (SKU, EAN, dimensions).
- Models simple, configurable, bundle and custom products, with categories, features, feature sets and attributes.
- Manages pictures, files, videos and product links.
- Lets products on secondary channels inherit attributes, descriptions and media from a default channel.
- Reports quality gaps: what each product is missing, per channel and language, by configurable rules.
- Exposes an admin REST API with an OpenAPI schema.
Installation
uv add entirius-django-pim
pip install entirius-django-pim
INSTALLED_APPS = [
...
"rest_framework",
"django_regional",
"django_pim",
]
# urls.py
urlpatterns = [
path("", include("django_pim.urls")),
]
The module reads MEDIA_URL, STATIC_URL and TMP_DIR (a directory for file and picture processing) from the
project settings at import time. Optional settings (T9N_DEFAULT_LANG, DEFAULT_CURRENCY, THUMBS_CONFIG,
PIM_GAPS_QUEUE and others) and their defaults are in
https://github.com/entirius/entirius-django-pim/blob/develop/src/django_pim/settings.py
Quick start
from django_pim.services.product_service import get_product_by_sku
product = get_product_by_sku(channel_idx="default", sku="SKU-001")
print(product.visibility, product.is_enabled)
Requirements
- Python 3.11 or newer, Django 5.0 or newer.
- PostgreSQL 15 or newer (
UniqueConstraint(nulls_distinct=False)). - Entirius packages pulled in:
entirius-django-regional,entirius-django-utils,entirius-py-bievents,entirius-py-idx-normalizator,entirius-py-int-enum-choices,entirius-py-image-transformations,entirius-py-process-logger.
Documentation
- Module docs: https://github.com/entirius/entirius-django-pim/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-pim/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos) and is the catalog most other modules build on.
- 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-regional, https://github.com/entirius/entirius-django-utils, https://github.com/entirius/entirius-django-contentdb
Development
make install # sync dependencies (uv)
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-pim/blob/develop/AGENTS.md
License
Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-pim/blob/develop/LICENSE.
Metadata
Release files for entirius-django-pim 3.4.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_pim-3.4.0.tar.gz | 488.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entirius_django_pim-3.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 844.5 kB
Release files / entirius_django_pim-3.4.0.tar.gz
| Download URL | entirius_django_pim-3.4.0.tar.gz |
|---|---|
| Size | 488.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e275f7f786a1719049ce179add8a948b00dfdb1e476409751e432c8ae70f5544
|
|
BLAKE2b-256 checksum How to use checksums |
ea48f7a1451806f0e2d185977abf95e3c58e409cdf44afaf4098d6b8ba4116ce
|
| 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_pim-3.4.0-py3-none-any.whl
| Download URL | entirius_django_pim-3.4.0-py3-none-any.whl |
|---|---|
| Size | 356.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2683118e6d4d1952bc0cd88f4a80e96c8418e15a93bfd06bee4d0105437f4380
|
|
BLAKE2b-256 checksum How to use checksums |
1daad41292312d4bbdeaafc2e2a1272dd67ba111ec9f42941797e3e8d1e22e67
|
| 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}
|