Skip to main content

Work with Scientific Data Format files in Python

Project description

sdf-logo

Scientific Data Format for Python

SDF is a Python package to read, write and interpolate multi-dimensional data. The Scientific Data Format is an open file format based on HDF5 to store multi-dimensional data such as parameters, simulation results or measurements. It supports...

  • very large files
  • up to 32 dimensions
  • hierarchical structure
  • units, comments and custom meta-information

For detailed information see the SDF specification.

Installation

To install the latest release from PyPI or update an existing installation:

python -m pip install --upgrade sdf

Tutorial

Import the SDF and NumPy packages:

>>> import sdf
>>> import numpy as np

Create the data arrays:

>>> t = np.linspace(0, 10, 51)
>>> v = np.sin(t)

Create the datasets:

>>> ds_t = sdf.Dataset('t', data=t, unit='s', is_scale=True, display_name='Time')
>>> ds_v = sdf.Dataset('v', data=v, unit='V', scales=[ds_t])

Create the root group and write the file:

>>> g = sdf.Group('/', comment='A sine voltage', datasets=[ds_t, ds_v])
>>> sdf.save('sine.sdf', g)

Read the dataset from the SDF file asserting the correct unit of the dataset and scale:

>>> ds_v2 = sdf.load('sine.sdf', '/v', unit='V', scale_units=['s'])

Get the meta info and data array from the dataset:

>>> ds_v2.unit
'V'
>>> ds_v2.data.shape
(51,)

Get the scale for the first dimension:

>>> ds_t2 = ds_v2.scales[0]
>>> ds_t2.unit
's'

License

The code is released under the 2-Clause BSD license.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sdf-0.3.7-py3-none-any.whl (342.8 kB view details)

Uploaded Python 3

File details

Details for the file sdf-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: sdf-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 342.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sdf-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2a79439cb9bd531d60e53259df331c9e8b227c0beda01e0d12275d564ec09f69
MD5 3d48b47f48e909e058186ce654c0d66e
BLAKE2b-256 809ef2c59a8e82596832c33bd49b245c41008b8fe3c105cfc603430d1286042f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page