pyo_oracle
Python client for the Bio-ORACLE ERDDAP server.
Discover, inspect, subset, download, and load Bio-ORACLE marine environmental
layers (temperature, salinity, nutrients, sea ice, and more) from Python.
pyo_oracle is the Python counterpart of the R package
biooracler and is built on
erddapy.
📖 Documentation: https://bio-oracle.github.io/pyo_oracle/
Installation
# With pip
pip install pyo-oracle
# Load layers as xarray (optional extra)
pip install "pyo-oracle[xarray]"
# With conda
conda create -n pyo_oracle conda-forge::pyo-oracle
Quick start
import pyo_oracle as pyo
# 1. List available layers (filter by search term, variable, scenario, depth, ...)
pyo.list_layers(search="Temperature")
# 2. Inspect a layer: dimension ranges + variables and units
pyo.info_layer("thetao_baseline_2000_2019_depthsurf")
# 3. Build constraints from friendly bounds (no hand-written dicts)
constraints = pyo.build_constraints(
"thetao_baseline_2000_2019_depthsurf",
time=("2000-01-01T00:00:00Z", "2010-01-01T00:00:00Z"),
latitude=(0, 10),
longitude=(0, 10),
)
# 4a. Load directly into memory (pandas or xarray)
df = pyo.load_layer(
"thetao_baseline_2000_2019_depthsurf",
constraints=constraints,
variables=["thetao_mean"],
)
ds = pyo.load_layer(
"thetao_baseline_2000_2019_depthsurf",
constraints=constraints,
fmt="xarray",
)
# 4b. Or download to a file (NetCDF by default)
pyo.download_layers(
"thetao_baseline_2000_2019_depthsurf",
constraints=constraints,
variables=["thetao_mean"],
)
# 5. See local data
pyo.list_local_data()
Key functions
| Function | Purpose |
|---|---|
list_layers |
List/filter available layers |
info_layer |
Inspect a layer's dimensions and variables |
build_constraints |
Build griddap constraints from (min, max) bounds + strides |
load_layer |
Load a layer into memory (pandas or xarray) |
download_layers |
Download a layer (NetCDF/CSV), optionally a variable subset |
list_local_data |
List downloaded files |
Contributing
See CLAUDE.md for the dev setup, testing, and release flow.
Please open an issue if you experience any problems.
Release files for pyo-oracle 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyo_oracle-1.0.0.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyo_oracle-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.6 kB
Release files / pyo_oracle-1.0.0.tar.gz
| Download URL | pyo_oracle-1.0.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1cc3c72b4a6bca5c488721d15e3fdc1efff4bdbddb46d8430d03a59f7b0fdaea
|
|
BLAKE2b-256 checksum How to use checksums |
2ce1e8c81295cace3a0c520f6822a1c03727332c2bdf38ef97d96e4c3142c619
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / pyo_oracle-1.0.0-py3-none-any.whl
| Download URL | pyo_oracle-1.0.0-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43806bb0c3f2b62d4bfb33daddc44e881dbd95d3aef278ddda7ea699d08272c6
|
|
BLAKE2b-256 checksum How to use checksums |
24e60a2729d5490bbbe471af190d5f807ce8764c52ef6844d4acd13e90c0e9e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|