Metadata-Version: 2.4
Name: entirius-django-pricemanager
Version: 4.0.1
Summary: Price management for the Volkanos ecommerce platform: product prices across countries, currencies, channels, and tax regimes
Project-URL: Repository, https://github.com/entirius/entirius-django-pricemanager
Author: Entirius
License-Expression: MPL-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: celery-once>=3.0.1
Requires-Dist: celery>=5.2.6
Requires-Dist: django>=5.0
Requires-Dist: djangorestframework-simplejwt>=5.3
Requires-Dist: djangorestframework>=3.14
Requires-Dist: drf-spectacular>=0.27
Requires-Dist: entirius-django-regional>=2.0.1
Requires-Dist: entirius-django-utils>=2.0.0
Requires-Dist: entirius-py-bievents>=2.0.0
Requires-Dist: entirius-py-idx-normalizator>=2.0.0
Requires-Dist: entirius-py-int-enum-choices>=2.0.0
Requires-Dist: entirius-py-lockfile>=2.0.0
Requires-Dist: entirius-py-process-logger>=2.0.0
Requires-Dist: pydantic>=2.0
Requires-Dist: tqdm
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: factory-boy; extra == 'test'
Requires-Dist: psycopg[binary]; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-django; extra == 'test'
Requires-Dist: pytest-mock; extra == 'test'
Description-Content-Type: text/markdown

# Django Price Manager

Price management for the Volkanos ecommerce platform: product prices across countries, currencies,
channels, and tax regimes. CurrentPrice + PriceHistory architecture with a legacy snapshot model
(PriceList/Price) kept for the dual-write transition.

## Quick Start

Requires Python 3.11+ and PostgreSQL 15+.

```bash
make install                     # uv sync, incl. extras
make test                        # pytest against DATABASE_URL
```

Tests read `DATABASE_URL` (default `postgresql://postgres:postgres@localhost:5432/test` —
matches the CI service).

### Other commands

```bash
make check    # ruff check + format-check
make fix      # auto-fix lint + format
```

## Usage

Add `django_pricemanager` to `INSTALLED_APPS` (requires `django_regional`). Admin API mounts at
`api/pricemanager/v2/admin/`. Optional integrations: `django_pim` (channel sync) and
`django_suppliers` (purchase costs) — both soft imports, no-ops when absent.

## Celery queues

- `pricemanager_create_pricelist`

## Details

See `AGENTS.md` for architecture, data model, API contract, and gotchas.
