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.
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_csvmanagement 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
- Module docs: https://github.com/entirius/entirius-django-qms/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-qms/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos) and feeds stock to the checkout and the catalog.
- Backend service: https://github.com/entirius/entirius-service-volkanos
- Docker harness: https://github.com/entirius/entirius-zeno
- Sibling modules: https://github.com/entirius/entirius-django-checkout, https://github.com/entirius/entirius-django-pim
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)
| File | Size | Uploaded | |
|---|---|---|---|
| entirius_django_qms-4.1.0.tar.gz | 160.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|