Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jaraco/zipp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.6.0
Choose a base ref
...
head repository: jaraco/zipp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.19.1
Choose a head ref
Loading
6 changes: 6 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -2,6 +2,12 @@
omit =
# leading `*/` for pytest-dev/pytest-cov#456
*/.tox/*
disable_warnings =
couldnt-parse

[report]
show_missing = True
exclude_also =
# jaraco/skeleton#97
@overload
if TYPE_CHECKING:
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -14,3 +14,6 @@ max_line_length = 88
[*.{yml,yaml}]
indent_style = space
indent_size = 2

[*.rst]
indent_style = space
9 changes: 0 additions & 9 deletions .flake8

This file was deleted.

1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tidelift: pypi/zipp
111 changes: 94 additions & 17 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,121 @@
name: tests

on: [push, pull_request]
on:
merge_group:
push:
branches-ignore:
# temporary GH branches relating to merge queues (jaraco/skeleton#93)
- gh-readonly-queue/**
tags:
# required if branches-ignore is supplied (jaraco/skeleton#103)
- '**'
pull_request:

permissions:
contents: read

env:
# Environment variable to support color support (jaraco/skeleton#66)
FORCE_COLOR: 1

# Suppress noisy pip warnings
PIP_DISABLE_PIP_VERSION_CHECK: 'true'
PIP_NO_PYTHON_VERSION_WARNING: 'true'
PIP_NO_WARN_SCRIPT_LOCATION: 'true'

# Ensure tests can sense settings about the environment
TOX_OVERRIDE: >-
testenv.pass_env+=GITHUB_*,FORCE_COLOR
jobs:
test:
strategy:
# https://blog.jaraco.com/efficient-use-of-ci-resources/
matrix:
python:
- 3.6
- 3.9
- 3.10.0-alpha - 3.10.99
platform: [ubuntu-latest, macos-latest, windows-latest]
- "3.8"
- "3.12"
platform:
- ubuntu-latest
- macos-latest
- windows-latest
include:
- python: "3.9"
platform: ubuntu-latest
- python: "3.10"
platform: ubuntu-latest
- python: "3.11"
platform: ubuntu-latest
- python: pypy3.10
platform: ubuntu-latest
runs-on: ${{ matrix.platform }}
continue-on-error: ${{ matrix.python == '3.13' }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- name: Install tox
run: |
python -m pip install tox
- name: Run tests
run: python -m pip install tox
- name: Run
run: tox

collateral:
strategy:
fail-fast: false
matrix:
job:
- diffcov
- docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install tox
run: python -m pip install tox
- name: Eval ${{ matrix.job }}
run: tox -e ${{ matrix.job }}

check: # This job does nothing and is only used for the branch protection
if: always()

needs:
- test
- collateral

runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}

release:
needs: test
permissions:
contents: write
needs:
- check
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: 3.x
- name: Install tox
run: |
python -m pip install tox
- name: Release
run: python -m pip install tox
- name: Run
run: tox -e release
env:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
7 changes: 4 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
repos:
- repo: https://github.com/psf/black
rev: 20.8b1
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.8
hooks:
- id: black
- id: ruff
- id: ruff-format
16 changes: 16 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
python:
install:
- path: .
extra_requirements:
- doc

# required boilerplate readthedocs/readthedocs.org#10401
build:
os: ubuntu-lts-latest
tools:
python: latest
# post-checkout job to ensure the clone isn't shallow jaraco/skeleton#114
jobs:
post_checkout:
- git fetch --unshallow || true
6 changes: 0 additions & 6 deletions .readthedocs.yml

This file was deleted.

2 changes: 0 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
Copyright Jason R. Coombs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
164 changes: 164 additions & 0 deletions CHANGES.rst → NEWS.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,167 @@
v3.19.1
=======

Bugfixes
--------

- Improved handling of malformed zip files. (#119)


v3.19.0
=======

Features
--------

- Implement is_symlink. (#117)


v3.18.2
=======

No significant changes.


v3.18.1
=======

No significant changes.


v3.18.0
=======

Features
--------

- Bypass ZipFile.namelist in glob for better performance. (#106)
- Refactored glob functionality to support a more generalized solution with support for platform-specific path separators. (#108)


Bugfixes
--------

- Add special accounting for pypy when computing the stack level for text encoding warnings. (#114)


v3.17.0
=======

Features
--------

- Added ``CompleteDirs.inject`` classmethod to make available for use elsewhere.


Bugfixes
--------

- Avoid matching path separators for '?' in glob.


v3.16.2
=======

Bugfixes
--------

- In ``Path.match``, Windows path separators are no longer honored. The fact that they were was incidental and never supported. (#92)
- Fixed name/suffix/suffixes/stem operations when no filename is present and the Path is not at the root of the zipfile. (#96)
- Reworked glob utilizing the namelist directly. (#101)


v3.16.1
=======

Bugfixes
--------

- Replaced the ``fnmatch.translate`` with a fresh glob-to-regex translator for more correct matching behavior. (#98)


v3.16.0
=======

Features
--------

- Require Python 3.8 or later.


v3.15.0
=======

* gh-102209: ``test_implied_dirs_performance`` now tests
measures the time complexity experimentally.

v3.14.0
=======

* Minor cleanup in tests, including #93.

v3.13.0
=======

* In tests, add a fallback when ``func_timeout`` isn't available.

v3.12.1
=======

* gh-101566: In ``CompleteDirs``, override ``ZipFile.getinfo``
to supply a ``ZipInfo`` for implied dirs.

v3.12.0
=======

* gh-101144: Honor ``encoding`` as positional parameter
to ``Path.open()`` and ``Path.read_text()``.

v3.11.0
=======

* #85: Added support for new methods on ``Path``:

- ``match``
- ``glob`` and ``rglob``
- ``relative_to``
- ``is_symlink``

v3.10.0
=======

* ``zipp`` is now a package.

v3.9.1
======

* Removed 'print' expression in test_pickle.

* bpo-43651: Apply ``io.text_encoding`` on Python 3.10 and later.

v3.9.0
======

* #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.

v3.8.1
======

Refreshed packaging.

Enrolled with Tidelift.

v3.8.0
======

Removed compatibility code.

v3.7.0
======

Require Python 3.7 or later.

v3.6.0
======

Loading