Export Plugin¶
The export
plugin lets you get data from the items and export the content
as JSON, CSV, or XML.
Enable the export
plugin (see Using Plugins for help). Then, type beet export
followed by a query to get the data from
your library. For example, run this:
$ beet export beatles
to print a JSON file containing information about your Beatles tracks.
Command-Line Options¶
The export
command has these command-line options:
--include-keys
or-i
: Choose the properties to include in the output data. The argument is a comma-separated list of simple glob patterns where*
matches any string. For example:$ beet export -i 'title,mb*' beatles
will include the
title
property and all properties starting withmb
. You can add the-i
option multiple times to the command line.--library
or-l
: Show data from the library database instead of the files’ tags.--album
or-a
: Show data from albums instead of tracks (implies--library
).--output
or-o
: Path for an output file. If not informed, will print the data in the console.--append
: Appends the data to the file instead of writing.--format
or-f
: Specifies the format the data will be exported as. If not informed, JSON will be used by default. The format options include csv, json, jsonlines and xml.
Configuration¶
To configure the plugin, make a export:
section in your configuration
file.
For JSON export, these options are available under the json
and
jsonlines
keys:
ensure_ascii: Escape non-ASCII characters with
\uXXXX
entities.indent: The number of spaces for indentation.
separators: A
[item_separator, dict_separator]
tuple.sort_keys: Sorts the keys in JSON dictionaries.
Those options match the options from the Python json module.
Similarly, these options are available for the CSV format under the csv
key:
delimiter: Used as the separating character between fields. The default value is a comma (,).
dialect: The kind of CSV file to produce. The default is excel.
These options match the options from the Python csv module.
The default options look like this:
export:
json:
formatting:
ensure_ascii: false
indent: 4
separators: [',' , ': ']
sort_keys: true
csv:
formatting:
delimiter: ','
dialect: excel