Skip to main content

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.

PyPI Python License: MPL-2.0

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_trgm for 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

Part of Entirius

This module runs inside the Entirius backend service (Volkanos), next to the product, pricing and stock modules.

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)

Source distribution for entirius-django-matrix 4.4.1
File Size Uploaded
entirius_django_matrix-4.4.1.tar.gz 304.3 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

This release

4.4.1 This release

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.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