- #85: Added support for new methods on
Path
:match
glob
andrglob
relative_to
is_symlink
zipp
is now a package.
- Removed 'print' expression in test_pickle.
- bpo-43651: Apply
io.text_encoding
on Python 3.10 and later.
- #81:
Path
objects are now pickleable if they've been constructed from pickleable objects. Any restored objects will re-construct the zip file with the original arguments.
Refreshed packaging.
Enrolled with Tidelift.
Removed compatibility code.
Require Python 3.7 or later.
#78: Only Path
is exposed in the public API.
#77: Remove news file intended only for CPython.
#74 and bpo-44095: Added .suffix
, .suffixes
, and .stem
properties.
Refresh package metadata.
Refresh packaging.
#68 and bpo-42090: Path.joinpath
now takes arbitrary positional arguments and no longer accepts add
as a keyword argument.
Updated project metadata including badges.
bpo-42043: Add tests capturing subclassing requirements.
#9: Path
objects now expose a .filename
attribute and rely on that to resolve .name
and .parent
when the Path
object is at the root of the zipfile.
#57 and bpo-40564: Mutate the passed ZipFile object type instead of making a copy. Prevents issues when both the local copy and the caller's copy attempt to close the same file handle.
#56 and bpo-41035: Path._next
now honors subclasses.
#55: Path.is_file()
now returns False for non-existent names.
#47: .open
now raises FileNotFoundError
and IsADirectoryError
when appropriate.
#44: Merge with v1.2.0.
#44: zipp.Path.open()
now supports a compatible signature as pathlib.Path.open()
, accepting text (default) or binary modes and soliciting keyword parameters passed through to io.TextIOWrapper
(encoding, newline, etc). The stream is opened in text-mode by default now. open
no longer accepts pwd
as a positional argument and does not accept the force_zip64
parameter at all. This change is a backward-incompatible change for that single function.
#43: Merge with v1.1.1.
#43: Restored performance of implicit dir computation.
#36: Rebuild package with minimum Python version declared both in package metadata and in the python tag.
#32: Merge with v1.1.0.
#32: For read-only zip files, complexity of .exists
and joinpath
is now constant time instead of O(n)
, preventing quadratic time in common use-cases and rendering large zip files unusable for Path. Big thanks to Benjy Weinberger for the bug report and contributed fix (#33).
#30: Corrected version inference (from jaraco/skeleton#12).
Require Python 3.6 or later.
Re-release of 0.6 to correspond with release as found in Python 3.8.
#12: When adding implicit dirs, ensure that ancestral directories are added and that duplicates are excluded.
The library now relies on more_itertools.
#7: Parent of a directory now actually returns the parent.
Declared package as backport.
Add .joinpath()
method and .parent
property.
Now a backport release of the zipfile.Path
class.
#4: Add support for zip files with implied directories.
#3: Fix issue where .name
on a directory was empty.
#2: Fix TypeError on Python 2.7 when classic division is used.
#1: Fix TypeError on Python 3.5 when joining to a path-like object.
Add support for constructing a zipp.Path
from any path-like object.
zipp.Path
is now a new-style class on Python 2.7.
Fix issue with __str__
.
Drop reliance on future-fstrings.
Initial release with basic functionality.