graph LR
API_Client["API Client"]
Data_Retrieval_Services["Data Retrieval Services"]
Binary_Data_Parser["Binary Data Parser"]
Data_Conversion_Tools["Data Conversion Tools"]
Parsing_Utilities["Parsing Utilities"]
Data_Rounding["Data Rounding"]
Data_Retrieval_Services -- "queries the API" --> API_Client
Data_Conversion_Tools -- "converts binary response" --> Binary_Data_Parser
Data_Conversion_Tools -- "parses binary data" --> API_Client
Data_Retrieval_Services -- "uses for parsing" --> Parsing_Utilities
Binary_Data_Parser -- "uses for parsing" --> Parsing_Utilities
Data_Rounding -- "uses for data manipulation" --> Parsing_Utilities
click API_Client href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/API Client.md" "Details"
click Data_Retrieval_Services href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/Data Retrieval Services.md" "Details"
click Binary_Data_Parser href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/Binary Data Parser.md" "Details"
click Data_Conversion_Tools href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/Data Conversion Tools.md" "Details"
click Parsing_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/Parsing Utilities.md" "Details"
click Data_Rounding href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-connector-api/Data Rounding.md" "Details"
The python-connector-api provides a Python interface for interacting with the Meteomatics weather API. It handles API request construction, data retrieval, binary data parsing, and data conversion into usable formats like Pandas DataFrames. The core functionality revolves around querying the API for various weather data types, parsing the responses, and transforming the data for analysis.
The API Client component is responsible for handling the communication with the Meteomatics API. It manages authentication, constructs API requests, handles SSL and proxy configurations, and manages user features and limits. It serves as the central point for all API interactions, ensuring secure and efficient data retrieval.
Related Classes/Methods:
meteomatics.api:query_api(104:121)meteomatics.api:query_user_features(125:131)meteomatics.api:query_user_limits(134:143)meteomatics.api:handle_ssl(61:71)meteomatics.api:handle_proxy(74:82)
The Data Retrieval Services component provides specialized functions for retrieving different types of weather data from the Meteomatics API. It leverages the API Client to execute requests for time series data, grid data, station lists, lightning data, and other data types. This component abstracts the complexity of querying different data types and provides a consistent interface for accessing weather information.
Related Classes/Methods:
meteomatics.api:query_station_list(161:184)meteomatics.api:query_station_timeseries(187:223)meteomatics.api:query_special_locations_timeseries(226:262)meteomatics.api:query_time_series(265:304)meteomatics.api:query_grid(307:331)meteomatics.api:query_grid_unpivoted(334:368)meteomatics.api:query_grid_timeseries(371:414)meteomatics.api:query_polygon(417:456)meteomatics.api:query_lightnings(459:484)meteomatics.api:query_netcdf(487:528)meteomatics.api:query_init_date(531:562)meteomatics.api:query_available_time_ranges(565:585)meteomatics.api:query_grid_png(588:634)meteomatics.api:query_png_timeseries(637:663)
The Binary Data Parser component is responsible for parsing binary data responses received from the Meteomatics API. It includes classes and methods for parsing different data structures (station, postal, latlon) and reading data from the binary stream. It converts the raw binary data into a usable format for further processing, enabling efficient extraction of information from binary responses.
Related Classes/Methods:
meteomatics.binary_parser.BinaryParser:parse(14:21)meteomatics.binary_parser.BinaryParser:_parse_station(23:25)meteomatics.binary_parser.BinaryParser:_parse_postal(27:29)meteomatics.binary_parser.BinaryParser:_parse_latlon(31:34)meteomatics.binary_reader.BinaryReader:get(50:60)meteomatics.binary_reader.BinaryReader:get_int(62:63)meteomatics.binary_reader.BinaryReader:get_double(65:66)meteomatics.binary_reader.BinaryReader:get_char(68:69)meteomatics.binary_reader.BinaryReader:get_float(71:72)meteomatics.binary_reader.BinaryReader:get_unsigned_long(74:75)meteomatics.binary_reader.BinaryReader:get_string(77:83)meteomatics.binary_reader.BinaryReader:_read_data(30:48)
The Data Conversion Tools component provides tools for converting data from the Meteomatics API into more usable formats, primarily Pandas DataFrames. It includes functions for converting binary time series responses and lightning responses into DataFrames. This component bridges the gap between the raw API data and structured data analysis, facilitating easier manipulation and analysis of weather data.
Related Classes/Methods:
meteomatics.api:convert_time_series_binary_response_to_df(146:152)meteomatics.parsing_util:convert_lightning_response_to_df(152:188)
The Parsing Utilities component offers a collection of utility functions for parsing and processing data, including extracting user statistics, parsing date/time values, and parsing query parameters. These utilities facilitate data manipulation and preparation for further analysis or use, providing reusable functions for common parsing tasks.
Related Classes/Methods:
meteomatics.parsing_util:extract_user_statistics(216:224)meteomatics.parsing_util:parse_date_num(276:278)meteomatics.parsing_util:parse_query_station_params(281:301)meteomatics.parsing_util:parse_query_station_timeseries_params(304:313)meteomatics.parsing_util:parse_time_series_params(316:330)meteomatics.parsing_util:set_index_for_ts(356:390)
The Data Rounding component provides functionality for rounding data within DataFrames, allowing control over the precision of the data. It includes the round_df function, which likely rounds numerical values to a specified number of decimal places, ensuring data consistency and facilitating easier analysis.
Related Classes/Methods: