Skip to main content

Jellyfin Letterboxd Sync

Sync your watched movies and episodes from Jellyfin to Letterboxd.

Features

  • Fetches watched movies and episodes from your Jellyfin server.
  • Handles TV shows by mapping them to their series name (since Letterboxd supports some series/miniseries).
  • Exports data to a CSV file compatible with Letterboxd import.
  • Automates the upload process to Letterboxd using Playwright (browser automation).

Installation

You can install this package via pip (or uv):

uv tool install jellyfin-letterboxd-sync
# or
pip install jellyfin-letterboxd-sync

Since this tool uses Playwright, you'll also need to install the browser binaries. This tool defaults to using Brave/Chrome, so ensure you have a Chromium-based browser installed or install the Playwright browsers:

uv run playwright install chromium
# or
playwright install chromium

Usage

Run the sync tool with the required parameters:

jellyfin-letterboxd-sync \
  --jellyfin-url "https://your-jellyfin-server.com" \
  --jellyfin-user "your_jellyfin_username" \
  --jellyfin-api-key "YOUR_JELLYFIN_API_KEY" \
  --letterboxd-user "your_letterboxd_email" \
  --letterboxd-pass "your_letterboxd_password"

Options

Argument Description Required Default
--jellyfin-url URL of your Jellyfin server Yes -
--jellyfin-user Jellyfin username to sync from Yes -
--jellyfin-api-key API Key generated in Jellyfin Dashboard Yes -
--letterboxd-user Letterboxd account email/username Yes -
--letterboxd-pass Letterboxd account password Yes -
--csv-path Temporary path for generated CSV No /tmp/letterboxd_import.csv
--headless Run browser in headless mode (invisible) No False

Getting a Jellyfin API Key

  1. Go to your Jellyfin Dashboard.
  2. Navigate to API Keys.
  3. Click + to create a new key.
  4. Name it "Letterboxd Sync" (or similar).
  5. Copy the generated key.

Development

To run locally without installing:

uv run -m jellyfin_letterboxd_sync.main --help

Metadata

Release files for jellyfin-letterboxd-sync 0.1.4

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

Source distribution (sdist)

Source distribution for jellyfin-letterboxd-sync 0.1.4
File Size Uploaded
jellyfin_letterboxd_sync-0.1.4.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jellyfin-letterboxd-sync 0.1.4
File Interpreter ABI Platform
jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / jellyfin_letterboxd_sync-0.1.4.tar.gz

Download URL jellyfin_letterboxd_sync-0.1.4.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d758ed289acfde2c52fa2c1080da20788e03518603a9d04ddfd8f0a59f238b06
BLAKE2b-256 checksum
How to use checksums
f42cc41638120dcac120bda9186095d7e9642392de5f6c33f127a073dd7890f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 5, 2026.

Transparency log

Release files / jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl

Download URL jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81e2a6f6339083ef8300faf8f5563b5dbbff7c15b1ed0a3bddb147029fe2c91b
BLAKE2b-256 checksum
How to use checksums
5d50424c5fde0bba76606ad92a187aac510d9f6cc8e4523c1c288ad122cf386c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 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