Standard Knowledge
Programmatically augmenting CF Standards with IOOS operational knowledge.
# uv run python
=
# Load all CF standards
# Apply community knowledge to the standards
# Get a standard by name or alias
=
# Xarray compatible attributes for a standard
=
# find standards by variable names
=
# Notice the `.filter()`? It returns a StandardsFilter object,
# so you can chain multiple filters together.
# by_ioos_category, by_unit, has_qartod_tests
# Search for standards across multiple fields (name, aliases, common variable names, related standards)
=
Testing
Test with uv run pytest, or ../noxfile.py -s test_python to test against multiple versions.
Building
Run uvx cibuildwheel --platform linux py from the top of the repo to build.
Note: cibuildwheel only uses official builds, so it'll get ornery with Python from other sources (uv, Pixi, Brew).
../noxfile.py -s wheel should run that as well.
Building Pyodide/WASM wheels locally
Pyodide wheels require specific Rust and Pyodide versions due to Emscripten compatibility:
# Install the compatible Rust version
# Build pyodide wheels with pinned Rust toolchain and Pyodide 0.27.7
RUSTUP_TOOLCHAIN=nightly-2025-01-20 CIBW_BUILD=cp314-pyodide_wasm32 CIBW_PYODIDE_VERSION=314.0.0
Try using ../noxfile.py -s wheel_wasm which should encapsulate those commands.