Quick Start Guide¶
Basic Usage¶
Python API¶
First, import the necessary clients:
from vayuayan import CPCBHistorical, CPCBLive, PM25Client
AQI Data (Historical)¶
Get historical air quality data:
# Initialize AQI client
aqi_client = CPCBHistorical()
# Get list of available states
states = aqi_client.get_state_list()
print(states)
# Get cities in a state
cities = aqi_client.get_city_list("Maharashtra")
print(cities)
# Get stations in a city
stations = aqi_client.get_station_list("Mumbai")
print(stations)
# Download city-level data for a year
aqi_client.download_past_year_AQI_data_cityLevel("Mumbai", "2024", "mumbai_aqi.csv")
Live AQI Data¶
Get real-time air quality data:
# Initialize Live AQI client
live_client = CPCBLive()
# Get your system location
location = live_client.get_system_location()
print(f"Your location: {location}")
# Find nearest monitoring station
nearest_station = live_client.get_nearest_station()
print(f"Nearest station: {nearest_station}")
# Get live AQI data
live_data = live_client.get_live_aqi_data()
print(live_data)
PM2.5 Data¶
Get PM2.5 data for geographic regions:
# Initialize PM2.5 client
pm25_client = PM25Client()
# Get PM2.5 stats for a GeoJSON region
stats = pm25_client.get_pm25_stats("region.geojson", 2024, 3)
print(f"PM2.5 statistics: {stats}")
Command Line Interface¶
List Available Data¶
# List all states
vayuayan list_states
# List cities in Maharashtra
vayuayan list_cities "Maharashtra"
# List stations in Mumbai
vayuayan list_stations "Mumbai"
Download Historical Data¶
# Download city-level AQI data
vayuayan city_data --city "Mumbai" --year 2024 --path "mumbai_aqi.csv"
# Download station-level AQI data
vayuayan station_data --station_id "site_5964" --year 2024 --path "station_aqi.csv"
Live Data Access¶
# Get your current location
vayuayan locate_me
# Find nearest station
vayuayan nearest_station
# Get live AQI data
vayuayan live_aqi --path "current_aqi.json"
# Get live AQI for specific coordinates
vayuayan live_aqi --lat 19.0760 --lon 72.8777 --path "mumbai_aqi.json"
PM2.5 Regional Data¶
# Get PM2.5 data for a region
vayuayan pm25 --geojson_path "region.geojson" --year 2024 --month 3 --combine
Error Handling¶
The library includes robust error handling:
from vayuayan import CPCBHistorical
from vayuayan.exceptions import NetworkError
client = CPCBHistorical()
try:
data = client.get_state_list()
except NetworkError as e:
print(f"Network error occurred: {e}")
except Exception as e:
print(f"Unexpected error: {e}")
Next Steps¶
Explore the API Reference for detailed API documentation
Check out Examples for more advanced usage patterns
See Command Line Interface for complete command line options