Skip to main content

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)

Source distribution for pyo-oracle 1.0.0
File Size Uploaded
pyo_oracle-1.0.0.tar.gz 18.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyo-oracle 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page