Skip to content

asdf_library is redundant to history.extensions #492

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions