File python-pathspec.changes of Package python-pathspec

-------------------------------------------------------------------
Fri Jan 16 06:46:33 UTC 2026 - Johannes Kastl <opensuse_buildservice@ojkastl.de>

- update to 1.0.3:
  * Bug fixes:
    - Issue #101: pyright strict errors with pathspec >= 1.0.0.
    - Issue #102: No module named 'tomllib'.
  * - update to 1.0.2:
  * Bug fixes:
    - Type hint collections.abc.Callable does not properly replace
      typing.Callable until Python 3.9.2.
  * - update to 1.0.1:
  * Bug fixes:
    - Issue #100: ValueError(f"{patterns=!r} cannot be empty.")
      when using black.
  * - update to 1.0.0:
  * Major changes:
    - Issue #91: Dropped support of EoL Python 3.8.
    - Added concept of backends to allow for faster regular
      expression matching. The backend can be controlled using the
      backend argument to PathSpec(), PathSpec.from_lines(),
      GitIgnoreSpec(), and GitIgnoreSpec.from_lines().
    - Renamed "gitwildmatch" pattern back to "gitignore". The
      "gitignore" pattern behaves slightly differently when used
      with PathSpec (gitignore as documented) than with
      GitIgnoreSpec (replicates Git's edge cases).
  * API changes:
    - Breaking: protected method
      pathspec.pathspec.PathSpec._match_file() (with a leading
      underscore) has been removed and replaced by backends. This
      does not affect normal usage of PathSpec or GitIgnoreSpec.
      Only custom subclasses will be affected. If this breaks your
      usage, let me know by opening an issue.
    - Deprecated: "gitwildmatch" is now an alias for "gitignore".
    - Deprecated: pathspec.patterns.GitWildMatchPattern is now an
      alias for
      pathspec.patterns.gitignore.spec.GitIgnoreSpecPattern.
    - Deprecated: pathspec.patterns.gitwildmatch module has been
      replaced by the pathspec.patterns.gitignore package.
    - Deprecated:
      pathspec.patterns.gitwildmatch.GitWildMatchPattern is now an
      alias for
      pathspec.patterns.gitignore.spec.GitIgnoreSpecPattern.
    - Deprecated:
      pathspec.patterns.gitwildmatch.GitWildMatchPatternError is
      now an alias for
      pathspec.patterns.gitignore.GitIgnorePatternError.
    - Removed: pathspec.patterns.gitwildmatch.GitIgnorePattern has
      been deprecated since v0.4 (2016-07-15).
    - Signature of method
      pathspec.pattern.RegexPattern.match_file() has been changed
      from def match_file(self, file: str) -> RegexMatchResult |
      None to def match_file(self, file: AnyStr) ->
      RegexMatchResult | None to reflect usage.
    - Signature of class method
      pathspec.pattern.RegexPattern.pattern_to_regex() has been
      changed from def pattern_to_regex(cls, pattern: str) ->
      tuple[str, bool] to def pattern_to_regex(cls, pattern:
      AnyStr) -> tuple[AnyStr | None, bool | None] to reflect usage
      and documentation.
  * New features:
    - Added optional "hyperscan" backend using hyperscan library.
      It will automatically be used when installed. This dependency
      can be installed with pip install 'pathspec[hyperscan]'.
    - Added optional "re2" backend using the google-re2 library. It
      will automatically be used when installed. This dependency
      can be installed with pip install 'pathspec[re2]'.
    - Added optional dependency on typing-extensions library to
      improve some type hints.
  * Bug fixes:
    - Issue #93: Do not remove leading spaces.
    - Issue #95: Matching for files inside folder does not seem to
      behave like .gitignore's.
    - Issue #98: UnboundLocalError in RegexPattern when initialized
      with pattern=None.
    - Type hint on return value of
      pathspec.pattern.RegexPattern.match_file() to match
      documentation.
  * Improvements:
    - Mark Python 3.13 and 3.14 as supported.
    - No-op patterns are now filtered out when matching files,
      slightly improving performance.
    - Fix performance regression in iter_tree_files() from v0.10.

-------------------------------------------------------------------
Tue Jun  3 09:05:14 UTC 2025 - Markéta Machová <mmachova@suse.com>

- Convert to pip-based build

-------------------------------------------------------------------
Tue Dec 12 13:14:15 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 0.12.1:
  * `Issue #84`_: PathSpec.match_file() returns None since
    0.12.0.
  * Major changes:
  * Dropped support of EOL Python 3.7. See `Pull #82`_.
  * API changes:
  * Signature of protected method
    `pathspec.pathspec.PathSpec._match_file()` (with a leading
    underscore) has been changed from `def _match_file(patterns:
    Iterable[Pattern], file: str) -> bool` to `def
    _match_file(patterns: Iterable[Tuple[int, Pattern]], file:
    str) -> Tuple[Optional[bool], Optional[int]]`.
  * Added `pathspec.pathspec.PathSpec.check_*()` methods. These
    methods behave similarly to `.match_*()` but return
    additional information in the `pathspec.util.CheckResult`
    objects (e.g., `CheckResult.index` indicates the index of the
    last pattern that matched the file).
  * Added `pathspec.pattern.RegexPattern.pattern` attribute which
    stores the original, uncompiled pattern.
  * Mark Python 3.12 as supported.
  * Improve test debugging.
  * Improve type hint on *on_error* parameter on
    `pathspec.pathspec.PathSpec.match_tree_entries()`.
  * Improve type hint on *on_error* parameter on
    `pathspec.util.iter_tree_entries()`.

-------------------------------------------------------------------
Thu Sep  7 11:27:28 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 0.11.2:
  * `Issue #80`_: match_files with negated path spec.
    `pathspec.PathSpec.match_*()` now have a `negate` parameter
    to make using *.gitignore* logic easier and more efficient.
  * Add edge case: patterns that end with an escaped
    space
  * Negate with caret symbol as with the exclamation mark.

-------------------------------------------------------------------
Fri Apr 21 12:29:07 UTC 2023 - Dirk Müller <dmueller@suse.com>

- add sle15_python_module_pythons (jsc#PED-68)

-------------------------------------------------------------------
Thu Apr 13 22:42:56 UTC 2023 - Matej Cepl <mcepl@suse.com>

- Make calling of %{sle15modernpython} optional.

-------------------------------------------------------------------
Sun Mar 26 19:50:29 UTC 2023 - Dirk Müller <dmueller@suse.com>

- update to 0.11.1:
  * `Issue #74`_: Include directory should override exclude file.
  * `Pull #75`_: Fix partially unknown PathLike type.
  * Convert `os.PathLike` to a string properly using `os.fspath`.
  * Major changes:
  * Changed build backend to `flit_core.buildapi`_ from
    `setuptools.build_meta`_. Building with `setuptools` through
    `setup.py` is still supported for distributions that need it.
  * `Issue #72`_/`Pull #73`_: Please consider switching the
    build-system to flit_core to ease setuptools bootstrap.

-------------------------------------------------------------------
Tue Dec 13 15:46:35 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>

- Update to version 0.10.3
  * New features:
  Added utility function pathspec.util.append_dir_sep() to aid in distinguishing between directories and files on the file-system. See Issue #65.
  * Bug fixes:
  Issue #66/Pull #67: Package not marked as py.typed.
  Issue #68: Exports are considered private.
  Issue #70/Pull #71: 'Self' string literal type is Unknown in pyright.
  * Improvements:
  Issue #65: Checking directories via match_file() does not work on Path objects.

-------------------------------------------------------------------
Sat Dec  3 19:55:41 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>

- Update to version 0.10.2:
  Bug fixes:
  * Fix failing tests on Windows.
  * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_entries().
  * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_files().
  * Type hint on root parameter on pathspec.util.iter_tree_entries().
  * Type hint on root parameter on pathspec.util.iter_tree_files().
  * Issue #64: IndexError with my .gitignore file when trying to build a Python package.
  Improvements:
  * Issue #58: CI: add GitHub Actions test workflow.

-------------------------------------------------------------------
Mon Sep 12 20:36:41 UTC 2022 - Benoît Monin <benoit.monin@gmx.fr>

- update to 0.10.1:
  * Bug fixes:
    + Fix documentation on pathspec.pattern.RegexPattern.match_file().
    + Issue #60: Remove redundant wheel dep from pyproject.toml.
    + Issue #61: Dist failure for Fedora, CentOS, EPEL.
    + Issue #62: Since version 0.10.0 pure wildcard does not work
      in some cases.
  * Improvements:
    + Restore support for legacy installations using setup.py. See
      Issue #61.
- additional changes from 0.10.0:
  * Major changes:
    + Dropped support of EOL Python 2.7, 3.5, 3.6. See Issue #47
    + The gitwildmatch pattern dir/* is now handled the same as
      dir/
    + Added pathspec.GitIgnoreSpec class (see new features)
    + Changed build system to pyproject.toml and build backend to
      setuptools.build_meta which may have unforeseen consequences
    + Renamed GitHub project from python-path-specification to
      python-pathspec. See Issue #35.
  * API changes:
    + Deprecated: pathspec.util.match_files() is an old function no
      longer used.
    + Deprecated: pathspec.match_files() is an old function no
      longer used.
    + Deprecated: pathspec.util.normalize_files() is no longer used
    + Deprecated: pathspec.util.iter_tree() is an alias for
      pathspec.util.iter_tree_files().
    + Deprecated: pathspec.iter_tree() is an alias for
      pathspec.util.iter_tree_files().
    + Deprecated: pathspec.pattern.Pattern.match() is no longer
      used. Use or implement pathspec.pattern.Pattern.match_file().
  * New features:
    + Added class pathspec.gitignore.GitIgnoreSpec (with alias
      pathspec.GitIgnoreSpec) to implement gitignore behavior not
      possible with standard PathSpec class
  * Bug fixes:
    + Issue #19: Files inside an ignored sub-directory are not
      matched.
    + Issue #41: Incorrectly (?) matches files inside directories
      that do match.
    + Issue #51: Refactor deprecated unittest aliases for Python
      3.11 compatibility.
    + Issue #53: Symlink pathspec_meta.py breaks Windows.
    + Issue #54: test_util.py uses os.symlink which can fail on
      Windows.
    + Issue #55: Backslashes at start of pattern not handled
      correctly.
    + Issue #56: pyproject.toml: include subpackages in setuptools
      config
    + Issue #57: ! doesn't exclude files in directories if the
      pattern doesn't have a trailing slash.
  * Improvements:
    + Support Python 3.10, 3.11.
    + Modernize code to Python 3.7.
    + Issue #52: match_files() is not a pure generator function,
      and it impacts tree_*() gravely.
- add BuildRequires for python >= 3.7

-------------------------------------------------------------------
Wed Jan  5 10:29:55 UTC 2022 - Dirk Müller <dmueller@suse.com>

- update to 0.9.0:
  * Raise `GitWildMatchPatternError` for invalid git patterns.
  * Fix for duplicate leading double-asterisk, and edge cases.
  * Fix matching absolute paths.
  * API change: `util.normalize_files()` now returns a
    `Dict[str, List[pathlike]]` instead of a `Dict[str, pathlike]`.
  * Added type hinting.

-------------------------------------------------------------------
Tue Jun  1 07:24:28 UTC 2021 - pgajdos@suse.com

- %check: use %pyunittest rpm macro

-------------------------------------------------------------------
Sat Dec 19 10:49:21 UTC 2020 - Dirk Müller <dmueller@suse.com>

- update to 0.8.1:
  * `Issue #43`_: Add support for addition operator

-------------------------------------------------------------------
Wed Oct  7 03:51:16 UTC 2020 - John Vandenberg <jayvdb@gmail.com>

- Update to v0.8.0
  * Expose what patterns matched paths. Added `util.detailed_match_files()`
  * `match_tree()` doesn't return symlinks
    - Add `PathSpec.match_tree_entries` and `util.iter_tree_entries()` to
      support directories and symlinks
    - API change: `match_tree()` has been renamed to `match_tree_files()`
      The old name `match_tree()` is still available as an alias
    - API change: `match_tree_files()` now returns symlinks

-------------------------------------------------------------------
Wed Mar 11 15:51:56 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>

- update to 0.7.0
  * Add support for Python 3.8, and drop Python 3.4.
  * Publish bdist wheel.

-------------------------------------------------------------------
Thu Oct 10 08:25:51 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

- Update to 0.6.0:
  * Issue #24: Drop support for Python 2.6, 3.2, and 3.3.
  * Issue #25: Update README.rst.
  * Issue #26: Method to escape gitwildmatch.

-------------------------------------------------------------------
Thu Feb 14 07:08:42 UTC 2019 - John Vandenberg <jayvdb@gmail.com>

- Update to v0.5.9
  * Fixed file system error handling.
- from v0.5.8
  * Improved type checking.
  * Created scripts to test Python 2.6 because Tox removed support for it.
  * Improved byte string handling in Python 3.
  * Handle dangling symlinks.
- from v0.5.7
  * Fix collections deprecation warning.

-------------------------------------------------------------------
Tue Dec  4 12:51:19 UTC 2018 - Matej Cepl <mcepl@suse.com>

- Remove superfluous devel dependency for noarch package

-------------------------------------------------------------------
Thu May 10 00:06:44 UTC 2018 - toddrme2178@gmail.com

- Update to 0.5.6
  * Improved unit tests.
  * Improved type checking.
  * `Issue #20`_: Support current directory prefix.
- Use license tag

-------------------------------------------------------------------
Wed Jan 17 02:36:25 UTC 2018 - toddrme2178@gmail.com

- Initial version
openSUSE Build Service is sponsored by