Skip to content

asdf_library is redundant to history.extensions #492

@braingram

Description

@braingram

asdf_library:
description: |
Describes the ASDF library that produced the file.
$ref: "software-1.0.0"

contains a single software entry for the library that produced the file.

This information is also present in history.extensions:

definitions:
history-1.1.0:
type: object
properties:
extensions:
type: array
items:
- $ref: "extension_metadata-1.0.0"
entries:
type: array
items:
- $ref: "history_entry-1.0.0"

To use a small example file:

>> print(asdf.dumps({"foo": "bar"}).decode("ascii"))
#ASDF 1.0.0
#ASDF_STANDARD 1.6.0
%YAML 1.1
%TAG ! tag:stsci.edu:asdf/
--- !core/asdf-1.1.0
asdf_library: !core/software-1.0.0 {author: The ASDF Developers, homepage: 'http://github.com/asdf-format/asdf',
  name: asdf, version: 5.0.1.dev0+g10f536301.d20250919}
history:
  extensions:
  - !core/extension_metadata-1.0.0
    extension_class: asdf.extension._manifest.ManifestExtension
    extension_uri: asdf://asdf-format.org/core/extensions/core-1.6.0
    manifest_software: !core/software-1.0.0 {name: asdf_standard, version: 1.1.1}
    software: !core/software-1.0.0 {name: asdf, version: 5.0.1.dev0+g10f536301.d20250919}
foo: bar
...

Note the same version in history.extensions[0].software and asdf_library. (Note that only name and version are required the author in asdf_library could also occur in history.extensions).

I propose that we remove asdf_library.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions