Skip to main content

cfdb

CF conventions multi-dimensional array storage on top of Booklet

build codecov PyPI version


Documentation: https://mullenkamp.github.io/cfdb/

Source Code: https://github.com/mullenkamp/cfdb


cfdb is a pure Python database for managing labeled multi-dimensional arrays following the CF conventions. It is an alternative to netCDF4/xarray, built on Booklet for local file storage and EBooklet for S3 sync. Thread-safe and multiprocessing-safe via locks.

Installation

pip install cfdb

Quick Example

import cfdb
import numpy as np

with cfdb.open_dataset('example.cfdb', flag='n') as ds:
    lat = ds.create.coord.lat(data=np.linspace(-90, 90, 181, dtype='float32'))
    lon = ds.create.coord.lon(data=np.linspace(-180, 180, 361, dtype='float32'))
    temp = ds.create.data_var.generic('temperature', ('latitude', 'longitude'), dtype='float32')
    temp[:] = np.random.rand(181, 361).astype('float32') * 40 - 10

with cfdb.open_dataset('example.cfdb') as ds:
    for slices, data in ds['temperature'].iter_chunks(include_data=True):
        print(slices, data.shape)

Multivariable Rechunking

Efficiently iterate over multiple variables with synchronized chunks:

with cfdb.open_dataset('data.cfdb') as ds:
    # Synchronized iteration over temperature and pressure
    for target_chunk, var_data in ds.iter_chunks({'latitude': 50, 'longitude': 50}):
        temp = var_data['temperature']
        pres = var_data['pressure']
        # Perform calculations on aligned blocks

See the full documentation for user guides, concepts, and API reference.

License

This project is licensed under the terms of the Apache Software License 2.0.

Metadata

Release files for cfdb 0.9.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cfdb 0.9.6
File Size Uploaded
cfdb-0.9.6.tar.gz 75.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cfdb 0.9.6
File Interpreter ABI Platform
cfdb-0.9.6-py3-none-any.whl Python 3 none any Details

Total release size: 156.9 kB

Release files / cfdb-0.9.6.tar.gz

Download URL cfdb-0.9.6.tar.gz
Size 75.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e6ad2545243fd6e74501fcf8c2bbc64a0c9934cbac9079b448e56bd7a8131818
BLAKE2b-256 checksum
How to use checksums
fc810b7e531497bbeeb506c9bcee0947abafdad8fb45b17791b29ec329be61b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.7

Release files / cfdb-0.9.6-py3-none-any.whl

Download URL cfdb-0.9.6-py3-none-any.whl
Size 81.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f811c4599201cd27071fd5a3d436177beeb47c7fe138e09cc2ac4da55052ae25
BLAKE2b-256 checksum
How to use checksums
69d279b990ff463791aab6cbe608c62517e0e5f1b440073d15f3489a7d9764bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.7

Release history Release notifications | RSS feed

0.10.0

2 release files

0.9.7

2 release files

This release

0.9.6 This release

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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