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.4.1
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_matrix-4.4.1.tar.gz | 304.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entirius_django_matrix-4.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 499.8 kB
Release files / entirius_django_matrix-4.4.1.tar.gz
| Download URL | entirius_django_matrix-4.4.1.tar.gz |
|---|---|
| Size | 304.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5878bbccaadfa4e9181baad5e7fe29b4616dcbe9f889c4616c22d85e3776c628
|
|
BLAKE2b-256 checksum How to use checksums |
cc460639e1856337095a55700ee8d22a2c07d76e608202c88a7610eda79e2cad
|
| 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_matrix-4.4.1-py3-none-any.whl
| Download URL | entirius_django_matrix-4.4.1-py3-none-any.whl |
|---|---|
| Size | 195.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8213f4cecdcd5cfec6fb2efd5824d902bb56e20b195399721ccb94c87629937d
|
|
BLAKE2b-256 checksum How to use checksums |
484167d8513a88ca325e2006120a4f326634c537b9aff7b7af2638ca3981278c
|
| 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}
|