Skip to main content

Subtitles, faster than your thoughts

Project description

Subtitles, faster than your thoughts.

Latest Version Travis CI build status Documentation Status Code coverage License Join the chat at https://gitter.im/Diaoul/subliminal
Project page:

https://github.com/Diaoul/subliminal

Documentation:

https://subliminal.readthedocs.org/

Usage

CLI

Download English subtitles:

$ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4
Collecting videos  [####################################]  100%
1 video collected / 0 video ignored / 0 error
Downloading subtitles  [####################################]  100%
Downloaded 1 subtitle

Library

Download best subtitles in French and English for videos less than two weeks old in a video folder:

from datetime import timedelta

from babelfish import Language
from subliminal import download_best_subtitles, region, save_subtitles, scan_videos

# configure the cache
region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'})

# scan for videos newer than 2 weeks and their existing subtitles in a folder
videos = scan_videos('/video/folder', age=timedelta(weeks=2))

# download best subtitles
subtitles = download_best_subtitles(videos, {Language('eng'), Language('fra')})

# save them to disk, next to the video
for v in videos:
    save_subtitles(v, subtitles[v])

Installation

Subliminal can be installed as a regular python module by running:

$ [sudo] pip install subliminal

For a better isolation with your system you should use a dedicated virtualenv or install for your user only using the --user flag.

Nautilus/Nemo integration

See the dedicated project page for more information.

Changelog

2.0.1

release date: 2016-06-06

  • Fix beautifulsoup4 minimal requirement

2.0.0

release date: 2016-06-04

  • Add refiners to enrich videos with information from metadata, tvdb and omdb

  • Add asynchronous provider search for faster searches

  • Add registrable managers so subliminal can run without install

  • Add archive support

  • Add the ability to customize scoring logic

  • Add an age argument to scan_videos for faster scanning

  • Add legendas.tv provider

  • Add shooter.cn provider

  • Improve matching and scoring

  • Improve documentation

  • Split nautilus integration into its own project

1.1.1

release date: 2016-01-03

  • Fix scanning videos on bad MKV files

1.1

release date: 2015-12-29

  • Fix library usage example in README

  • Fix for series name with special characters in addic7ed provider

  • Fix id property in thesubdb provider

  • Improve matching on titles

  • Add support for nautilus context menu with translations

  • Add support for searching subtitles in a separate directory

  • Add subscenter provider

  • Add support for python 3.5

1.0.1

release date: 2015-07-23

  • Fix unicode issues in CLI (python 2 only)

  • Fix score scaling in CLI (python 2 only)

  • Improve error handling in CLI

  • Color collect report in CLI

1.0

release date: 2015-07-22

  • Many changes and fixes

  • New test suite

  • New documentation

  • New CLI

  • Added support for SubsCenter

0.7.5

release date: 2015-03-04

  • Update requirements

  • Remove BierDopje provider

  • Add pre-guessed video optional argument in scan_video

  • Improve hearing impaired support

  • Fix TVSubtitles and Podnapisi providers

0.7.4

release date: 2014-01-27

  • Fix requirements for guessit and babelfish

0.7.3

release date: 2013-11-22

  • Fix windows compatibility

  • Improve subtitle validation

  • Improve embedded subtitle languages detection

  • Improve unittests

0.7.2

release date: 2013-11-10

  • Fix TVSubtitles for ambiguous series

  • Add a CACHE_VERSION to force cache reloading on version change

  • Set CLI default cache expiration time to 30 days

  • Add podnapisi provider

  • Support script for languages e.g. Latn, Cyrl

  • Improve logging levels

  • Fix subtitle validation in some rare cases

0.7.1

release date: 2013-11-06

  • Improve CLI

  • Add login support for Addic7ed

  • Remove lxml dependency

  • Many fixes

0.7.0

release date: 2013-10-29

WARNING: Complete rewrite of subliminal with backward incompatible changes

  • Use enzyme to parse metadata of videos

  • Use babelfish to handle languages

  • Use dogpile.cache for caching

  • Use charade to detect subtitle encoding

  • Use pysrt for subtitle validation

  • Use entry points for subtitle providers

  • New subtitle score computation

  • Hearing impaired subtitles support

  • Drop async support

  • Drop a few providers

  • And much more…

0.6.4

release date: 2013-05-19

  • Fix requirements due to enzyme 0.3

0.6.3

release date: 2013-01-17

  • Fix requirements due to requests 1.0

0.6.2

release date: 2012-09-15

  • Fix BierDopje

  • Fix Addic7ed

  • Fix SubsWiki

  • Fix missing enzyme import

  • Add Catalan and Galician languages to Addic7ed

  • Add possible services in help message of the CLI

  • Allow existing filenames to be passed without the ./ prefix

0.6.1

release date: 2012-06-24

  • Fix subtitle release name in BierDopje

  • Fix subtitles being downloaded multiple times

  • Add Chinese support to TvSubtitles

  • Fix encoding issues

  • Fix single download subtitles without the force option

  • Add Spanish (Latin America) exception to Addic7ed

  • Fix group_by_video when a list entry has None as subtitles

  • Add support for Galician language in Subtitulos

  • Add an integrity check after subtitles download for Addic7ed

  • Add error handling for if not strict in Language

  • Fix TheSubDB hash method to return None if the file is too small

  • Fix guessit.Language in Video.scan

  • Fix language detection of subtitles

0.6.0

release date: 2012-06-16

WARNING: Backward incompatible changes

  • Fix –workers option in CLI

  • Use a dedicated module for languages

  • Use beautifulsoup4

  • Improve return types

  • Add scan_filter option

  • Add –age option in CLI

  • Add TvSubtitles service

  • Add Addic7ed service

0.5.1

release date: 2012-03-25

  • Improve error handling of enzyme parsing

0.5

release date: 2012-03-25 WARNING: Backward incompatible changes

  • Use more unicode

  • New list_subtitles and download_subtitles methods

  • New Pool object for asynchronous work

  • Improve sort algorithm

  • Better error handling

  • Make sorting customizable

  • Remove class Subliminal

  • Remove permissions handling

0.4

release date: 2011-11-11

  • Many fixes

  • Better error handling

0.3

release date: 2011-08-18

  • Fix a bug when series is not guessed by guessit

  • Fix dependencies failure when installing package

  • Fix encoding issues with logging

  • Add a script to ease subtitles download

  • Add possibility to choose mode of created files

  • Add more checks before adjusting permissions

0.2

release date: 2011-07-11

  • Fix plugin configuration

  • Fix some encoding issues

  • Remove extra logging

0.1

release date: private release

  • Initial release

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

subliminal-2.0.1.tar.gz (50.2 kB view details)

Uploaded Source

Built Distributions

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

subliminal-2.0.1-py3-none-any.whl (66.5 kB view details)

Uploaded Python 3

subliminal-2.0.1-py2-none-any.whl (66.5 kB view details)

Uploaded Python 2

File details

Details for the file subliminal-2.0.1.tar.gz.

File metadata

  • Download URL: subliminal-2.0.1.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for subliminal-2.0.1.tar.gz
Algorithm Hash digest
SHA256 45828100f76286be59f89bf4d19ade6ef68eb9b4e08bd47ddfe45ce617f5fd0f
MD5 f24217b8dca839fe1e0b81f048ceaacb
BLAKE2b-256 481930bb8a13584e21f8e736a52924afe74ce068d4efed6555e6fa82a19a8f93

See more details on using hashes here.

File details

Details for the file subliminal-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for subliminal-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 361ee7ee602deab82dc44f74d0789bf3cbd22b607aad0df699707f555523f848
MD5 906efa7194a10d4bdb983c4401c66d1e
BLAKE2b-256 8097e89e4e4d8772098b0dbec7a9ab22706e477a67c429dcba3899266ce8d714

See more details on using hashes here.

File details

Details for the file subliminal-2.0.1-py2-none-any.whl.

File metadata

File hashes

Hashes for subliminal-2.0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 2205a958a927c514b82e81f2bbe6aaf6fab2e2f10eedf324d417b013728e4837
MD5 2b2b154c2034bcfaf05b2da677358e0f
BLAKE2b-256 97d87e8d61598e47882543546cd474f8c6e9fe1e8629d80d7eecc311dffac2ed

See more details on using hashes here.

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