Skip to main content

Sync watched status from Jellyfin to Letterboxd

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jellyfin_letterboxd_sync-0.1.4.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file jellyfin_letterboxd_sync-0.1.4.tar.gz.

File metadata

File hashes

Hashes for jellyfin_letterboxd_sync-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d758ed289acfde2c52fa2c1080da20788e03518603a9d04ddfd8f0a59f238b06
MD5 84ad7942bf0bbfe875dfd16891a65a4f
BLAKE2b-256 f42cc41638120dcac120bda9186095d7e9642392de5f6c33f127a073dd7890f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for jellyfin_letterboxd_sync-0.1.4.tar.gz:

Publisher: publish.yml on zianwar/jellyfin-letterboxd-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 81e2a6f6339083ef8300faf8f5563b5dbbff7c15b1ed0a3bddb147029fe2c91b
MD5 7b5d47c22d22edcc485fc0fa6cc50992
BLAKE2b-256 5d50424c5fde0bba76606ad92a187aac510d9f6cc8e4523c1c288ad122cf386c

See more details on using hashes here.

Provenance

The following attestation bundles were made for jellyfin_letterboxd_sync-0.1.4-py3-none-any.whl:

Publisher: publish.yml on zianwar/jellyfin-letterboxd-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page