Metadata-Version: 2.5
Name: entirius-django-pricefighter
Version: 1.0.0
Summary: Competitive pricing engine Django module for Volkanos
Project-URL: Repository, https://github.com/entirius/entirius-django-pricefighter
Author: Entirius
Maintainer-email: Piotr Brzozowski <piotrb@entirius.com>, Paweł Kiełt <cptshooter12@gmail.com>, Mateusz Baran <mateuszbaranpv@gmail.com>, Michał Kloczkowski <michal@kloczkowski.pl>
License-Expression: MPL-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: celery>=5.3
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-atlas>=2.0.0
Requires-Dist: entirius-django-pricemanager>=4.2.0
Requires-Dist: entirius-django-regional>=2.0.1
Requires-Dist: entirius-django-utils>=2.0.0
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: pim
Requires-Dist: entirius-django-pim>=3.0.0; extra == 'pim'
Provides-Extra: test
Requires-Dist: dj-database-url; extra == 'test'
Requires-Dist: entirius-django-pim>=3.0.0; 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-pricefighter

Competitive pricing engine for Volkanos. Mirrors PIM products per channel, resolves a
pricing strategy per SKU/market, computes a decision view (gap vs. competitor
observations, recommendation, suggested price), and applies approved decisions through
pricemanager's price-edit path with a full audit snapshot.

## Features

- Channel registry (Pattern 2 scoping channel), synced from PIM
- `ProductRepresentation` per-channel mirror (sku/name/category), synced from PIM
- `PricingRule` — strategy resolution (hold/compete/raise), most-specific-wins scoping
- `QuoteConfig` — quoting parameters per currency × price range
- Decision engine — pure quote pipeline joining prices, costs, bounds, and atlas
  competitor observations into gap + recommendation + suggested price
- Apply flow — writes through pricemanager's `edit_price()`, logs a `PriceDecision`
  audit snapshot per applied decision
- Admin API (v2, JWT protected) — channels, decision view, bounds, history, apply,
  pricing-rule CRUD

## License

MPL-2.0 — see `LICENSE`.
