Releases: rxradar/israeli-prices
Releases · rxradar/israeli-prices
Release list
v0.2.0 — Compare products across chains (GTIN helpers)
Compare across chains
Barcoded products share the same GTIN barcode everywhere, so it is the natural key for lining the same SKU up across chains.
group_by_gtin({"super-pharm": sp, "shufersal": sh}, min_sources=2)— join the same product across chains, canonicalizing UPC-12 / EAN-13 to GTIN-14 so encoding differences don't split one product in two.item.gtin(canonical GTIN-14, orNone) anditem.is_barcodedon every price/promotion row.gtinrides along inmodel_dump()/to_df()/ JSON as the join key.to_gtin14()/is_valid_gtin()as standalone helpers.
item_code stays raw and faithful to the source; loose/weighted goods (fresh produce, deli — no shared barcode) resolve to None by design.
Thanks to the PyWeb-IL community for the nudge.
v0.1.1
israeli-prices 0.1.0
Initial release.
- 31 of the 32 chains on the government price-transparency roster, every one verified live end to end (the last one's portal is down).
- Five portal families: self-hosted (Shufersal, Super-Pharm, Wolt, Carrefour, Hatzi Hinam), Cerberus (13 chains), Bina (10 chains), Laib (3 chains).
- Typed models (pydantic) for prices, promotions and stores; grouped and flat promotion dialects normalized; Decimal prices, Hebrew preserved.
- Handles the wild: UTF-16 and BOM'd files, ZIP archives under .gz names, expiring signed URLs, session expiry re-login, placeholder NULL files, legacy file-name timestamps.
- Nightly automated per-chain health check: docs/health.md
- Optional pandas export (
.to_df()), proxy support for the five geo-restricted portals.
pip install israeli-prices