devpi-builder 6.1.0__tar.gz → 7.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/.github/workflows/tests.yml +13 -3
  2. devpi_builder-7.0.0/.python-version +1 -0
  3. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/CHANGELOG.rst +20 -0
  4. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/PKG-INFO +39 -8
  5. devpi_builder-7.0.0/core-requirements.txt +8 -0
  6. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder/cli.py +2 -2
  7. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/PKG-INFO +39 -8
  8. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/SOURCES.txt +2 -1
  9. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/requires.txt +3 -3
  10. devpi_builder-7.0.0/pyproject.toml +8 -0
  11. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/requirements.in +2 -1
  12. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/requirements.txt +109 -113
  13. devpi_builder-7.0.0/setup.cfg +4 -0
  14. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/setup.py +3 -6
  15. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/test_cli.py +21 -12
  16. devpi-builder-6.1.0/core-requirements.txt +0 -8
  17. devpi-builder-6.1.0/setup.cfg +0 -10
  18. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/.coveragerc +0 -0
  19. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/.github/workflows/publish.yml +0 -0
  20. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/.gitignore +0 -0
  21. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/.pyup.yml +0 -0
  22. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/COPYING +0 -0
  23. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/MANIFEST.in +0 -0
  24. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/README.rst +0 -0
  25. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder/__init__.py +0 -0
  26. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder/requirements.py +0 -0
  27. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder/wheeler.py +0 -0
  28. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/dependency_links.txt +0 -0
  29. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/entry_points.txt +0 -0
  30. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/devpi_builder.egg-info/top_level.txt +0 -0
  31. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-ascii_package/dist/non-ascii-package-0.1.dev1.tar.gz +0 -0
  32. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-ascii_package/setup.cfg +0 -0
  33. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-ascii_package/setup.py +0 -0
  34. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-pure_package/dist/test_package-0.1.dev1-cp27-none-linux_x86_64.whl +0 -0
  35. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-pure_package/setup.cfg +0 -0
  36. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/non-pure_package/setup.py +0 -0
  37. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/pure_package/dist/test_package-0.1.dev1-py2.py3-none-any.whl +0 -0
  38. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/pure_package/setup.cfg +0 -0
  39. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/pure_package/setup.py +0 -0
  40. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/pure_package/test_package/__init__.py +0 -0
  41. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_blacklist.txt +0 -0
  42. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_comments.txt +0 -0
  43. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_continue_on_failed.txt +0 -0
  44. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_different_styles.txt +0 -0
  45. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_inexact_version.txt +0 -0
  46. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_junit.txt +0 -0
  47. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_multiple_versions.txt +0 -0
  48. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_multiple_versions_on_line.txt +0 -0
  49. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_no_version.txt +0 -0
  50. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_non-ascii.txt +0 -0
  51. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_pure_and_non-pure.txt +0 -0
  52. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_simple.txt +0 -0
  53. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_test_package.txt +0 -0
  54. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/fixture/sample_vcs.txt +0 -0
  55. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/test_requirements.py +0 -0
  56. {devpi-builder-6.1.0 → devpi_builder-7.0.0}/tests/test_wheeler.py +0 -0
@@ -10,8 +10,9 @@ jobs:
10
10
  test:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
+ fail-fast: false
13
14
  matrix:
14
- python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
15
+ python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
15
16
  steps:
16
17
  - uses: actions/checkout@v3
17
18
  - name: Set up Python ${{ matrix.python-version }}
@@ -21,16 +22,25 @@ jobs:
21
22
  - name: Install dependencies
22
23
  run: |
23
24
  python -m pip install --upgrade pip
25
+ # requirements.txt omits setuptools (pip-compile); setuptools<82 needed for pkg_resources (devpi-server)
26
+ python -m pip install 'setuptools<82'
24
27
  python -m pip install -r requirements.txt
25
28
  python -m pip install --no-deps -e .
26
- python -m pip install coveralls
29
+ if [ "${{ matrix.python-version }}" != "3.13" ]; then # workaround for TheKevJames/coveralls-python#523
30
+ python -m pip install coveralls
31
+ fi
27
32
  python -m pip freeze
28
33
  python -m pip --version
29
34
  python -c 'import setuptools; print(f"setuptools=={setuptools.__version__}")'
30
35
  - name: Test with pytest
31
36
  run: |
32
- pytest
37
+ if [ "${{ matrix.python-version }}" == "3.13" ]; then
38
+ pytest --no-cov # workaround for TheKevJames/coveralls-python#523
39
+ else
40
+ pytest
41
+ fi
33
42
  - name: Upload coverage data
43
+ if: matrix.python-version != '3.13' # workaround for TheKevJames/coveralls-python#523
34
44
  run: |
35
45
  coveralls --service=github
36
46
  env:
@@ -0,0 +1 @@
1
+ 3.9
@@ -5,6 +5,26 @@ Changelog
5
5
  This lists the most important changes for each release.
6
6
 
7
7
 
8
+ Version 7.0.0 - 2026-02-16
9
+ ==========================
10
+
11
+ Added
12
+ -----
13
+
14
+ * Support for Python 3.12 and 3.13.
15
+ * Compatibility with junit-xml >= 2.0.
16
+
17
+ Fixed
18
+ -----
19
+
20
+ * Ensure Setuptools and ``wheel-filename`` are installed in compatible versions.
21
+
22
+ Removed
23
+ -------
24
+
25
+ * Python 3.6 to 3.8 are no longer supported. They likely still works but we will no longer run CI against it.
26
+ * Compatibility with junit-xml < 1.9. Junit-xml 1.9 was released more than three years ago.
27
+
8
28
  Version 6.1.0 — 2023-09-22
9
29
  ==========================
10
30
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: devpi-builder
3
- Version: 6.1.0
3
+ Version: 7.0.0
4
4
  Summary: Devpi-builder takes a requirements.txt and incrementally fills a devpi index with wheels of the listed python packages.
5
5
  Home-page: https://github.com/blue-yonder/devpi-builder
6
6
  Author: Matthias Bach
@@ -13,22 +13,33 @@ Classifier: Intended Audience :: System Administrators
13
13
  Classifier: License :: OSI Approved :: BSD License
14
14
  Classifier: Topic :: System :: Archiving :: Packaging
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.7
17
- Classifier: Programming Language :: Python :: 3.8
18
16
  Classifier: Programming Language :: Python :: 3.9
19
17
  Classifier: Programming Language :: Python :: 3.10
20
18
  Classifier: Programming Language :: Python :: 3.11
21
- Requires-Python: >=3.7
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Requires-Python: >=3.9
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: COPYING
24
24
  Requires-Dist: devpi-plumber>=0.2.14
25
- Requires-Dist: setuptools
25
+ Requires-Dist: setuptools<82
26
26
  Requires-Dist: wheel
27
- Requires-Dist: wheel-filename
27
+ Requires-Dist: wheel-filename<2
28
28
  Requires-Dist: wheel-inspect>=1.6.0
29
29
  Requires-Dist: pip>=1.5.3
30
- Requires-Dist: junit-xml
30
+ Requires-Dist: junit-xml>=1.9
31
31
  Requires-Dist: pip-requirements-parser>=32.0.1
32
+ Dynamic: author
33
+ Dynamic: author-email
34
+ Dynamic: classifier
35
+ Dynamic: description
36
+ Dynamic: description-content-type
37
+ Dynamic: home-page
38
+ Dynamic: license
39
+ Dynamic: license-file
40
+ Dynamic: requires-dist
41
+ Dynamic: requires-python
42
+ Dynamic: summary
32
43
 
33
44
  =========================
34
45
  Brandon the Devpi Builder
@@ -137,6 +148,26 @@ Changelog
137
148
  This lists the most important changes for each release.
138
149
 
139
150
 
151
+ Version 7.0.0 - 2026-02-16
152
+ ==========================
153
+
154
+ Added
155
+ -----
156
+
157
+ * Support for Python 3.12 and 3.13.
158
+ * Compatibility with junit-xml >= 2.0.
159
+
160
+ Fixed
161
+ -----
162
+
163
+ * Ensure Setuptools and ``wheel-filename`` are installed in compatible versions.
164
+
165
+ Removed
166
+ -------
167
+
168
+ * Python 3.6 to 3.8 are no longer supported. They likely still works but we will no longer run CI against it.
169
+ * Compatibility with junit-xml < 1.9. Junit-xml 1.9 was released more than three years ago.
170
+
140
171
  Version 6.1.0 — 2023-09-22
141
172
  ==========================
142
173
 
@@ -0,0 +1,8 @@
1
+ devpi-plumber>=0.2.14
2
+ setuptools<82 # setuptools 82 drops pkg_resources
3
+ wheel
4
+ wheel-filename<2 # wheel-filename 2 breaks imports of InvalidFilenameError, parse_wheel_filename
5
+ wheel-inspect>=1.6.0
6
+ pip>=1.5.3
7
+ junit-xml>=1.9 # First version to support to_xml_report_file
8
+ pip-requirements-parser>=32.0.1
@@ -11,7 +11,7 @@ import locale
11
11
  import logging
12
12
  import os
13
13
 
14
- from junit_xml import TestSuite, TestCase
14
+ from junit_xml import TestSuite, TestCase, to_xml_report_file
15
15
  from devpi_plumber.client import DevpiClient, DevpiClientError
16
16
 
17
17
  from devpi_builder import requirements, wheeler
@@ -127,7 +127,7 @@ class Processor(object):
127
127
  encoding = locale.getpreferredencoding()
128
128
  with codecs.open(self._junit_xml, 'w', encoding) as output:
129
129
  test_suite = TestSuite('devpi-builder results', self._results)
130
- TestSuite.to_file(output, [test_suite], encoding=encoding)
130
+ to_xml_report_file(output, [test_suite], encoding=encoding)
131
131
 
132
132
 
133
133
  def main(args=None):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: devpi-builder
3
- Version: 6.1.0
3
+ Version: 7.0.0
4
4
  Summary: Devpi-builder takes a requirements.txt and incrementally fills a devpi index with wheels of the listed python packages.
5
5
  Home-page: https://github.com/blue-yonder/devpi-builder
6
6
  Author: Matthias Bach
@@ -13,22 +13,33 @@ Classifier: Intended Audience :: System Administrators
13
13
  Classifier: License :: OSI Approved :: BSD License
14
14
  Classifier: Topic :: System :: Archiving :: Packaging
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.7
17
- Classifier: Programming Language :: Python :: 3.8
18
16
  Classifier: Programming Language :: Python :: 3.9
19
17
  Classifier: Programming Language :: Python :: 3.10
20
18
  Classifier: Programming Language :: Python :: 3.11
21
- Requires-Python: >=3.7
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Requires-Python: >=3.9
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: COPYING
24
24
  Requires-Dist: devpi-plumber>=0.2.14
25
- Requires-Dist: setuptools
25
+ Requires-Dist: setuptools<82
26
26
  Requires-Dist: wheel
27
- Requires-Dist: wheel-filename
27
+ Requires-Dist: wheel-filename<2
28
28
  Requires-Dist: wheel-inspect>=1.6.0
29
29
  Requires-Dist: pip>=1.5.3
30
- Requires-Dist: junit-xml
30
+ Requires-Dist: junit-xml>=1.9
31
31
  Requires-Dist: pip-requirements-parser>=32.0.1
32
+ Dynamic: author
33
+ Dynamic: author-email
34
+ Dynamic: classifier
35
+ Dynamic: description
36
+ Dynamic: description-content-type
37
+ Dynamic: home-page
38
+ Dynamic: license
39
+ Dynamic: license-file
40
+ Dynamic: requires-dist
41
+ Dynamic: requires-python
42
+ Dynamic: summary
32
43
 
33
44
  =========================
34
45
  Brandon the Devpi Builder
@@ -137,6 +148,26 @@ Changelog
137
148
  This lists the most important changes for each release.
138
149
 
139
150
 
151
+ Version 7.0.0 - 2026-02-16
152
+ ==========================
153
+
154
+ Added
155
+ -----
156
+
157
+ * Support for Python 3.12 and 3.13.
158
+ * Compatibility with junit-xml >= 2.0.
159
+
160
+ Fixed
161
+ -----
162
+
163
+ * Ensure Setuptools and ``wheel-filename`` are installed in compatible versions.
164
+
165
+ Removed
166
+ -------
167
+
168
+ * Python 3.6 to 3.8 are no longer supported. They likely still works but we will no longer run CI against it.
169
+ * Compatibility with junit-xml < 1.9. Junit-xml 1.9 was released more than three years ago.
170
+
140
171
  Version 6.1.0 — 2023-09-22
141
172
  ==========================
142
173
 
@@ -1,14 +1,15 @@
1
1
  .coveragerc
2
2
  .gitignore
3
+ .python-version
3
4
  .pyup.yml
4
5
  CHANGELOG.rst
5
6
  COPYING
6
7
  MANIFEST.in
7
8
  README.rst
8
9
  core-requirements.txt
10
+ pyproject.toml
9
11
  requirements.in
10
12
  requirements.txt
11
- setup.cfg
12
13
  setup.py
13
14
  .github/workflows/publish.yml
14
15
  .github/workflows/tests.yml
@@ -1,8 +1,8 @@
1
1
  devpi-plumber>=0.2.14
2
- setuptools
2
+ setuptools<82
3
3
  wheel
4
- wheel-filename
4
+ wheel-filename<2
5
5
  wheel-inspect>=1.6.0
6
6
  pip>=1.5.3
7
- junit-xml
7
+ junit-xml>=1.9
8
8
  pip-requirements-parser>=32.0.1
@@ -0,0 +1,8 @@
1
+ [build-system]
2
+ requires = ["setuptools>=64", "setuptools_scm>=8"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools_scm]
6
+
7
+ [tool.pytest.ini_options]
8
+ addopts = "--cov-report= --cov=devpi_builder tests"
@@ -1,8 +1,9 @@
1
1
  -r core-requirements.txt
2
2
 
3
3
  setuptools_scm
4
- pytest
4
+ pytest>=6.2 # Minimum version we know yield_fixture to be an alias for fixture
5
5
  pytest-cov
6
6
  pytest-mock
7
7
  mock
8
8
  devpi-plumber[test]>=0.4.3
9
+ legacy-cgi
@@ -1,193 +1,187 @@
1
1
  #
2
- # This file is autogenerated by pip-compile with Python 3.8
2
+ # This file is autogenerated by pip-compile with Python 3.9
3
3
  # by the following command:
4
4
  #
5
- # pip-compile --no-emit-index-url
5
+ # pip-compile --no-emit-index-url --strip-extras
6
6
  #
7
- aiohttp==3.8.5
8
- # via devpi-server
9
- aiosignal==1.2.0
10
- # via aiohttp
11
- argon2-cffi==21.3.0
7
+ anyio==4.9.0
8
+ # via httpx
9
+ argon2-cffi==23.1.0
12
10
  # via
13
11
  # devpi-server
14
12
  # passlib
15
13
  argon2-cffi-bindings==21.2.0
16
14
  # via argon2-cffi
17
- async-timeout==4.0.2
18
- # via aiohttp
19
- attrs==21.4.0
15
+ attrs==25.3.0
20
16
  # via
21
- # aiohttp
22
17
  # devpi-server
23
- # pytest
18
+ # headerparser
24
19
  # wheel-inspect
25
- bleach==5.0.1
26
- # via readme-renderer
27
- build==0.8.0
28
- # via check-manifest
29
- certifi==2023.7.22
30
- # via requests
31
- cffi==1.15.0
32
- # via argon2-cffi-bindings
33
- charset-normalizer==2.0.12
20
+ build==1.2.2.post1
34
21
  # via
35
- # aiohttp
22
+ # check-manifest
23
+ # devpi-client
24
+ certifi==2025.1.31
25
+ # via
26
+ # httpcore
27
+ # httpx
36
28
  # requests
37
- check-manifest==0.48
29
+ cffi==1.17.1
30
+ # via argon2-cffi-bindings
31
+ charset-normalizer==3.4.1
32
+ # via requests
33
+ check-manifest==0.50
38
34
  # via devpi-client
39
- coverage[toml]==6.4.1
35
+ coverage==7.8.0
40
36
  # via pytest-cov
41
37
  defusedxml==0.7.1
42
38
  # via devpi-server
43
- devpi-client==5.2.3
39
+ deprecated==1.2.18
40
+ # via headerparser
41
+ devpi-client==7.2.0
44
42
  # via devpi-plumber
45
- devpi-common==3.6.0
43
+ devpi-common==4.0.4
46
44
  # via
47
45
  # devpi-client
48
46
  # devpi-server
49
- devpi-plumber[test]==0.6.0
47
+ devpi-plumber==0.7.0
50
48
  # via
51
49
  # -r core-requirements.txt
52
50
  # -r requirements.in
53
- devpi-server==6.5.1
51
+ devpi-server==6.14.0
54
52
  # via devpi-plumber
55
- distlib==0.3.4
56
- # via virtualenv
57
- docutils==0.19
53
+ docutils==0.21.2
58
54
  # via readme-renderer
59
- entry-points-txt==0.1.0
55
+ entry-points-txt==0.2.1
60
56
  # via wheel-inspect
61
- filelock==3.7.1
62
- # via
63
- # tox
64
- # virtualenv
65
- frozenlist==1.3.3
57
+ exceptiongroup==1.2.2
66
58
  # via
67
- # aiohttp
68
- # aiosignal
69
- headerparser==0.4.0
59
+ # anyio
60
+ # pytest
61
+ h11==0.16.0
62
+ # via httpcore
63
+ headerparser==0.5.2
70
64
  # via wheel-inspect
71
- hupper==1.10.3
65
+ httpcore==1.0.9
66
+ # via httpx
67
+ httpx==0.28.1
68
+ # via devpi-server
69
+ hupper==1.12.1
72
70
  # via pyramid
73
- idna==3.3
71
+ idna==3.10
74
72
  # via
73
+ # anyio
74
+ # httpx
75
75
  # requests
76
- # yarl
77
- iniconfig==1.1.1
78
- # via pytest
79
- itsdangerous==2.1.2
76
+ importlib-metadata==8.6.1
77
+ # via
78
+ # build
79
+ # setuptools-scm
80
+ iniconfig==2.1.0
81
+ # via
82
+ # devpi-client
83
+ # pytest
84
+ itsdangerous==2.2.0
80
85
  # via devpi-server
81
86
  junit-xml==1.9
82
87
  # via -r core-requirements.txt
83
- lazy==1.4
88
+ lazy==1.6
84
89
  # via
85
90
  # devpi-common
86
91
  # devpi-server
87
- mock==4.0.3
92
+ legacy-cgi==2.6.4
88
93
  # via -r requirements.in
89
- multidict==6.0.2
90
- # via
91
- # aiohttp
92
- # yarl
93
- packaging==21.3
94
+ mock==5.2.0
95
+ # via -r requirements.in
96
+ nh3==0.2.21
97
+ # via readme-renderer
98
+ packaging==25.0
94
99
  # via
95
100
  # build
101
+ # packaging-legacy
96
102
  # pip-requirements-parser
97
103
  # pytest
98
104
  # setuptools-scm
99
- # tox
105
+ # wheel
100
106
  # wheel-inspect
101
- passlib[argon2]==1.7.4
107
+ packaging-legacy==23.0.post0
108
+ # via devpi-common
109
+ passlib==1.7.4
102
110
  # via devpi-server
103
- pastedeploy==2.1.1
111
+ pastedeploy==3.1.0
104
112
  # via plaster-pastedeploy
105
- pep517==0.12.0
106
- # via build
107
113
  pip-requirements-parser==32.0.1
108
114
  # via -r core-requirements.txt
109
- pkginfo==1.8.2
115
+ pkginfo==1.12.1.2
110
116
  # via devpi-client
111
- plaster==1.0
117
+ plaster==1.1.2
112
118
  # via
113
119
  # plaster-pastedeploy
114
120
  # pyramid
115
- plaster-pastedeploy==0.7
121
+ plaster-pastedeploy==1.0.1
116
122
  # via pyramid
117
- platformdirs==2.5.2
118
- # via
119
- # devpi-server
120
- # virtualenv
121
- pluggy==1.0.0
123
+ platformdirs==4.3.7
122
124
  # via
123
125
  # devpi-client
124
126
  # devpi-server
125
- # pytest
126
- # tox
127
- py==1.11.0
127
+ pluggy==1.5.0
128
128
  # via
129
129
  # devpi-client
130
- # devpi-common
131
130
  # devpi-server
132
131
  # pytest
133
- # tox
134
- pycparser==2.21
132
+ py==1.11.0
133
+ # via devpi-server
134
+ pycparser==2.22
135
135
  # via cffi
136
- pygments==2.15.0
136
+ pygments==2.19.1
137
137
  # via readme-renderer
138
- pyparsing==3.0.9
139
- # via
140
- # packaging
141
- # pip-requirements-parser
138
+ pyparsing==3.2.3
139
+ # via pip-requirements-parser
140
+ pyproject-hooks==1.2.0
141
+ # via build
142
142
  pyramid==2.0.2
143
143
  # via devpi-server
144
- pytest==7.1.2
144
+ pytest==8.3.5
145
145
  # via
146
146
  # -r requirements.in
147
147
  # pytest-cov
148
148
  # pytest-mock
149
- pytest-cov==3.0.0
149
+ pytest-cov==6.1.1
150
150
  # via -r requirements.in
151
- pytest-mock==3.10.0
151
+ pytest-mock==3.14.0
152
152
  # via -r requirements.in
153
- python-dateutil==2.8.2
153
+ python-dateutil==2.9.0.post0
154
154
  # via strictyaml
155
- readme-renderer==37.3
155
+ readme-renderer==44.0
156
156
  # via wheel-inspect
157
157
  repoze-lru==0.7
158
158
  # via devpi-server
159
- requests==2.31.0
159
+ requests==2.32.4
160
160
  # via
161
161
  # devpi-common
162
162
  # devpi-plumber
163
- ruamel-yaml==0.17.21
163
+ ruamel-yaml==0.18.10
164
164
  # via devpi-server
165
- ruamel-yaml-clib==0.2.7
165
+ ruamel-yaml-clib==0.2.12
166
166
  # via ruamel-yaml
167
- setuptools-scm==6.4.2
167
+ setuptools-scm==8.3.1
168
168
  # via -r requirements.in
169
- six==1.16.0
169
+ six==1.17.0
170
170
  # via
171
- # bleach
172
- # headerparser
173
171
  # junit-xml
174
172
  # python-dateutil
175
- # tox
176
- # virtualenv
177
- strictyaml==1.6.1
173
+ sniffio==1.3.1
174
+ # via anyio
175
+ strictyaml==1.7.3
178
176
  # via devpi-server
179
- toml==0.10.2
180
- # via tox
181
- tomli==2.0.1
177
+ tomli==2.2.1
182
178
  # via
183
179
  # build
184
180
  # check-manifest
185
181
  # coverage
186
- # pep517
182
+ # devpi-client
187
183
  # pytest
188
184
  # setuptools-scm
189
- tox==3.25.0
190
- # via devpi-client
191
185
  translationstring==1.4
192
186
  # via pyramid
193
187
  twitter-common-contextutil==0.3.11
@@ -196,31 +190,33 @@ twitter-common-dirutil==0.3.11
196
190
  # via twitter-common-contextutil
197
191
  twitter-common-lang==0.3.11
198
192
  # via twitter-common-dirutil
199
- urllib3==1.26.9
193
+ typing-extensions==4.13.2
194
+ # via
195
+ # anyio
196
+ # setuptools-scm
197
+ urllib3==2.6.3
200
198
  # via requests
201
- venusian==3.0.0
199
+ venusian==3.1.1
202
200
  # via pyramid
203
- virtualenv==20.14.1
204
- # via tox
205
- waitress==2.1.2
201
+ waitress==3.0.2
206
202
  # via devpi-server
207
- webencodings==0.5.1
208
- # via bleach
209
- webob==1.8.7
203
+ webob==1.8.9
210
204
  # via pyramid
211
- wheel==0.38.4
205
+ wheel==0.46.2
212
206
  # via -r core-requirements.txt
213
- wheel-filename==1.4.1
207
+ wheel-filename==1.4.2
214
208
  # via
215
209
  # -r core-requirements.txt
216
210
  # wheel-inspect
217
- wheel-inspect==1.7.1
211
+ wheel-inspect==1.7.2
218
212
  # via -r core-requirements.txt
219
- yarl==1.8.2
220
- # via aiohttp
221
- zope-deprecation==4.4.0
213
+ wrapt==1.17.2
214
+ # via deprecated
215
+ zipp==3.21.0
216
+ # via importlib-metadata
217
+ zope-deprecation==5.1
222
218
  # via pyramid
223
- zope-interface==5.4.0
219
+ zope-interface==7.2
224
220
  # via pyramid
225
221
 
226
222
  # The following packages are considered to be unsafe in a requirements file:
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -19,10 +19,7 @@ setup(
19
19
  long_description_content_type='text/x-rst',
20
20
  license='new BSD',
21
21
  install_requires=requirements,
22
- python_requires='>=3.7',
23
- setup_requires=[
24
- 'setuptools_scm',
25
- ],
22
+ python_requires='>=3.9',
26
23
  classifiers=[
27
24
  'Development Status :: 5 - Production/Stable',
28
25
  'Environment :: Console',
@@ -31,11 +28,11 @@ setup(
31
28
  'License :: OSI Approved :: BSD License',
32
29
  'Topic :: System :: Archiving :: Packaging',
33
30
  'Programming Language :: Python :: 3',
34
- 'Programming Language :: Python :: 3.7',
35
- 'Programming Language :: Python :: 3.8',
36
31
  'Programming Language :: Python :: 3.9',
37
32
  'Programming Language :: Python :: 3.10',
38
33
  'Programming Language :: Python :: 3.11',
34
+ 'Programming Language :: Python :: 3.12',
35
+ 'Programming Language :: Python :: 3.13',
39
36
  ],
40
37
  entry_points={
41
38
  'console_scripts': [
@@ -3,6 +3,7 @@
3
3
  import xml.etree.ElementTree as ET
4
4
 
5
5
  import pytest
6
+ import requests
6
7
 
7
8
  from mock import patch
8
9
  from devpi_plumber.server import TestServer
@@ -26,7 +27,7 @@ INDICES = {
26
27
  }
27
28
 
28
29
 
29
- @pytest.yield_fixture()
30
+ @pytest.fixture()
30
31
  def devpi():
31
32
  with TestServer(USERS, INDICES) as _devpi:
32
33
  yield _devpi
@@ -187,20 +188,28 @@ def test_reports_junit_xml(devpi, tmpdir):
187
188
  _assert_junit_xml_content(junit_filename)
188
189
 
189
190
 
190
- def test_handles_non_ascii_build_output(devpi, tmpdir, monkeypatch):
191
- monkeypatch.setenv('PIP_INDEX_URL', devpi.url + '/' + PURE_INDEX)
191
+ def test_handles_non_ascii_build_output(tmpdir, monkeypatch):
192
192
 
193
- with DevpiClient(devpi.server_url + '/' + PURE_INDEX,
194
- USER,
195
- PASSWORD) as client:
196
- client.upload('tests/fixture/non-ascii_package/dist/non-ascii-package-0.1.dev1.tar.gz')
193
+ with TestServer(USERS, {
194
+ PURE_INDEX: {'bases': '/root/pypi'},
195
+ INDEX: {'bases': ''},
196
+ }) as devpi:
197
+ sdist_index = devpi.url + '/' + PURE_INDEX
197
198
 
198
- junit_filename = str(tmpdir.join('junit.xml'))
199
+ monkeypatch.setenv('PIP_INDEX_URL', sdist_index)
199
200
 
200
- # our main assertion is that the main does not fail
201
- main(['tests/fixture/sample_non-ascii.txt', devpi.url + '/' + INDEX,
202
- '--user={}'.format(USER),
203
- '--password={}'.format(PASSWORD), '--junit-xml', junit_filename])
201
+ # trigger retrieval of setuptools from upstream as that can take forever
202
+ requests.get(sdist_index + '/+simple/setuptools/', timeout=300).raise_for_status()
203
+
204
+ with DevpiClient(sdist_index, USER, PASSWORD) as client:
205
+ client.upload('tests/fixture/non-ascii_package/dist/non-ascii-package-0.1.dev1.tar.gz')
206
+
207
+ junit_filename = str(tmpdir.join('junit.xml'))
208
+
209
+ # our main assertion is that the main does not fail
210
+ main(['tests/fixture/sample_non-ascii.txt', devpi.url + '/' + INDEX,
211
+ '--user={}'.format(USER),
212
+ '--password={}'.format(PASSWORD), '--junit-xml', junit_filename])
204
213
 
205
214
  # check that the build failure shows up in the build output
206
215
  assert 'No non-ascii 4 you!' in open(junit_filename).read()
@@ -1,8 +0,0 @@
1
- devpi-plumber>=0.2.14
2
- setuptools
3
- wheel
4
- wheel-filename
5
- wheel-inspect>=1.6.0
6
- pip>=1.5.3
7
- junit-xml
8
- pip-requirements-parser>=32.0.1
@@ -1,10 +0,0 @@
1
- [tool:pytest]
2
- addopts = --cov-report= --cov=devpi_builder tests
3
-
4
- [aliases]
5
- test = pytest
6
-
7
- [egg_info]
8
- tag_build =
9
- tag_date = 0
10
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes