{"id":21560,"library":"mediafile","title":"mediafile","description":"A simple, cross-format library for reading and writing media file metadata. Current version 0.17.0, requires Python >=3.10. Part of the beets ecosystem, with monthly releases.","status":"active","version":"0.17.0","language":"python","source_language":"en","source_url":"https://github.com/beetbox/mediafile","tags":["metadata","audio","id3","mp4","flac","music"],"install":[{"cmd":"pip install mediafile","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Underlying metadata parsing for all audio formats","package":"mutagen","optional":false}],"imports":[{"note":"Case-sensitive: 'F' uppercase","wrong":"from mediafile import Mediafile","symbol":"MediaFile","correct":"from mediafile import MediaFile"}],"quickstart":{"code":"from mediafile import MediaFile\n\n# Open a file\nmf = MediaFile('audio.mp3')\nprint(mf.title)\nprint(mf.artist)\n\n# Modify metadata\nmf.title = 'New Title'\nmf.save()","lang":"python","description":"Basic reading and writing of audio metadata."},"warnings":[{"fix":"Upgrade Python to 3.10 or later.","message":"Dropped support for Python 3.7, 3.8, 3.9 in v0.14.0. Requires Python >=3.10.","severity":"breaking","affected_versions":">=0.14.0"},{"fix":"Update imports: from mediafile import MediaFile (no change needed for basic usage).","message":"MediaFile moved from monolithic mediafile.py to package structure in v0.14.0. Import paths unchanged but internal API may differ.","severity":"breaking","affected_versions":">=0.14.0"},{"fix":"Assign lists: mf.composers = ['Composer A', 'Composer B'].","message":"Fields like 'composers', 'lyricists', 'arrangers' introduced in v0.16.0 are list fields. Assigning a string may fail.","severity":"gotcha","affected_versions":">=0.16.0"},{"fix":"MediaFile('file.wav', raise_on_unsupported_wav=False)","message":"Unsupported WAV files (e.g., MPEG layer 3 WAV) raise FileTypeError by default since v0.16.1. Use raise_on_unsupported_wav=False to ignore.","severity":"gotcha","affected_versions":">=0.16.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"pip install mediafile","cause":"mediafile not installed.","error":"ModuleNotFoundError: No module named 'mediafile'"},{"fix":"Ensure correct package: from mediafile import MediaFile. If conflicting package exists, uninstall: pip uninstall mediafile then pip install mediafile","cause":"Multiple mediafile packages in environment or wrong import path.","error":"ImportError: cannot import name 'MediaFile' from 'mediafile'"},{"fix":"Open with raise_on_unsupported_wav=False: MediaFile('file.wav', raise_on_unsupported_wav=False)","cause":"WAV file with non-PCM format (e.g., MP3 in WAV).","error":"FileTypeError: WAV file uses unsupported compression format"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}