Skip to main content

entirius-django-reviews

A Django module for product reviews and ratings in Entirius, the open-source modular ecommerce platform. It gives the storefront a REST API to submit and list reviews, lets staff moderate them, keeps an average rating per product, and can export reviews to Magento.

PyPI Python License: MPL-2.0

What it does

  • Accepts reviews with one or more rating criteria and lists them per sales channel.
  • Moderates reviews in the Django admin and over a key-protected API.
  • Recalculates the average rating and the number of reviews per product.
  • Imports reviews and ratings from CSV.
  • Exports reviews to Magento when the magento extra is installed.

Installation

uv add entirius-django-reviews
pip install entirius-django-reviews
INSTALLED_APPS = [
    ...
    "django_utils",
    "django_pim",
    "django_accounts",
    "django_reviews",
]

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

Required settings: BI_ENVIRONMENT and BI_BUSINESS_UNIT (read at import). Every other setting has a default; reference: https://github.com/entirius/entirius-django-reviews/blob/develop/AGENTS.md (section Settings).

The Magento export is an extra:

uv add "entirius-django-reviews[magento]"

Moderation calls send the key in the X-API-KEY header. Where django_access is installed the key is an access token with the scope reviews.moderate:

python manage.py access_token create --application reviews-moderation --create-application --scope reviews.moderate --channel default

Without django_access, python manage.py reviews-generate-api-key creates the key.

Quick start

from django_reviews.worker.manage_reviews import calculate_reviews

calculate_reviews()  # recalculate average ratings from the accepted reviews

Requirements

  • Python 3.11 or newer, Django 5.0 or newer.
  • Entirius packages pulled in: entirius-django-utils, entirius-django-pim, entirius-django-accounts, entirius-py-bievents, entirius-py-process-logger.

Documentation

Part of Entirius

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

Development

make install     # sync dependencies (uv)
make check       # lint + format check (ruff)
make test        # test suite (pytest + pytest-django)

Development and agent instructions: https://github.com/entirius/entirius-django-reviews/blob/develop/AGENTS.md

License

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

Metadata

Release files for entirius-django-reviews 3.0.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-reviews 3.0.0
File Size Uploaded
entirius_django_reviews-3.0.0.tar.gz 240.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-reviews 3.0.0
File Interpreter ABI Platform
entirius_django_reviews-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 279.3 kB

Release files / entirius_django_reviews-3.0.0.tar.gz

Download URL entirius_django_reviews-3.0.0.tar.gz
Size 240.6 kB
Tags Source
SHA-256 checksum
How to use checksums
87f914fa023581e26aa8f360ed6f848a1845564e369c98e3abf3db141839c61f
BLAKE2b-256 checksum
How to use checksums
d31a7a5283323c1a117b97c4acf10b5281aec55edd7241bcc15e11b0b3e860b7
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_reviews-3.0.0-py3-none-any.whl

Download URL entirius_django_reviews-3.0.0-py3-none-any.whl
Size 38.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ca8ed1bb54cc53d30497ffe35cb648b7e3a54ebd88639a9a5e16c4332602688
BLAKE2b-256 checksum
How to use checksums
85e5d04b80d03c633797e72ef0495539a64a90ba125d445137de3fdd5835269c
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

3.0.0 This release

2 release files

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