Skip to main content

entirius-django-contentdb

A Django module for page content of Entirius, the open-source modular ecommerce platform: structured JSON pages with a draft/publish workflow. It serves routes, images, channel-scoped content and blog authors over a REST API for the storefront and the CMS.

PyPI Python License: MPL-2.0

What it does

  • Stores page content as structured JSON (sections and tiles) with a draft/publish lifecycle.
  • Maps URL routes to published content and scopes content per sales channel and language.
  • Uploads images with content-addressed deduplication, resizing and thumbnails.
  • Manages blog authors and co-authors on drafts.
  • Exposes a read-only public API for storefronts and an admin API for the CMS.

Installation

uv add entirius-django-contentdb
pip install entirius-django-contentdb
INSTALLED_APPS = [
    ...
    "django_regional",
    "django_utils",
    "django_pim",
    "django_contentdb",
]

# urls.py
urlpatterns = [
    path("", include("django_contentdb.urls")),
]

Optional settings: CONTENTDB_THUMBNAIL_QUALITY, CONTENTDB_IMAGE_MAX_WIDTH, API_ADMIN_BASE_URL, API_PUBLIC_BASE_URL; reference with defaults in https://github.com/entirius/entirius-django-contentdb/blob/develop/AGENTS.md (section Settings).

Quick start

from django_contentdb.services.navigation_service import get_published_navigation

navigation = get_published_navigation(
    content_type_slug="header",
    language_iso2="en",
    channel_idx="default",
)

Requirements

  • Python 3.11 or newer, Django 4.0 or newer.
  • PostgreSQL (published-content queries use DISTINCT ON).
  • Entirius packages pulled in: entirius-django-pim, entirius-django-regional, entirius-django-utils, entirius-py-idx-normalizator, entirius-py-image-transformations.

Documentation

Part of Entirius

This module runs inside the Entirius backend service (Volkanos), next to the product and regional 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-contentdb/blob/develop/AGENTS.md

License

Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-contentdb/blob/develop/LICENSE.

Metadata

Release files for entirius-django-contentdb 5.2.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-contentdb 5.2.0
File Size Uploaded
entirius_django_contentdb-5.2.0.tar.gz 213.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-contentdb 5.2.0
File Interpreter ABI Platform
entirius_django_contentdb-5.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 333.8 kB

Release files / entirius_django_contentdb-5.2.0.tar.gz

Download URL entirius_django_contentdb-5.2.0.tar.gz
Size 213.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c77574463750a1301f3357fd532003e0e56d9f95d91fa9084b97d17549b865f0
BLAKE2b-256 checksum
How to use checksums
0bdbf67717865c8fb6293f7fe441da29604f37b45fde190fc11dbc79f752049e
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_contentdb-5.2.0-py3-none-any.whl

Download URL entirius_django_contentdb-5.2.0-py3-none-any.whl
Size 120.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1afe886cdfcc863c57c655689e1390e966291e39f56a664334ae057c5cb4876d
BLAKE2b-256 checksum
How to use checksums
31f6ac27a30bf4031df37ccdd4c2ef55f3ccece9d8d323d09bfc4d616b23e648
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

5.2.0 This release

2 release files

5.1.0

2 release files

5.0.1

2 release files

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