Gitignore-style path matching
Project description
GitHub | PyPI | Documentation | Issues | Changelog
gitmatch provides gitignore-style pattern matching of file paths. Simply pass in a sequence of gitignore patterns and you’ll get back an object for testing whether a given relative path matches the patterns.
Installation
gitmatch requires Python 3.8 or higher. Just use pip for Python 3 (You have pip, right?) to install it:
python3 -m pip install gitmatch
Examples
Basic usage:
>>> import gitmatch >>> gi = gitmatch.compile(["foo", "!bar", "*.dir/"]) >>> bool(gi.match("foo")) True >>> bool(gi.match("bar")) False >>> bool(gi.match("quux")) False >>> bool(gi.match("foo/quux")) True >>> bool(gi.match("foo/bar")) True >>> bool(gi.match("bar/foo")) True >>> bool(gi.match("bar/quux")) False >>> bool(gi.match("foo.dir")) False >>> bool(gi.match("foo.dir/")) True
See what pattern was matched:
>>> m1 = gi.match("foo/bar") >>> m1 is None False >>> bool(m1) True >>> m1.pattern 'foo' >>> m1.path 'foo' >>> m2 = gi.match("bar") >>> m2 is None False >>> bool(m2) False >>> m2.pattern '!bar' >>> m2.pattern_obj.negative True >>> m3 = gi.match("quux") >>> m3 is None True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gitmatch-0.2.0.tar.gz
(16.2 kB
view hashes)