skillfed

guessit

GuessIt - a library for guessing information from video filenames.

guessit v4.4.0 164.4K downloads/30d#10,550 on PyPI929
Copyleft license LGPL-3.0-or-later Active released

What it is and what it does

GuessIt is a Python library that parses video filenames to extract structured metadata. Given a filename like 'Shameless.US.S05E10.720p.HDTV.x264-KILLERS.mkv', it returns a dictionary with title, season, episode, resolution, source, codec, release group, container, and media type. It works with both movie and TV episode filenames, handling a wide variety of naming conventions and abbreviations.

The library relies on pattern matching and rule-based extraction via its dependency on Rebulk. It is maintained actively, supports modern Python versions, and has no known security vulnerabilities. The three runtime dependencies (babelfish, python-dateutil, rebulk) are lightweight and add minimal installation overhead. GuessIt is useful for media center applications, download managers, and any tool that needs to organize or catalog video files by their filenames.

Use it for:

  • Organize downloaded TV episodes and movies into a media library by automatically extracting season/episode numbers and titles.
  • Build a download manager that renames files consistently based on parsed metadata (title, year, resolution, codec).
  • Populate a media database by bulk-parsing a folder of video files to extract and validate metadata.
  • Filter or sort video files by properties like codec, resolution, or release group extracted from filenames.
  • Validate that a video file's name matches expected metadata before processing or archiving it.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

GuessIt extracts structured metadata from video filenames, parsing titles, seasons, episodes, codecs, resolutions, and release information from both movies and TV show files.

Yes. GuessIt is actively maintained, has low install friction, carries no known vulnerabilities, and solves a concrete problem for media-handling tools. The LGPL-3.0-or-later license is permissive for most use cases but requires attention if you are building a proprietary application. Install it if you need to parse video filenames; skip it if your filenames follow a rigid, custom format you can parse with simpler regex.

Install

guessit on PyPI

pip

pip install guessit

uv

uv add guessit

poetry

poetry add guessit

Installing guessit

Before you install

Low install friction with a pure-Python wheel and only three runtime dependencies. Actively maintained with a release 14 days old and recent commits; the project has 929 GitHub stars and supports current Python versions (3.10 through 3.14).

License in practice

Licensed under LGPL-3.0-or-later (copyleft). You may use and modify GuessIt freely, but any derivative work must also be distributed under a compatible copyleft license; proprietary applications cannot link it without legal review.

Quickstart

pip install guessit

from guessit import guessit
result = guessit('The.Matrix.1999.1080p.BluRay.x264-GROUP.mkv')
print(result['title'], result['year'], result['video_codec'])

Requires Python 3.10 or later.

Verify before relying

  • Accuracy and coverage of filename patterns across different regional naming conventions and edge cases.
  • Performance characteristics when processing large batches of filenames.
  • Whether the library handles non-English or mixed-language filenames reliably.

Package facts

License LGPL-3.0-or-later (copyleft)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — babelfish, python-dateutil, rebulk
Maintenance actively maintained — 14 days since the last release
Last repo commit
First released
Downloads 164,370/month — #10,550 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: guessit-4.4.0-py3-none-any.whl

Keywords: animes, episodes, filename, library, movies, name, parser, python, release, series

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: MultimediaTopic :: Software Development :: Libraries :: Python Modules

Tags

video filename parserextract metadata from video namestv episode title parsermovie filename metadataparse video release infoseason episode number extractionvideo codec detection from filename
media-metadatafilename-parsing

More Python Modules packages