For Developers¶

This section contains information for developers. Read on if you’re interested in hacking beets itself or creating plugins for it.

See also the documentation for MediaFile, the library used by beets to read and write metadata tags in media files.

  • Writing Plugins
    • Add Commands to the CLI
    • Listen for Events
    • Extend the Autotagger
    • Read Configuration Options
    • Add Path Format Functions and Fields
    • Extend MediaFile
      • BeetsPlugin.add_media_field()
    • Add Import Pipeline Stages
    • Extend the Query Syntax
    • Flexible Field Types
    • Logging
    • Append Prompt Choices
  • Library Database API
    • The Library Class
      • Library
        • Library.__init__()
        • Library.add()
        • Library.add_album()
        • Library.items()
        • Library.albums()
        • Library.get_item()
        • Library.get_album()
        • Library.transaction()
    • Model Classes
      • Model base
        • LibModel
          • LibModel.all_keys()
          • LibModel.__init__()
          • LibModel._types
          • LibModel._fields
          • LibModel.store()
          • LibModel.load()
          • LibModel.remove()
          • LibModel.add()
          • LibModel.keys()
          • LibModel.update()
          • LibModel.items()
          • LibModel.get()
      • Item
        • Item
          • Item.__init__()
          • Item.from_path()
          • Item.get_album()
          • Item.destination()
          • Item.current_mtime()
          • Item.read()
          • Item.write()
          • Item.try_write()
          • Item.try_sync()
          • Item.move()
          • Item.remove()
      • Album
        • Album
          • Album.__init__()
          • Album.item_dir()
          • Album.item_keys
          • Album.store()
          • Album.try_sync()
          • Album.move()
          • Album.remove()
          • Album.set_art()
          • Album.move_art()
          • Album.art_destination()
      • Transactions
        • Transaction
          • Transaction.mutate()
          • Transaction.query()
          • Transaction.script()
    • Queries
  • Music Importer
  • Providing a CLI

beets

Navigation

  • Guides
  • Reference
  • Plugins
  • FAQ
  • For Developers
    • Writing Plugins
    • Library Database API
    • Music Importer
    • Providing a CLI
  • Changelog

Related Topics

  • Documentation overview
    • Previous: <no title>
    • Next: Writing Plugins

Quick search

©2023, Adrian Sampson. | Powered by Sphinx 5.3.0 & Alabaster 0.7.12 | Page source