Metadata-Version: 2.4
Name: entirius-django-omnibus
Version: 3.0.1
Summary: Omnibus (EU price directive) lowest-price tracking for Volkanos: price history and omnibus price calculation
Project-URL: Repository, https://github.com/entirius/entirius-django-omnibus
Author: Entirius
License-Expression: MPL-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: django>=5.0
Requires-Dist: entirius-django-checkout>=9.0.0
Requires-Dist: entirius-django-pim>=3.0.0
Requires-Dist: entirius-django-pricemanager>=4.0.1
Requires-Dist: entirius-py-bievents>=2.0.0
Requires-Dist: entirius-py-idx-normalizator>=2.0.0
Requires-Dist: marshmallow
Requires-Dist: marshmallow-dataclass
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: test
Requires-Dist: dj-database-url; extra == 'test'
Requires-Dist: psycopg[binary]; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-django; extra == 'test'
Description-Content-Type: text/markdown

# entirius-django-omnibus

Omnibus (EU price directive) lowest-price tracking for Volkanos: keeps a product price history
and computes the lowest price of the last 30 days across non-exclusive, admin-flagged
omnibus promotions. Integrates with `django_checkout` (cart discount rules),
`django_pricemanager` (price lists) and `django_pim` (product data).

## Installation

```shell
pip install entirius-django-omnibus
```

## Configuration

Optional settings (see `src/django_omnibus/settings.py`): `BULK_SIZE_OMNIBUS`,
`APPLIED_SPECIAL_PRICE_WHEN_NULL_VALIDITY_DATES`, `PRICELIST_OMNIBUS_FILTER_DATE_MECHANISM`.

## Development

```shell
make install   # uv sync (incl. extras)
make test      # run tests
make check     # ruff lint + format-check
```

## Docs

Functional description: `docs/README.md`.

## License

MPL-2.0
