Skip to content
ASDF Projects Tutorials Community
Back to top
View this page

# ASDF - Advanced Scientific Data Format

`asdf` is a tool for reading and writing Advanced Scientific Data Format (ASDF) files.

The Advanced Scientific Data Format (ASDF) is a next-generation interchange format for scientific data. This package contains the Python implementation of the ASDF specification. More information on the ASDF file format including the specification can be found here.

The ASDF format has the following features:

- Hierarchical and human-readable metadata in YAML format

- Efficient binary array storage with support for memory mapping and flexible compression.

- Content validation using schemas (using JSON Schema)

- Native and transparent support for most basic Python data types, with an extension API to add support for any custom Python object.

Note

This is the Advanced Scientific Data Format - if you are looking for the Adaptable Seismic Data Format, go here: http://seismic-data.org/

## Getting Started

- Installation
  - Requirements
  - Installing with pip
  - Installing with conda
  - Building from source
  - Running the tests
- Overview
  - Hello World
  - Creating Files
  - Reading Files
- Core Features
  - Data Model
  - Array Data
  - Using extensions
  - Schema validation
  - Versioning and Compatibility
  - External References
  - Saving history entries
  - Rendering ASDF trees
  - Searching the ASDF tree
  - Searching Schema information
- Configuration
  - Using AsdfConfig
  - Config options
  - Additional AsdfConfig features
- Command line tool

## Extending ASDF

- Common use cases
  - Validate an ASDF tree against a schema
  - Serialize a new type
  - Support a new block compressor
  - Support a new schema property
- URIs in ASDF
  - URI vs URL
  - The asdf:// URI scheme
  - Entities identified by URI
- ASDF schemas
  - Anatomy of a schema
  - Composing schemas with references and tags
  - Checking schema syntax
  - Testing validation
  - See also:
- Resources and resource mappings
  - Installing resources via AsdfConfig
  - The DirectoryResourceMapping class
  - Installing resources via entry points
- Converters
  - The Converter interface
  - A simple example
  - Multiple tags
  - Tag wildcards to support multiple versions
  - Deferring to another converter
  - Reference cycles
  - Block storage
  - Entry point performance considerations
- Extensions
  - Extension features
  - Installing an extension
  - Populating an extension from a manifest
  - Versioning extensions
- Extension manifests
  - Anatomy of a manifest
  - Validating a manifest
- Binary block compressors
  - The Compressor interface
  - Entry point performance considerations
- Validators
  - The Validator interface
  - A simple example

## API Documentation

- User API
- Developer API

## Resources

- Contributing
- ASDF-format Open Source Code of Conduct
- Release Cycle and Major Dependency Support Policy
- What’s New
- Deprecations
- Change Log
- Citation

## See also

- The Advanced Scientific Data Format (ASDF) specification.

- `asdf` Python package distribution on pypi

## Index

- Index

- Module Index