Environmental Impact Assessment (EIA) compliance platform that automates geospatial analysis, legal rule evaluation, and regulatory change monitoring.
# Install dependencies
pip install -e "backend[dev]"
# Run an analysis
python -m backend.src.main_controller --aoi path/to/aoi.geojson --project-type solar --country DEUMonitors EUR-Lex, BMUV (Germany), and UVAM (Italy) for EIA-relevant regulatory changes.
python scripts/regulatory_monitor.py --run-now # immediate single run
python scripts/regulatory_monitor.py --run-now --dry-run # fetch + classify only, no DB writes or notificationscrontab deploy/regulatory_monitor.cronRuns daily at 06:00 UTC. Logs to logs/regulatory_monitor.log.
python scripts/regulatory_monitor.py # starts in-process scheduler, runs daily at 06:00 UTCpython scripts/verify_rules.py --list # show stale or flagged rules
python scripts/verify_rules.py --verify rules/ITA.yaml # mark rule as verified after review| Variable | Required | Description |
|---|---|---|
| GROQ_API_KEY | yes | Groq API key for document classification |
| GROQ_MODEL | no | Override model (default: llama-3.1-8b-instant) |
| DATABASE_URL | yes | PostgreSQL connection string |
| AETHERA_ADMIN_EMAIL | no | Digest email recipient (default: admin@aethera.app) |
| SMTP_HOST | yes | SMTP server for notifications |
backend/src/ # Core application code
api/ # FastAPI routes and models
config/ # Settings, legal rules, CLC constants
db/ # Database client and schema
analysis/ # Geospatial and ML analysis modules
legal/ # Legal rule evaluation engine
reporting/ # Report generation (Jinja2 templates)
notifications/ # Email and webhook delivery
scripts/ # CLI tools (regulatory_monitor, verify_rules, migrations)
config/ # Feed configuration (regulatory_feeds.yaml)
deploy/ # Deployment artifacts (cron files)
ai/ # ML model definitions
python -m pytest backend/tests/ -v