Structured crop supply monitoring and redistribution planning.
Polaris tracks per-LGU supply imbalances for crops and helps identify transfer opportunities from oversupply areas to shortage areas.
Priority is computed as:
priority = current_supply - ideal_supply
priority > 0: oversupplypriority < 0: shortagepriority = 0: balanced
The repository has been refactored to a layered architecture:
src/agriPolaris/
application/ # use-case orchestration and service layer
cli/ # command-line entrypoints
domain/ # core models, validation, and priority indexing
infrastructure/ # SQLite persistence and schema/migration logic
legacy/ # old data structures kept for compatibility
modules/ # compatibility re-exports for previous imports
supply_monitor.py# backward-compatible facade
pip install -e .Use module entrypoint:
python -m agriPolaris.main --helpor installed script:
agripolaris --helpagripolaris --add --lgu "Your LGU" --crop "Rice" --curr 500 --ideal 300agripolaris --listagripolaris --match --crop "Rice"agripolaris --cgetagripolaris --flush truefrom agriPolaris.application.service import SupplyMonitorService
from agriPolaris.infrastructure.sqlite_repository import SQLiteSupplyRepository
service = SupplyMonitorService(SQLiteSupplyRepository("entries.db"))
service.upsert_supply(lgu="City A", crop="Rice", current_supply=500, ideal_supply=300)