pyaro py-aerocom reader objects
Project description
pyaro - Airquality Reader-interface for Observations
The library that solves the mystery of reading airquality measurement databases. (Pronounciation as in French: Poirot)
About
Pyaro is an interface which uses a simple access pattern to different air-pollution databases. The goal of pyro was threefold.
- A simple interface for different types of air-pollution databases
- A programatic interface to these databases easily usable by large applications like PyAerocom
- Easy extension for air-pollution database providers or programmers giving the users (1. or 2.) direct access their databases without the need of a new API.
A few existing implementations of pyaro can be found at pyaro-readers.
Installation
python -m pip install 'pyaro@git+https://github.com/metno/pyaro.git'
This will install pyaro and all its dependencies (numpy).
Usage
import pyaro.timeseries
TEST_FILE = "csvReader_testdata.csv"
engines = pyaro.list_timeseries_engines()
# {'csv_timeseries': <pyaro.csvreader.CSVTimeseriesReader.CSVTimeseriesEngine object at 0x7fcbe67eab00>}
print(engines['csv_timeseries'].args)
# ('filename', 'columns', 'variable_units', 'csvreader_kwargs', 'filters')
print(pyaro.timeseries.filters.list)
# immutable dict of all filter-names to filter-classes
print(engines['csv_timeseries'].supported_filters())
# list of filter-classes supported by this reader
print(pyaro.timeseries.filters.list)
with engines['csv_timeseries'].open(
filename=TEST_FILE,
filters={'countries': {include=['NO']}}
) as ts:
for var in ts.variables():
# stations
ts.data(var).stations
# start_times
ts.data(var).start_times
# stop_times
ts.data(var).end_times
# latitudes
ts.data(var).latitudes
# longitudes
ts.data(var).longitudes
# altitudes
ts.data(var).altitudes
# values
ts.data(var).values
# flags
ts.data(var).flags
# if pandas is installed, data can be converted to a pandas Dataframe
df = pyaro.timeseries_data_to_pd(data)
Supported readers
- csv_timeseries Reader for all tables readable with the python csv module. The reader supports reading from a single local file, with csv-parameters added on the command-line.
Usage - csv_timeseries
import pyaro.timeseries
TEST_FILE = "csvReader_testdata.csv"
engine = pyaro.list_timeseries_engines()["csv_timeseries"]
ts = engine.open(TEST_FILE, filters=[], fill_country_flag=False)
print(ts.variables())
# stations
ts.data('SOx').stations
# start_times
ts.data('SOx').start_times
# stop_times
ts.data('SOx'.end_times
# latitudes
ts.data('SOx').latitudes
# longitudes
ts.data('SOx').longitudes
# altitudes
ts.data('SOx').altitudes
# values
ts.data('SOx').values
COPYRIGHT
Copyright (C) 2023 Heiko Klein, Daniel Heinesen, Norwegian Meteorological Institute
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, see https://www.gnu.org/licenses/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyaro-0.0.13.tar.gz
.
File metadata
- Download URL: pyaro-0.0.13.tar.gz
- Upload date:
- Size: 35.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2ed52ac457a1207c21faf10f6505646391bc73cf1fac8a4d5ce5c252dc92380 |
|
MD5 | 7388fd8612d90a62e2684b8bea7923e6 |
|
BLAKE2b-256 | 17f1dd18cb4cf3a134d693eb9e026fe36a2eac8cab03193380d861a120a76f25 |
Provenance
The following attestation bundles were made for pyaro-0.0.13.tar.gz
:
Publisher:
publish.yml
on metno/pyaro
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyaro-0.0.13.tar.gz
- Subject digest:
d2ed52ac457a1207c21faf10f6505646391bc73cf1fac8a4d5ce5c252dc92380
- Sigstore transparency entry: 145067944
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyaro-0.0.13-py3-none-any.whl
.
File metadata
- Download URL: pyaro-0.0.13-py3-none-any.whl
- Upload date:
- Size: 34.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5acd3ea8703c5e8e1d7b25175c03167a30a1f40e0fdb94bec7e535a78ee52a |
|
MD5 | ac46fb85ff325c295fefafb540bacca7 |
|
BLAKE2b-256 | ef2d4289fbff15533968ab7046b77a54e3eab457f7721f66aa23ebf423f29fd4 |
Provenance
The following attestation bundles were made for pyaro-0.0.13-py3-none-any.whl
:
Publisher:
publish.yml
on metno/pyaro
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyaro-0.0.13-py3-none-any.whl
- Subject digest:
8c5acd3ea8703c5e8e1d7b25175c03167a30a1f40e0fdb94bec7e535a78ee52a
- Sigstore transparency entry: 145067946
- Sigstore integration time:
- Predicate type: