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.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-matrix 4.5.0
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)

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

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