Skip to main content

entirius-django-qms

A Django module for stock quantities in Entirius, the open-source modular ecommerce platform. It keeps stock per warehouse and SKU, imports it from CSV files, and passes every change on to the checkout and the product catalog.

PyPI Python License: MPL-2.0

What it does

  • Models warehouses, the sales channels they serve and the stock of each SKU in each warehouse.
  • Imports stock from CSV files with the warehouse_import_csv management command.
  • Exposes an admin REST API for warehouses and their stock, used by the CMS.
  • Sends a signal on every stock change; optional handlers update the checkout and the product catalog when those modules are installed.
  • Runs standalone: the checkout and catalog integrations are skipped when the modules are missing.

Installation

uv add entirius-django-qms
pip install entirius-django-qms
INSTALLED_APPS = [
    ...
    "django_utils",
    "django_qms",
]

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

The Celery tasks and the legacy pipelines need BI_ENVIRONMENT and BI_BUSINESS_UNIT (read when their event definitions are imported). Optional settings (QMS_BULK_BATCH_SIZE, QMS_SUPPLIER_CODE_PREFIX) are listed with their defaults in https://github.com/entirius/entirius-django-qms/blob/develop/docs/configuration.md.

Quick start

from django_qms.services.warehouse_service import bulk_upsert_stock, get_warehouse

warehouse = get_warehouse("wh-main")
bulk_upsert_stock(warehouse, [{"sku": "SKU-1", "quantity": 12}])

The same from a CSV file: python manage.py warehouse_import_csv --warehouse-code wh-main --file stock.csv.

Requirements

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

Documentation

Part of Entirius

This module runs inside the Entirius backend service (Volkanos) and feeds stock to the checkout and the catalog.

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-qms/blob/develop/AGENTS.md

License

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

Metadata

Release files for entirius-django-qms 4.1.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-qms 4.1.0
File Size Uploaded
entirius_django_qms-4.1.0.tar.gz 160.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-qms 4.1.0
File Interpreter ABI Platform
entirius_django_qms-4.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 236.0 kB

Release files / entirius_django_qms-4.1.0.tar.gz

Download URL entirius_django_qms-4.1.0.tar.gz
Size 160.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8a828a72c57e2812bd8fd7737213b04178c2fa925955dc4791de04a591bcb6fb
BLAKE2b-256 checksum
How to use checksums
59907bd45e1a9b840b0b4d29c90426462e79df6ce2b35eb4bd11b159444d1c33
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_qms-4.1.0-py3-none-any.whl

Download URL entirius_django_qms-4.1.0-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b73e2becbc3c6ad28e487680849e63337cc29e17126ae3c99d5359cf4fdc247c
BLAKE2b-256 checksum
How to use checksums
06dcf185a6c0dbcd6b92b34f5b5e161803b02de8eb04e5d933d39cfe8b50b378
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.1.0 This release

2 release files

4.0.2

2 release files

4.0.1

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