letterboxd2jellyfin
Quick Python script to convert a letterboxd list (eg https://letterboxd.com/matchup/list/scream-ranked/)
into a Jellyfin-compatible library structure
of stub files.
Install
pip install letterboxd2jellyfin
Why
This is for the niche use case where you:
- Have a physical media collection that you haven't ripped
- You would like to browse that collection in Jellyfin
- You have a public list in Letterboxd of all the movies you own
This script will read the list from Letterboxd and copy a stub .mp4 file to
the appropriate location.
For example:
$ letterboxd2jellyfin -o 'deleteme' -url https://letterboxd.com/matchup/list/scream-ranked/
parsing URL
Loading playlist `scream-ranked` from username `matchup`...
done!
This playlist has 6 entries
creating stub file deleteme/Scream (1996)/Scream (1996).mp4
creating stub file deleteme/Scream 4 (2011)/Scream 4 (2011).mp4
creating stub file deleteme/Scream 2 (1997)/Scream 2 (1997).mp4
creating stub file deleteme/Scream VI (2023)/Scream VI (2023).mp4
creating stub file deleteme/Scream (2022)/Scream (2022).mp4
creating stub file deleteme/Scream 3 (2000)/Scream 3 (2000).mp4
all done!
A stub video file for Blu-rays and DVDs is included, or you can provide your own
with -dvd.
Usage
$ letterboxd2jellyfin --help
usage: Turn a Letterboxd list into a Jellyfin library structure, using a stub video file.
options:
-h, --help show this help message and exit
-o, --output-path OUTPUT_PATH
Output Jellyfin library path. Should include "Movies" at the end (eg /path/to/library/Movies)
-u, --username USERNAME
Letterboxd username
-p, --playlist-slug PLAYLIST_SLUG
The playlist slug (eg "scream-ranked" from https://letterboxd.com/matchup/list/scream-ranked/)
-url, --playlist-url PLAYLIST_URL
Attempt to parse a letterboxd playlist URL, overrides --username and --playlist-slug (eg "https://letterboxd.com/matchup/list/scream-ranked/")
-v, --video_file VIDEO_FILE
Override the stub video file to put in the library
-dvd Use the build-in DVD placeholder video file instead of the blu-ray one
Metadata
Release files for letterboxd2jellyfin 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| letterboxd2jellyfin-1.1.0.tar.gz | 205.0 kB | Without provenance | Details for letterboxd2jellyfin-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| letterboxd2jellyfin-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for letterboxd2jellyfin-1.1.0-py3-none-any.whl |
Total release size: 413.1 kB
Release files / letterboxd2jellyfin-1.1.0.tar.gz
| Download URL | letterboxd2jellyfin-1.1.0.tar.gz |
|---|---|
| Size | 205.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
56726da278b72c08b64258c414d9cc387237f1d9b5afe03fe9c96556dd12d258
|
|
BLAKE2b-256 checksum How to use checksums |
9db81805fffa064f536bcda68dfe07ef083af917076845cf01b3f912787adafc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / letterboxd2jellyfin-1.1.0-py3-none-any.whl
| Download URL | letterboxd2jellyfin-1.1.0-py3-none-any.whl |
|---|---|
| Size | 208.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8241dc45c09eb98d677be423cd8e3e319feca1055e49a3c30a90ecc4cd85e606
|
|
BLAKE2b-256 checksum How to use checksums |
22f86c1efe6b57bbbfb6d7fe94a158bfc5b14c54d537cc0cfdda86c8eb5e1f8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for letterboxd2jellyfin 1.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.