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.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-matrix 4.4.0
File Size Uploaded
entirius_django_matrix-4.4.0.tar.gz 299.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-matrix 4.4.0
File Interpreter ABI Platform
entirius_django_matrix-4.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 493.8 kB

Release files / entirius_django_matrix-4.4.0.tar.gz

Download URL entirius_django_matrix-4.4.0.tar.gz
Size 299.8 kB
Tags Source
SHA-256 checksum
How to use checksums
78ac6a07544bca219910919d7a7f2f9d5a4ca99f7d6b29aff7e00ad2aa4ee67a
BLAKE2b-256 checksum
How to use checksums
8bd6d835cba90f657a3cb5134ce19fb1e3089d69f6edce3b9057488e4835d0c7
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.0-py3-none-any.whl

Download URL entirius_django_matrix-4.4.0-py3-none-any.whl
Size 194.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee2859079bfe561c14c0a3493694d0a7dc3532c64be86c60b5126ba924b50cd6
BLAKE2b-256 checksum
How to use checksums
a2ce3004c82d0439141c35a3ca356fad246bbd85810ba7462f471b7a836a9808
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

4.4.1

2 release files

This release

4.4.0 This release

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