Skip to content

Python Usage

This page documents Python usage for guessit-fork with the guessit_fork namespace.

Installation

pip install guessit-fork

Import

from guessit_fork import guessit

Basic parsing

from guessit_fork import guessit

result = guessit("Treme.1x03.Right.Place,.Wrong.Time.HDTV.XviD-NoTV.avi")
print(result["title"])
print(result["season"])
print(result["episode"])
print(result["episode_title"])

Input types

guessit() accepts str, bytes, and Path values.

from pathlib import Path
from guessit_fork import guessit

print(guessit("Movie.Name.2024.1080p.WEB-DL.mkv"))
print(guessit(b"Movie.Name.2024.1080p.WEB-DL.mkv"))
print(guessit(Path("Movie.Name.2024.1080p.WEB-DL.mkv")))

Using options (dict)

from guessit_fork import guessit

filename = "Dark.Matter.Season.5.1080p.WEB-DL.mkv"
result = guessit(filename, options={"type": "episode", "single_value": True})
print(result)

Using options (string form)

from guessit_fork import guessit

result = guessit(
    "The.Last.of.Us.S01E08.1080p.WEB-DL.mkv",
    options="--type episode --single-value --output-input-string",
)
print(result)

Global API helpers

from guessit_fork.api import configure, reset, properties, suggested_expected

configure({"expected_title": ["The Last of Us"]})
print(properties().keys())
print(suggested_expected(["The.Last.of.Us.S01E01.1080p.WEB.h264-ETHEL.mkv"]))
reset()

Reusable API object

from guessit_fork import GuessItApi

api = GuessItApi()
result = api.guessit("The.Last.of.Us.S01E08.1080p.WEB-DL.mkv")
print(result["title"])

Reading values safely

from guessit_fork import guessit

result = guessit("Movie.Name.2024.1080p.WEB-DL.x264.mkv")
print("Title:", result.get("title"))
print("Year:", result.get("year"))
print("Source:", result.get("source"))
print("Episode:", result.get("episode"))

Common keys in result

Common keys include:

  • title
  • type
  • year
  • season
  • season_tag
  • episode
  • episode_title
  • source
  • video_codec
  • release_group
  • container
  • mimetype
  • input_string (when output_input_string=True)