Skip to content

metadata API: serialization is missing a final newline #2393

Open

Description

@jku

Our JSON serialization is basically json.dumps(metadata_obj.to_dict(), ...).encode("utf-8")

json.dumps() return value does not end in a newline. This means any files written with this content will not end in a newline: this makes the produced files not valid posix text files.

For Metadata.to_file() this seems like a minor bug (and Metadata.to_bytes() should have the same output for consistency), so in practice JSONSerializer.serialize() probably should add the final newline.

My only concern about this is that it is an unexpected change in the serialization output... IF we change this, we should definitely consider this an API change for users who produce metadata.

Activity

  1. h4l0gen commented on May 28, 2024

    @h4l0gen
    Contributor

    Hi @jku, what is the conclusion on this, we want to do this change? If yes, I would like to make it.

  2. jku commented on May 29, 2024

    @jku
    MemberAuthor

    I'm worried this will break things downstream (at least all kinds of test suites in applications, maybe even actual application code)... so maybe not worth fixing unless someone is willing to do a lot of analysis/testing in the applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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