Skip to content

Commit 5491f80

Browse files
committed
Merge branch 'main' into patch-3
2 parents b42197c + 131fae7 commit 5491f80

File tree

158 files changed

+7945
-2109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+7945
-2109
lines changed

.coveragerc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[run]
2+
omit =
3+
# leading `*/` for pytest-dev/pytest-cov#456
4+
*/.tox/*
5+
6+
# local
7+
*/compat/*
8+
*/distutils/_vendor/*
9+
disable_warnings =
10+
couldnt-parse
11+
12+
[report]
13+
show_missing = True
14+
exclude_also =
15+
# jaraco/skeleton#97
16+
@overload
17+
if TYPE_CHECKING:

.editorconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = tab
6+
indent_size = 4
7+
insert_final_newline = true
8+
end_of_line = lf
9+
10+
[*.py]
11+
indent_style = space
12+
max_line_length = 88
13+
14+
[*.{yml,yaml}]
15+
indent_style = space
16+
indent_size = 2
17+
18+
[*.rst]
19+
indent_style = space

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
allow:
8+
- dependency-type: "all"

.github/workflows/main.yml

Lines changed: 138 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,99 @@
11
name: tests
22

3-
on: [push, pull_request]
3+
on:
4+
merge_group:
5+
push:
6+
branches-ignore:
7+
# temporary GH branches relating to merge queues (jaraco/skeleton#93)
8+
- gh-readonly-queue/**
9+
tags:
10+
# required if branches-ignore is supplied (jaraco/skeleton#103)
11+
- '**'
12+
pull_request:
413

514
concurrency:
6-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
15+
group: >-
16+
${{ github.workflow }}-
17+
${{ github.ref_type }}-
18+
${{ github.event.pull_request.number || github.sha }}
719
cancel-in-progress: true
820

21+
permissions:
22+
contents: read
23+
24+
env:
25+
# Environment variable to support color support (jaraco/skeleton#66)
26+
FORCE_COLOR: 1
27+
28+
# Suppress noisy pip warnings
29+
PIP_DISABLE_PIP_VERSION_CHECK: 'true'
30+
PIP_NO_PYTHON_VERSION_WARNING: 'true'
31+
PIP_NO_WARN_SCRIPT_LOCATION: 'true'
32+
33+
# Ensure tests can sense settings about the environment
34+
TOX_OVERRIDE: >-
35+
testenv.pass_env+=GITHUB_*,FORCE_COLOR
36+
937
jobs:
1038
test:
1139
strategy:
40+
# https://blog.jaraco.com/efficient-use-of-ci-resources/
1241
matrix:
1342
python:
14-
# Build on pre-releases until stable, then stable releases.
15-
# actions/setup-python#213
16-
- ~3.7.0-0
17-
- ~3.10.0-0
18-
- ~3.11.0-0
43+
- "3.8"
44+
- "3.12"
1945
platform:
2046
- ubuntu-latest
2147
- macos-latest
2248
- windows-latest
2349
include:
24-
- platform: ubuntu-latest
25-
python: 'pypy3.9'
50+
- python: "3.9"
51+
platform: ubuntu-latest
52+
- python: "3.10"
53+
platform: ubuntu-latest
54+
- python: "3.11"
55+
platform: ubuntu-latest
56+
- python: pypy3.10
57+
platform: ubuntu-latest
2658
runs-on: ${{ matrix.platform }}
59+
continue-on-error: ${{ matrix.python == '3.13' }}
2760
steps:
28-
- uses: actions/checkout@v3
61+
- uses: actions/checkout@v4
2962
- name: Setup Python
3063
uses: actions/setup-python@v4
3164
with:
3265
python-version: ${{ matrix.python }}
66+
allow-prereleases: true
3367
- name: Install tox
34-
run: |
35-
python -m pip install tox
36-
- name: Run tests
68+
run: python -m pip install tox
69+
- name: Run
3770
run: tox
3871

72+
collateral:
73+
strategy:
74+
fail-fast: false
75+
matrix:
76+
job:
77+
- diffcov
78+
- docs
79+
runs-on: ubuntu-latest
80+
continue-on-error: ${{ matrix.python == '3.12' }}
81+
steps:
82+
- uses: actions/checkout@v4
83+
with:
84+
fetch-depth: 0
85+
- name: Setup Python
86+
uses: actions/setup-python@v4
87+
with:
88+
python-version: 3.x
89+
- name: Install tox
90+
run: python -m pip install tox
91+
- name: Eval ${{ matrix.job }}
92+
run: tox -e ${{ matrix.job }}
93+
3994
test_cygwin:
95+
# disabled due to lack of Rust support pypa/setuptools#3921
96+
if: ${{ false }}
4097
strategy:
4198
matrix:
4299
python:
@@ -58,10 +115,53 @@ jobs:
58115
gcc-core,
59116
gcc-g++,
60117
ncompress
118+
git
61119
- name: Run tests
62120
shell: C:\cygwin\bin\env.exe CYGWIN_NOWINPATH=1 CHERE_INVOKING=1 C:\cygwin\bin\bash.exe -leo pipefail -o igncr {0}
63121
run: tox
64122

123+
test_msys2_mingw:
124+
strategy:
125+
matrix:
126+
include:
127+
- { sys: mingw64, env: x86_64, cc: gcc, cxx: g++ }
128+
- { sys: mingw32, env: i686, cc: gcc, cxx: g++ }
129+
- { sys: ucrt64, env: ucrt-x86_64, cc: gcc, cxx: g++ }
130+
- { sys: clang64, env: clang-x86_64, cc: clang, cxx: clang++}
131+
runs-on: windows-latest
132+
steps:
133+
- uses: actions/checkout@v4
134+
- uses: msys2/setup-msys2@v2
135+
with:
136+
msystem: ${{matrix.sys}}
137+
install: |
138+
mingw-w64-${{matrix.env}}-toolchain
139+
mingw-w64-${{matrix.env}}-python
140+
mingw-w64-${{matrix.env}}-python-pip
141+
mingw-w64-${{matrix.env}}-python-virtualenv
142+
mingw-w64-${{matrix.env}}-cc
143+
git
144+
- name: Install Dependencies
145+
shell: msys2 {0}
146+
run: |
147+
export VIRTUALENV_NO_SETUPTOOLS=1
148+
149+
python -m virtualenv /tmp/venv
150+
source /tmp/venv/bin/activate
151+
152+
# python-ruff doesn't work without rust
153+
sed -i '/pytest-ruff/d' pyproject.toml
154+
155+
pip install -e .[test]
156+
- name: Run tests
157+
shell: msys2 {0}
158+
env:
159+
CC: ${{ matrix.cc }}
160+
CXX: ${{ matrix.cxx }}
161+
run: |
162+
source /tmp/venv/bin/activate
163+
pytest
164+
65165
ci_setuptools:
66166
# Integration testing with setuptools
67167
strategy:
@@ -100,21 +200,40 @@ jobs:
100200
env:
101201
VIRTUALENV_NO_SETUPTOOLS: null
102202

203+
check: # This job does nothing and is only used for the branch protection
204+
if: always()
205+
206+
needs:
207+
- test
208+
- collateral
209+
# disabled due to disabled job
210+
# - test_cygwin
211+
212+
runs-on: ubuntu-latest
213+
214+
steps:
215+
- name: Decide whether the needed jobs succeeded or failed
216+
uses: re-actors/alls-green@release/v1
217+
with:
218+
jobs: ${{ toJSON(needs) }}
219+
103220
release:
104-
needs: test
221+
permissions:
222+
contents: write
223+
needs:
224+
- check
105225
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
106226
runs-on: ubuntu-latest
107227

108228
steps:
109-
- uses: actions/checkout@v3
229+
- uses: actions/checkout@v4
110230
- name: Setup Python
111231
uses: actions/setup-python@v4
112232
with:
113-
python-version: "3.10"
233+
python-version: 3.11-dev
114234
- name: Install tox
115-
run: |
116-
python -m pip install tox
117-
- name: Release
235+
run: python -m pip install tox
236+
- name: Run
118237
run: tox -e release
119238
env:
120239
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
repos:
2+
- repo: https://github.com/astral-sh/ruff-pre-commit
3+
rev: v0.1.8
4+
hooks:
5+
- id: ruff
6+
- id: ruff-format

.readthedocs.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: 2
2+
python:
3+
install:
4+
- path: .
5+
extra_requirements:
6+
- doc
7+
8+
# required boilerplate readthedocs/readthedocs.org#10401
9+
build:
10+
os: ubuntu-lts-latest
11+
tools:
12+
python: latest
13+
# post-checkout job to ensure the clone isn't shallow jaraco/skeleton#114
14+
jobs:
15+
post_checkout:
16+
- git fetch --unshallow || true

LICENSE

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Permission is hereby granted, free of charge, to any person obtaining a copy
2+
of this software and associated documentation files (the "Software"), to
3+
deal in the Software without restriction, including without limitation the
4+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
5+
sell copies of the Software, and to permit persons to whom the Software is
6+
furnished to do so, subject to the following conditions:
7+
8+
The above copyright notice and this permission notice shall be included in
9+
all copies or substantial portions of the Software.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
16+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
17+
IN THE SOFTWARE.

NEWS.rst

Whitespace-only changes.

README.rst

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
1-
Python Module Distribution Utilities extracted from the Python Standard Library
1+
.. image:: https://img.shields.io/pypi/v/distutils.svg
2+
:target: https://pypi.org/project/distutils
3+
4+
.. image:: https://img.shields.io/pypi/pyversions/distutils.svg
5+
6+
.. image:: https://github.com/pypa/distutils/actions/workflows/main.yml/badge.svg
7+
:target: https://github.com/pypa/distutils/actions?query=workflow%3A%22tests%22
8+
:alt: tests
9+
10+
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
11+
:target: https://github.com/astral-sh/ruff
12+
:alt: Ruff
213

3-
Synchronizing
4-
=============
14+
.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
15+
.. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest
16+
17+
.. image:: https://img.shields.io/badge/skeleton-2024-informational
18+
:target: https://blog.jaraco.com/skeleton
19+
20+
Python Module Distribution Utilities extracted from the Python Standard Library
521

6-
This project is no longer kept in sync with the code still in stdlib, which is deprecated and scheduled for removal.
22+
This package is unsupported except as integrated into and exposed by Setuptools.
723

8-
To Setuptools
9-
-------------
24+
Integration
25+
-----------
1026

1127
Simply merge the changes directly into setuptools' repo.

0 commit comments

Comments
 (0)