entirius-django-matrix
A Django module that keeps the storefront read model of Entirius, the open-source modular ecommerce platform. It holds a denormalized, per-channel projection of the product catalog — translations, prices and stock — and serves it to the storefront over a versioned REST API with faceted, full-text and trigram search.
What it does
- Keeps one product representation per sales channel, with translations, prices and stock.
- Serves product listings, product details, categories, options, prices and stock to the storefront.
- Searches the catalog with facets, PostgreSQL full-text search and optional trigram (fuzzy) matching.
- Fills the read model from the product, pricing and stock modules with worker jobs and management commands.
- Degrades gracefully when an optional source module (stock, prices, omnibus prices, reviews) is not installed; stock, prices and reviews also when the module is installed but not enabled.
Installation
uv add entirius-django-matrix
pip install entirius-django-matrix
INSTALLED_APPS = [
...
"django.contrib.postgres",
"django_utils",
"django_regional",
"django_pim",
"django_matrix",
]
# urls.py
urlpatterns = [
path("", include("django_matrix.urls")),
]
No setting is required: every setting has a default. Reference with defaults: https://github.com/entirius/entirius-django-matrix/blob/develop/docs/configuration.md
Optional integrations are extras: qms (stock), pricemanager (prices), checkout (real-time stock updates),
omnibus (lowest recent price), reviews (average rating).
uv add "entirius-django-matrix[qms,pricemanager]"
Quick start
# urls.py
from django.urls import include, path
urlpatterns = [
path("", include("django_matrix.urls")),
]
python manage.py migrate
python manage.py fill-read-model
Requirements
- Python 3.11 or newer, Django 5.0 or newer.
- PostgreSQL (GIN indexes, full-text search;
pg_trgmfor fuzzy search). - Entirius packages pulled in:
entirius-django-utils,entirius-django-pim,entirius-django-regional,entirius-py-magento2-sdk2,entirius-py-idx-normalizator,entirius-py-bievents,entirius-py-process-logger.
Documentation
- Module docs: https://github.com/entirius/entirius-django-matrix/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-matrix/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos), next to the product, pricing and stock modules.
- 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-pricemanager, https://github.com/entirius/entirius-django-qms
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-matrix/blob/develop/AGENTS.md
License
Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-matrix/blob/develop/LICENSE.
Metadata
Release files for entirius-django-matrix 4.5.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_matrix-4.5.0.tar.gz | 309.7 kB | Without provenance | Details for entirius_django_matrix-4.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| entirius_django_matrix-4.5.0-py3-none-any.whl | Python 3 | none | any | Details for entirius_django_matrix-4.5.0-py3-none-any.whl |
Total release size: 506.3 kB
Release files / entirius_django_matrix-4.5.0.tar.gz
| Download URL | entirius_django_matrix-4.5.0.tar.gz |
|---|---|
| Size | 309.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4e1c71a7faf98a2fe3e7b25e4aa75c0e7709353856d89c1229fcaf007917b56
|
|
BLAKE2b-256 checksum How to use checksums |
6d2d867d0157df494a7e98cda88ecdcafd709ab3566fadb9b124044f5d0b4514
|
| 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_matrix-4.5.0-py3-none-any.whl
| Download URL | entirius_django_matrix-4.5.0-py3-none-any.whl |
|---|---|
| Size | 196.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4717a7d28d29f5bc03a1cf3d6c7dc5d954fdd35ef2342cba1ba72dea9222399d
|
|
BLAKE2b-256 checksum How to use checksums |
f07369e9b03804ca54946be4381ac45418633e0132a1752c38e27a90b6e9567c
|
| 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-matrix 4.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.