{"id":23832,"library":"guessit","title":"GuessIt","description":"GuessIt is a Python library and command-line tool that extracts metadata (title, season, episode, year, quality, etc.) from video filenames using a flexible set of rules and regexes. Version 3.8.0 is current. It sees regular maintenance but no fixed release cadence.","status":"active","version":"3.8.0","language":"python","source_language":"en","source_url":"https://github.com/guessit-io/guessit","tags":["video","metadata","filename-parsing","media"],"install":[{"cmd":"pip install guessit","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Parsing date patterns in filenames","package":"python-dateutil","optional":true},{"reason":"Loading custom rules from YAML files","package":"PyYAML","optional":true},{"reason":"Language and country detection","package":"babelfish","optional":true}],"imports":[{"note":"The main API is a single function import.","wrong":"","symbol":"guessit","correct":"import guessit"},{"note":"Direct import of the function is cleaner.","wrong":"import guessit; guessit.guessit()","symbol":"guessit.guessit","correct":"from guessit import guessit"}],"quickstart":{"code":"from guessit import guessit\n\nresult = guessit('The.Shawshank.Redemption.1994.1080p.BluRay.x264.mkv')\nprint(result)\n# {\"title\": \"The Shawshank Redemption\", \"year\": 1994, \"screen_size\": \"1080p\", \"source\": \"BluRay\", \"video_codec\": \"x264\", \"container\": \"mkv\"}","lang":"python","description":"Extract metadata from a single filename."},"warnings":[{"fix":"Rely on lower-case keys for consistency, but be aware of case-insensitivity.","message":"guessit returns a dictionary-like object (Guess) that is case-insensitive for keys. Accessing 'title' and 'TITLE' both work.","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'guessit' (not 'guess-it') on the command line.","message":"The command-line usage changed: from guessit v3, the CLI is invoked as 'guessit' (no hyphen). The old 'guessit' script (with hyphen) from v2 is removed.","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Replace result = guessit(filename, output='json') with result = guessit(filename, options={'output_format': 'json'}).","message":"The 'guessit' library deprecated the 'output' parameter in the API; use 'options' instead.","severity":"deprecated","affected_versions":">=3.5.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install guessit' and import with 'from guessit import guessit'.","cause":"Installed old version or different package; correct import is from guessit import guessit.","error":"ImportError: cannot import name 'guessit'"},{"fix":"Always use .get('title', 'unknown') or check key existence.","cause":"In some cases, guessit may not find a title (e.g., noise-only filenames). The returned dict might lack expected keys.","error":"KeyError: 'title'"},{"fix":"Use options={'output_format': 'json'} instead of output='json'.","cause":"Passing deprecated 'output' parameter in newer versions.","error":"TypeError: guessit() got multiple values for keyword argument 'output'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}