Skip to main content

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.

PyPI Python License: MPL-2.0

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

Part of Entirius

This module runs inside the Entirius backend service (Volkanos) and is the catalog most other modules build on.

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.5.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-pim 3.5.0
File Size Uploaded Provenance Actions
entirius_django_pim-3.5.0.tar.gz 511.5 kB Without provenance Details for entirius_django_pim-3.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-pim 3.5.0
File Interpreter ABI Platform Actions
entirius_django_pim-3.5.0-py3-none-any.whl Python 3 none any Details for entirius_django_pim-3.5.0-py3-none-any.whl

Total release size: 876.3 kB

Release files / entirius_django_pim-3.5.0.tar.gz

Download URL entirius_django_pim-3.5.0.tar.gz
Size 511.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a54e6b152c1bc262eedf0276687010698e2e3c9db1c41953b81e2584ce7a860a
BLAKE2b-256 checksum
How to use checksums
046781c114a5da0cf7f60d5e4da6040e0e31dc2d2576b23e1cd739b5f61819d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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.5.0-py3-none-any.whl

Download URL entirius_django_pim-3.5.0-py3-none-any.whl
Size 364.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
605b6396acaf2d733a926fbe80763618dc2133cfa522dd8c11da6a43b1407bd6
BLAKE2b-256 checksum
How to use checksums
27c55f66897656070f208154c556dd0f7d62751e36507f4d1ee2e4fbc59d3716
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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-pim 3.5.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.

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