Skip to main content

ffmeta

Media metadata files read, written and converted through one model: FFmpeg's ffmetadata, Vorbis comments, and cue sheets.

It is pure -- text in, text out: no ffmpeg, no file opened. A file read becomes one model -- its tags, its streams' tags, its chapters, a cue sheet's disc; written in another format, what that format cannot hold is told as a note, never dropped in silence.

Format What it is
ffmetadata FFmpeg's ;FFMETADATA1 text: global and stream tags, chapters
Vorbis comment NAME=value lines, as vorbiscomment and metaflac read and write
Cue sheet the CDRWIN format: an album's tracks, their times and fields

What crosses between them, field by field and with its reasons, is ffsuite's mappings skill.

Installing

pip install ffmeta

Python 3.13 or later; the standard library alone.

Using it

>>> import ffmeta
>>> text = ";FFMETADATA1\ntitle=Album\n\n[CHAPTER]\nTIMEBASE=1/1000\nSTART=0\nEND=60000\ntitle=One\n"
>>> meta = ffmeta.read(text, "ffmetadata", "album.ffmeta")
>>> converted = ffmeta.convert(meta, "ffmetadata", "vorbis")
>>> written = ffmeta.write(converted.meta, "vorbis")
>>> print(written.text, end="")
title=Album
CHAPTER000=00:00:00.000
CHAPTER000NAME=One
>>> converted.notes + written.notes
('chapter ends: Vorbis comments hold none (a chapter ends where the next begins): left out',)
>>> ffmeta.read("title=x\n", "ffmetadata", "bad.ffmeta")
Traceback (most recent call last):
  ...
ffmeta.Error: bad.ffmeta:1: not ffmetadata: the first line must begin ;FFMETADATA: title=x

What crosses into the target is converted; what does not is a note, from convert (a field the target lacks) or write (a structure it lacks). A text that cannot be read is refused: ffmeta.Error, its message the reason.

Licence

Part of ffsuite, beside ffman: its own package. Licensed under either of MIT or Apache-2.0, at your option.

Metadata

Release files for ffmeta 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ffmeta 0.1.1
File Size Uploaded
ffmeta-0.1.1.tar.gz 71.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ffmeta 0.1.1
File Interpreter ABI Platform
ffmeta-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 116.1 kB

Release files / ffmeta-0.1.1.tar.gz

Download URL ffmeta-0.1.1.tar.gz
Size 71.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bbc8c4d5c3e06c5dda995609c019c0a4dbfb66a58e2a3ccd87d9631164f4da51
BLAKE2b-256 checksum
How to use checksums
041538eea72fe969c58388c187cb448b57e2e57dbf4fdd930ea61d4e41e58a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / ffmeta-0.1.1-py3-none-any.whl

Download URL ffmeta-0.1.1-py3-none-any.whl
Size 45.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8101f78ab01e037d90f4ae1fa5dedebc7b6c00c02ba5f6dcb0dd823c1712361e
BLAKE2b-256 checksum
How to use checksums
1b133c744b39542d211115ec1b5f4322d61e5475939d33fa99146b4de7ed42b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page