{ "info": { "author": "Charles Samborski", "author_email": "demurgos.net@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": "Pathmatch\n=========\n\nPython implementation of ``git``'s ``wildmatch`` and `POSIX.1-2008 `_ ``fnmatch``.\n\nThe aim of this package is to provide a file matching module complying with the POSIX standard and\nallow compatibility with ``git``.\n\nExample\n-------\n\n.. code:: python\n\n from pathmatch import wildmatch\n\n # Pattern matching auto-generated test files (extension .pyc, .pyo or .pyd inside tests/)\n pattern = u'tests/**/*.py[cod]'\n\n # Match single files:\n wildmatch.match(pattern, u'tests/auto.pyc') # True\n wildmatch.match(pattern, u'auto.pyc') # False\n\n # Filter a collection:\n files = [\n u'tests/deep/auto.pyd',\n u'tests/module.py',\n u'package/auto.pyc',\n u'tests/auto.pyo'\n ]\n list(wildmatch.filter(pattern, files)) # [u'tests/deep/auto.pyd', u'tests/auto.pyo']\n\n # Compile a pattern\n compiled = wildmatch.WildmatchPattern(pattern)\n\n compiled.match(u'tests/') # False\n\n\nFeatures\n--------\n\nwildmatch support\n~~~~~~~~~~~~~~~~~\n\nCurrently, the following ``wildmatch`` features are supported:\n\n- Wildstar ``**`` operator and associated semantics (``/`` requires a literal match)\n- Literal matching\n- Question mark ``?`` (any character) and asterisk ``*`` (any string) operators\n- Bracket expressions ``[abc]`` (character alternatives)\n\nBracket expression features:\n\n- Negation (supports both ``^`` and ``!`` meta-characters)\n- Range expressions ``a-z``\n- Collation Symbol ``[.ch.]``\n- Equivalence classes syntax ``[=e=]``, but fallback to collation symbol semantics\n- Supports the ``path_name`` flag to exclude ``/`` (which requires a literal match)\n\nSee ``test_wildmatch.py`` for more details.\n\nLimitations:\n\n- ``case_fold`` (case insensitive) option is not supported\n- ``period`` (require literal match for leading period) option is not supported\n- Negated bracket expression with multi-character collating elements are not supported\n- Character classes ``[:alpha:]`` for bracket expressions are not supported\n\n**Contributions are welcomed**\n\nfnmatch support\n~~~~~~~~~~~~~~~\n\nThe dedicated ``fnmatch`` module is not yet configured (this should just be a subset of wildmatch).\n\nContributing\n------------\n\nTests\n~~~~~\n\nYou can execute the tests with the following command:\n\n.. code:: shell\n\n python -m unittest discover -s . -p test*.py\n\n\nReferences:\n-----------\n\n- `fnmatch `_, see also `pattern matching `_\n- `wildmatch C implementation for git `_\n- `wildmatch C implementation (alternative) `_\n- `wildmatch Javascript implementation `_\n\nLicense\n-------\n\nMIT License, Copyright (c) 2016 Charles Samborski", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/demurgos/py-pathmatch/tarball/v0.2.1", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/demurgos/py-pathmatch", "keywords": "fnmatch,wildmatch,gitignore", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "pathmatch", "package_url": "https://pypi.org/project/pathmatch/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pathmatch/", "project_urls": { "Download": "https://github.com/demurgos/py-pathmatch/tarball/v0.2.1", "Homepage": "https://github.com/demurgos/py-pathmatch" }, "release_url": "https://pypi.org/project/pathmatch/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Path matching utilities", "version": "0.2.1" }, "last_serial": 2302229, "releases": { "0.1.3": [], "0.1.4": [ { "comment_text": "", "digests": { "md5": "836a5b995793de29f732ed3bd3f88d95", "sha256": "5d623f2737a9a2aee8739a7f0f3ce624df9effdb70d66f14f566bcc83091e56f" }, "downloads": -1, "filename": "pathmatch-0.1.4.zip", "has_sig": false, "md5_digest": "836a5b995793de29f732ed3bd3f88d95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17230, "upload_time": "2016-08-09T13:23:08", "url": "https://files.pythonhosted.org/packages/b9/0d/558b3e68dcc4c6c78b0e62bd31bcea1e33b84aef4387dd757f003d92b49b/pathmatch-0.1.4.zip" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "130014184c342ac29481fd209d8325f0", "sha256": "aad1b5b2abbaeb2479d336aab4d1e8d277f3aa5d53f378d146509ca0f1be00a6" }, "downloads": -1, "filename": "pathmatch-0.1.5.zip", "has_sig": false, "md5_digest": "130014184c342ac29481fd209d8325f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17235, "upload_time": "2016-08-09T13:32:33", "url": "https://files.pythonhosted.org/packages/e4/ef/ae35d182cce04ef14af1d2e0af9722006fa1a04f0048d0c616148104c43c/pathmatch-0.1.5.zip" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "976f576c2c753d43c8286e1256d1b9a3", "sha256": "92d4b4fb901d2e5991af8b0253f1472571c576050fdf705be4ac0f5ae7c7fe98" }, "downloads": -1, "filename": "pathmatch-0.1.6.zip", "has_sig": false, "md5_digest": "976f576c2c753d43c8286e1256d1b9a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17244, "upload_time": "2016-08-09T14:17:48", "url": "https://files.pythonhosted.org/packages/f4/32/b0acfadb14dcaee1bb8b35e9695fb0d8314f54acdbd8b32c42e90d3d5ad9/pathmatch-0.1.6.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7b6743b0a86a252de6eac56c11475a9e", "sha256": "77c1835bf127717be58740f77577eff5d7f1b059ff4e132b24d61021b0b3373b" }, "downloads": -1, "filename": "pathmatch-0.2.0.zip", "has_sig": false, "md5_digest": "7b6743b0a86a252de6eac56c11475a9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23392, "upload_time": "2016-08-24T14:20:26", "url": "https://files.pythonhosted.org/packages/97/6f/04cd8b420fa89e2df17025572abfd9a6f4dc076426845149114d2b64303a/pathmatch-0.2.0.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6e7a1c27cdd0166c2a27117abb505c7f", "sha256": "b35db907d0532c66132e5bc8aaa20dbfae916441987c8f0abd53ac538376d9a7" }, "downloads": -1, "filename": "pathmatch-0.2.1.zip", "has_sig": false, "md5_digest": "6e7a1c27cdd0166c2a27117abb505c7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23432, "upload_time": "2016-08-25T10:34:33", "url": "https://files.pythonhosted.org/packages/10/f5/b9823d0042bbff98bd5cf3f5a19ccadd6d0c41034f9bfb6639baed18595c/pathmatch-0.2.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e7a1c27cdd0166c2a27117abb505c7f", "sha256": "b35db907d0532c66132e5bc8aaa20dbfae916441987c8f0abd53ac538376d9a7" }, "downloads": -1, "filename": "pathmatch-0.2.1.zip", "has_sig": false, "md5_digest": "6e7a1c27cdd0166c2a27117abb505c7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23432, "upload_time": "2016-08-25T10:34:33", "url": "https://files.pythonhosted.org/packages/10/f5/b9823d0042bbff98bd5cf3f5a19ccadd6d0c41034f9bfb6639baed18595c/pathmatch-0.2.1.zip" } ] }