uo-pyfetch

Urban Observatory Client Library

A lightweight Python client for accessing the Urban Observatory Sensor API.

Author: Neil Harris
Version: 1.0.0

set_base_url

def set_base_url(url: str)

Set the global base URL for all API requests. Automatically prepends http:// if missing.

get_sensors

def get_sensors(limit=1000, offset=0, bbox: Optional[List[float]] = None) -> pd.DataFrame

Get latest sensor locations as a DataFrame (from CSV).

Arguments: Returns: pandas DataFrame

get_sensor_data

def get_sensor_data(start: Optional[datetime] = None,
                    end: Optional[datetime] = None,
                    last_n_hours: Optional[int] = None,
                    last_n_days: Optional[int] = None,
                    variables: Optional[List[str]] = None,
                    bbox: Optional[List[float]] = None,
                    limit: int = 1000,
                    offset: int = 0) -> pd.DataFrame

Get sensor readings as a DataFrame (from CSV).

Arguments: Returns: pandas DataFrame of readings

get_sensor_data_by_name

def get_sensor_data_by_name(sensor_name: str,
                            start: Optional[datetime] = None,
                            end: Optional[datetime] = None,
                            last_n_hours: Optional[int] = None,
                            last_n_days: Optional[int] = None,
                            variables: Optional[List[str]] = None,
                            limit: int = 1000,
                            offset: int = 0) -> pd.DataFrame

Get data for a specific sensor as a DataFrame (from CSV).

Arguments: Returns: pandas DataFrame of readings

get_variables

def get_variables() -> Dict

Get available sensor variables and metadata.

Returns: JSON dict of variable definitions

get_themes

def get_themes() -> Dict

Get available sensor themes (e.g., Air Quality, Weather).

Returns: JSON dict of theme categories