Spaces:
Running
Running
File size: 2,041 Bytes
b81a86b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | """
AgriFlow Data Sources Package
==============================
Connector untuk semua sumber data eksternal yang dipakai matching engine.
Modules:
pihps_bi — Harga harian Tier 1 IHK (BI PIHPS)
bapanas — Harga mingguan Tier 2 (Bapanas Panel Harga)
bps — IPM 2024 + produksi (BPS WebAPI)
bmkg — Forecast cuaca (BMKG + Open-Meteo fallback)
pvmbg — Erupsi gunung api (PVMBG MAGMA)
bnpb — Bencana aktif (BNPB DIBI)
google_maps — Routing (Google Routes API + OSRM fallback)
hijri_calendar — Detect Ramadan/Idul Fitri (Aladhan + hardcoded)
Setiap connector punya:
- Real mode (live API)
- Mock mode (offline, baca sample_data CSV)
- Fallback handling (graceful degradation)
Usage standar di engine:
from data_sources import (
get_pihps_prices, get_bapanas_weekly, get_ipm_jatim,
get_route_weather, get_unreachable_kabupaten,
)
"""
from .pihps_bi import PIHPSConnector, get_pihps_prices, TIER1_KOTA_IHK
from .bapanas import BapanasConnector, get_bapanas_weekly
from .bps import BPSConnector, IPM_2024_JATIM, get_ipm_jatim
from .bmkg import WeatherConnector, get_route_weather
from .pvmbg import PVMBGConnector, get_unreachable_kabupaten, GUNUNG_KABUPATEN_MAP
from .bnpb import BNPBConnector, get_disaster_affected_kabupaten
from .google_maps import RouteConnector, get_route
from .hijri_calendar import HijriCalendarConnector, is_ramadan_period
__all__ = [
# PIHPS
"PIHPSConnector", "get_pihps_prices", "TIER1_KOTA_IHK",
# Bapanas
"BapanasConnector", "get_bapanas_weekly",
# BPS
"BPSConnector", "IPM_2024_JATIM", "get_ipm_jatim",
# BMKG
"WeatherConnector", "get_route_weather",
# PVMBG
"PVMBGConnector", "get_unreachable_kabupaten", "GUNUNG_KABUPATEN_MAP",
# BNPB
"BNPBConnector", "get_disaster_affected_kabupaten",
# Routing
"RouteConnector", "get_route",
# Hijri
"HijriCalendarConnector", "is_ramadan_period",
]
|