
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Hydropandas is a Python package for reading, analyzing and writing (hydrological) timeseries.
The HydroPandas package provides convenient read functions from various sources. The table below lists all API-accessible sources. Click a link in the first column for the documentation. The "API available" column indicates current availability (updated weekly).
source | observations | API available | location |
---|---|---|---|
BRO | Groundwater | Netherlands | |
KNMI | Meteorological | Netherlands | |
Lizard (Vitens) | Groundwater | Netherlands (Vitens) | |
Lizard (Rotterdam) | Groundwater | Rotterdam | |
Waterconnect | Groundwater | South Australia | |
Waterinfo | Surface water quantity and quality | Netherlands |
Some sources also provide files readable by HydroPandas.
source | observations | file format | location |
---|---|---|---|
BRO | Groundwater | xml | Netherlands |
DINO | Groundwater / surface water | csv | Netherlands |
FEWS | Groundwater / surface water | xml | Netherlands |
KNMI | Meteorological | txt | Netherlands |
Pastastore | Time series models | NA | NA |
Waterinfo | Surface water quantity and quality | csv / zip | Netherlands |
Wiski (no docs available) | Groundwater | csv | Netherlands |
Install the module with pip:
pip install hydropandas
For some functionality additional packages are required. Install all optional packages:
pip install hydropandas[full]
For installing in development mode, clone the repository and install by
typing pip install -e .[full]
from the module root directory.
The HydroPandas package allows users to store a timeseries and metadata in a single object (Obs class). Or store a collection of timeseries with metadata in a single object (ObsCollection class). Both inheret from a pandas DataFrame and are extended with custom methods and attributes related to hydrological timeseries.
The Obs class holds the measurements and metadata for one timeseries. There are currently 7 specific Obs classes for different types of measurements:
Each of these Obs classes is essentially a pandas DataFrame with additional methods and attributes related to the type of measurement that it holds. Each Obs object also contains specific methods to read data from specific sources.
The ObsCollection class hold the data for a collection of Obs classes, e.g. 10 timeseries of the groundwater level in a certain area. The ObsCollection is essentialy a pandas DataFrame in which each timeseries is stored in a different row. Each row contains metadata (e.g. latitude and longitude of the observation point) and the Obs object that holds the measurements. It's recommended to use one ObsCollection per observation type — for example, group 10 GroundwaterObs in one collection and 5 PrecipitationObs in another.
More information on dealing with Obs and ObsCollection objects in the documentation
FAQs
Module by Artesia for loading observation data into custom DataFrames.
We found that hydropandas demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.