{"id":23876,"library":"igittigitt","title":"igittigitt","description":"A spec-compliant gitignore parser for Python. It loads .gitignore rules and provides a matcher to check if a path is ignored. Current version 2.1.5, requires Python >=3.8.0. Active development on GitHub.","status":"active","version":"2.1.5","language":"python","source_language":"en","source_url":"https://github.com/bitranox/igittigitt","tags":["gitignore","parser","matcher"],"install":[{"cmd":"pip install igittigitt","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"IgnoreRules is exposed at package level, not in a submodule.","wrong":"from igittigitt.parser import IgnoreRules","symbol":"IgnoreRules","correct":"from igittigitt import IgnoreRules"},{"note":"parse_gitignore is top-level.","wrong":"from igittigitt.parser import parse_gitignore","symbol":"parse_gitignore","correct":"from igittigitt import parse_gitignore"}],"quickstart":{"code":"from igittigitt import IgnoreRules\nrules = IgnoreRules()\nrules.parse_rule_string('*.pyc')\nassert rules.is_ignored('foo.pyc') == True","lang":"python","description":"Create IgnoreRules, add rules, and test paths."},"warnings":[{"fix":"Provide relative paths, e.g., 'src/main.py' instead of '/home/user/project/src/main.py'.","message":"IgnoreRules.is_ignored expects a path relative to the gitignore rules, not an absolute path. Using absolute paths may produce incorrect results.","severity":"gotcha","affected_versions":"all"},{"fix":"Test your patterns with both igittigitt and git check-ignore to ensure consistency.","message":"Pattern matching behavior differs from git: igittigitt does not handle negated patterns (leading '!') correctly in all edge cases. Double-check complex .gitignore files.","severity":"gotcha","affected_versions":"<2.2.0 (if released)"},{"fix":"Use IgnoreRules directly: rules = IgnoreRules(); rules.parse_file('.gitignore').","message":"The function 'parse_gitignore' returns a dict, not an IgnoreRules object. Many users expect IgnoreRules from it.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install igittigitt","cause":"Package not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'igittigitt'"},{"fix":"Use from igittigitt import parse_gitignore; result = parse_gitignore('.gitignore')","cause":"Trying to call parse_gitignore as a method on an instance. It is a module-level function.","error":"AttributeError: 'IgnoreRules' object has no attribute 'parse_gitignore'"},{"fix":"rules.is_ignored('relative/path')","cause":"Calling is_ignored without arguments.","error":"TypeError: is_ignored() missing 1 required positional argument: 'path'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}