Skip to main content

Work with Scientific Data Format files in Python

Project description

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.


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

python -m pip install --upgrade sdf

To install the latest development version:

python -m pip install --upgrade


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])
>>>'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

Get the scale for the first dimension:

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

© 2020 Dassault Systèmes

Project details

Download files

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

Source Distribution

SDF-0.3.5.tar.gz (148.0 kB view hashes)

Uploaded source

Built Distribution

SDF-0.3.5-py2.py3-none-any.whl (141.4 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page