pulp-python 3.11.0__tar.gz → 3.11.2__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 (76) hide show
  1. pulp-python-3.11.2/CHANGES.md +447 -0
  2. {pulp-python-3.11.0 → pulp-python-3.11.2}/MANIFEST.in +1 -1
  3. {pulp-python-3.11.0 → pulp-python-3.11.2}/PKG-INFO +11 -11
  4. {pulp-python-3.11.0 → pulp-python-3.11.2}/functest_requirements.txt +1 -3
  5. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/__init__.py +1 -1
  6. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/tasks/sync.py +29 -6
  7. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_sync.py +17 -0
  8. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/conftest.py +92 -0
  9. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/constants.py +1 -0
  10. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/PKG-INFO +11 -11
  11. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/SOURCES.txt +1 -1
  12. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/entry_points.txt +0 -1
  13. {pulp-python-3.11.0 → pulp-python-3.11.2}/pyproject.toml +6 -4
  14. {pulp-python-3.11.0 → pulp-python-3.11.2}/setup.py +1 -1
  15. pulp-python-3.11.2/unittest_requirements.txt +2 -0
  16. pulp-python-3.11.0/CHANGES.rst +0 -605
  17. pulp-python-3.11.0/unittest_requirements.txt +0 -2
  18. {pulp-python-3.11.0 → pulp-python-3.11.2}/COMMITMENT +0 -0
  19. {pulp-python-3.11.0 → pulp-python-3.11.2}/COPYRIGHT +0 -0
  20. {pulp-python-3.11.0 → pulp-python-3.11.2}/LICENSE +0 -0
  21. {pulp-python-3.11.0 → pulp-python-3.11.2}/README.md +0 -0
  22. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/__init__.py +0 -0
  23. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0001_initial.py +0 -0
  24. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
  25. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
  26. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
  27. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
  28. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
  29. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
  30. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
  31. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
  32. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
  33. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
  34. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/migrations/__init__.py +0 -0
  35. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/modelresource.py +0 -0
  36. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/models.py +0 -0
  37. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/pypi/__init__.py +0 -0
  38. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/pypi/serializers.py +0 -0
  39. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/pypi/views.py +0 -0
  40. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/serializers.py +0 -0
  41. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/settings.py +0 -0
  42. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/tasks/__init__.py +0 -0
  43. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/tasks/publish.py +0 -0
  44. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/tasks/upload.py +0 -0
  45. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/urls.py +0 -0
  46. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/utils.py +0 -0
  47. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/viewsets.py +0 -0
  48. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/webserver_snippets/__init__.py +0 -0
  49. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/webserver_snippets/apache.conf +0 -0
  50. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
  51. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/__init__.py +0 -0
  52. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/__init__.py +0 -0
  53. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/__init__.py +0 -0
  54. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
  55. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
  56. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
  57. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
  58. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
  59. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_download_content.py +0 -0
  60. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_export_import.py +0 -0
  61. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
  62. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -0
  63. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/functional/utils.py +0 -0
  64. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/unit/__init__.py +0 -0
  65. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/unit/test_models.py +0 -0
  66. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/upgrade/__init__.py +0 -0
  67. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/upgrade/post/__init__.py +0 -0
  68. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/upgrade/post/test_publish.py +0 -0
  69. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/upgrade/pre/__init__.py +0 -0
  70. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python/tests/upgrade/pre/test_publish.py +0 -0
  71. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/dependency_links.txt +0 -0
  72. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/requires.txt +0 -0
  73. {pulp-python-3.11.0 → pulp-python-3.11.2}/pulp_python.egg-info/top_level.txt +0 -0
  74. {pulp-python-3.11.0 → pulp-python-3.11.2}/requirements.txt +0 -0
  75. {pulp-python-3.11.0 → pulp-python-3.11.2}/setup.cfg +0 -0
  76. {pulp-python-3.11.0 → pulp-python-3.11.2}/test_requirements.txt +0 -0
@@ -0,0 +1,447 @@
1
+ # Changelog
2
+
3
+ [//]: # (You should *NOT* be adding new change log entries to this file, this)
4
+ [//]: # (file is managed by towncrier. You *may* edit previous change logs to)
5
+ [//]: # (fix problems like typo corrections or such.)
6
+ [//]: # (To add a new change log entry, please see the contributing docs.)
7
+ [//]: # (WARNING: Don't drop the towncrier directive!)
8
+
9
+ [//]: # (towncrier release notes start)
10
+
11
+ ## 3.11.2 (2024-06-27) {: #3.11.2 }
12
+
13
+
14
+ #### Bugfixes {: #3.11.2-bugfix }
15
+
16
+ - Fixed the `package_types` filter breaking other remote filters.
17
+ [#691](https://github.com/pulp/pulp_python/issues/691)
18
+
19
+ ---
20
+
21
+ ## 3.11.1 (2024-04-11) {: #3.11.1 }
22
+
23
+ ### Bugfixes
24
+
25
+ - Fixed tls_validation not being disabled when set to false on the remote.
26
+ [#653](https://github.com/pulp/pulp_python/issues/653)
27
+
28
+ ---
29
+
30
+ ## 3.11.0 (2023-11-08) {: #3.11.0 }
31
+
32
+ ### Features
33
+
34
+ - Added pulpcore 3.40 compatibility.
35
+ - Added import export support of python content.
36
+ [#579](https://github.com/pulp/pulp_python/issues/579)
37
+
38
+ ---
39
+
40
+ ## 3.10.0 (2023-05-17) {: #3.10.0 }
41
+
42
+ ### Features
43
+
44
+ - Added compatibility for pulpcore 3.25, pulpcore support is now >=3.25,<3.40.
45
+ [#605](https://github.com/pulp/pulp_python/issues/605)
46
+
47
+ ---
48
+
49
+ ## 3.9.0 (2023-03-17) {: #3.9.0 }
50
+
51
+ ### Features
52
+
53
+ - Added version filter to package list endpoint.
54
+ [#577](https://github.com/pulp/pulp_python/issues/577)
55
+ - Allow duplicate uploads to return existing packages instead of erring.
56
+ [#590](https://github.com/pulp/pulp_python/issues/590)
57
+
58
+ ### Bugfixes
59
+
60
+ - Fixed pull-through caching ignoring remote proxy settings.
61
+ [#553](https://github.com/pulp/pulp_python/issues/553)
62
+ - Changed includes and excludes openapi schema to report as array of strings instead of object.
63
+ [#576](https://github.com/pulp/pulp_python/issues/576)
64
+ - Fixed syncing ignoring remote proxy.
65
+ [#581](https://github.com/pulp/pulp_python/issues/581)
66
+ - Fixed duplicate operationID for generated PyPI simple endpoints schema.
67
+ [#594](https://github.com/pulp/pulp_python/issues/594)
68
+
69
+ ---
70
+
71
+ ## 3.8.0 (2022-12-19) {: #3.8.0 }
72
+
73
+ ### Bugfixes
74
+
75
+ - Fixed syncing failing when using bandersnatch 5.3.0
76
+ [#554](https://github.com/pulp/pulp_python/issues/554)
77
+ - Prevent .netrc file from being read on syncs.
78
+ [#566](https://github.com/pulp/pulp_python/issues/566)
79
+ - Fix 500 error when pip installing using object storage.
80
+ [#572](https://github.com/pulp/pulp_python/issues/572)
81
+
82
+ ### Improved Documentation
83
+
84
+ - Documented `pulp_python` specific settings.
85
+ [#571](https://github.com/pulp/pulp_python/issues/571)
86
+
87
+ ---
88
+
89
+ ## 3.7.3 (2022-10-06) {: #3.7.3 }
90
+
91
+ ### Bugfixes
92
+
93
+ - Prevent .netrc file from being read on syncs.
94
+ [#566](https://github.com/pulp/pulp_python/issues/566)
95
+
96
+ ---
97
+
98
+ ## 3.7.2 (2022-08-04) {: #3.7.2 }
99
+
100
+ ### Bugfixes
101
+
102
+ - Fixed syncing failing when using bandersnatch 5.3.0
103
+ [#554](https://github.com/pulp/pulp_python/issues/554)
104
+
105
+ ---
106
+
107
+ ## 3.7.1 (2022-06-29) {: #3.7.1 }
108
+
109
+ No significant changes.
110
+
111
+ ---
112
+
113
+ ## 3.7.0 (2022-06-22) {: #3.7.0 }
114
+
115
+ ### Features
116
+
117
+ - Added ability to fully sync repositories that don't support the PyPI XMLRPC endpoints. Full Pulp-to-Pulp syncing is now available.
118
+ [#462](https://github.com/pulp/pulp_python/issues/462)
119
+
120
+ ### Bugfixes
121
+
122
+ - Ensured temporary package uploads are written to worker's directory instead of /tmp.
123
+ [#505](https://github.com/pulp/pulp_python/issues/505)
124
+
125
+ ### Misc
126
+
127
+ - [#503](https://github.com/pulp/pulp_python/issues/503)
128
+
129
+ ---
130
+
131
+ ## 3.6.1 (2022-08-19) {: #3.6.1 }
132
+
133
+ ### Bugfixes
134
+
135
+ - Fixed syncing failing when using bandersnatch 5.3.0
136
+ [#554](https://github.com/pulp/pulp_python/issues/554)
137
+
138
+ ---
139
+
140
+ ## 3.6.0 (2021-12-15) {: #3.6.0 }
141
+
142
+ ### Features
143
+
144
+ - `pulp_python` now supports pull-through caching. Add a remote to a distribution to enable this feature.
145
+ [#381](https://github.com/pulp/pulp_python/issues/381)
146
+ - Enable Azure support
147
+ [#458](https://github.com/pulp/pulp_python/issues/458)
148
+
149
+ ### Bugfixes
150
+
151
+ - Fixed proxy url not being passed during sync
152
+ [#433](https://github.com/pulp/pulp_python/issues/433)
153
+ - Changed the use of `dispatch` to match the signature from pulpcore>=3.15.
154
+ [#443](https://github.com/pulp/pulp_python/issues/443)
155
+ - Fixed package name normalization issue preventing installing packages with "." or "_" in their names.
156
+ [#467](https://github.com/pulp/pulp_python/issues/467)
157
+
158
+ ---
159
+
160
+ ## 3.5.2 (2021-10-05) {: #3.5.2 }
161
+
162
+ ### Bugfixes
163
+
164
+ - Fixed proxy url not being passed during sync
165
+ (backported from #445)
166
+ [#436](https://github.com/pulp/pulp_python/issues/436)
167
+ - Changed the use of `dispatch` to match the signature from pulpcore>=3.15.
168
+ (backported from #443)
169
+ [#446](https://github.com/pulp/pulp_python/issues/446)
170
+
171
+ ---
172
+
173
+ ## 3.5.1 (2021-09-10) {: #3.5.1 }
174
+
175
+ ### Bugfixes
176
+
177
+ - Fixed proxy url not being passed during sync
178
+ (backported from #433)
179
+ [#436](https://github.com/pulp/pulp_python/issues/436)
180
+
181
+ ---
182
+
183
+ ## 3.5.0 (2021-08-30) {: #3.5.0 }
184
+
185
+ ### Features
186
+
187
+ - Python package content can now be filtered by their sha256
188
+ [#404](https://github.com/pulp/pulp_python/issues/404)
189
+ - Added new setting `PYPI_API_HOSTNAME` that is used to form a distribution's `base_url`. Defaults to the machine's FQDN.
190
+ [#412](https://github.com/pulp/pulp_python/issues/412)
191
+ - Enabled reclaim disk feature provided by pulpcore 3.15+.
192
+ [#425](https://github.com/pulp/pulp_python/issues/425)
193
+
194
+ ### Bugfixes
195
+
196
+ - Fixed twine upload failing when using remote storage backends
197
+ [#400](https://github.com/pulp/pulp_python/issues/400)
198
+ - Fixed improper metadata serving when using publications with S3 storage
199
+ [#413](https://github.com/pulp/pulp_python/issues/413)
200
+
201
+ ### Deprecations and Removals
202
+
203
+ - Dropped support for Python < 3.8.
204
+ [#402](https://github.com/pulp/pulp_python/issues/402)
205
+
206
+ ### Misc
207
+
208
+ - [#408](https://github.com/pulp/pulp_python/issues/408), [#427](https://github.com/pulp/pulp_python/issues/427)
209
+
210
+ ---
211
+
212
+ ## 3.4.1 (2021-08-24) {: #3.4.1 }
213
+
214
+ ### Features
215
+
216
+ - Python package content can now be filtered by their sha256
217
+ (backported from #404)
218
+ [#419](https://github.com/pulp/pulp_python/issues/419)
219
+
220
+ ### Bugfixes
221
+
222
+ - Fixed improper metadata serving when using publications with S3 storage
223
+ (backported from #413)
224
+ [#418](https://github.com/pulp/pulp_python/issues/418)
225
+ - Fixed twine upload failing when using remote storage backends
226
+ (backported from #400)
227
+ [#420](https://github.com/pulp/pulp_python/issues/420)
228
+
229
+ ---
230
+
231
+ 3.4.0 (2021-06-17)
232
+
233
+ ### Features
234
+
235
+ - Added `twine` (and other similar Python tools) package upload support
236
+ [#342](https://github.com/pulp/pulp_python/issues/342)
237
+ - PyPI endpoints are now available at `/pypi/{base_path}/`
238
+ [#376](https://github.com/pulp/pulp_python/issues/376)
239
+ - Changed the global uniqueness constraint for `PythonPackageContent` to its sha256 digest
240
+ [#380](https://github.com/pulp/pulp_python/issues/380)
241
+
242
+ ### Bugfixes
243
+
244
+ - Added missing fields to PyPI live JSON API to be compliant with core metadata version 2.1
245
+ [#352](https://github.com/pulp/pulp_python/issues/352)
246
+ - Fixed sync to use default concurrency (10) when download_concurrency was not specified
247
+ [#391](https://github.com/pulp/pulp_python/issues/391)
248
+
249
+ ---
250
+
251
+ ## 3.3.0 (2021-05-27) {: #3.3.0 }
252
+
253
+ ### Features
254
+
255
+ - Add support for automatic publishing and distributing.
256
+ [#365](https://github.com/pulp/pulp_python/issues/365)
257
+
258
+ ### Bugfixes
259
+
260
+ - Fixed publications publishing more content than was in the repository
261
+ [#362](https://github.com/pulp/pulp_python/issues/362)
262
+
263
+ ### Improved Documentation
264
+
265
+ - Update syntax in doc for cli repository content add command
266
+ [#368](https://github.com/pulp/pulp_python/issues/368)
267
+
268
+ ### Misc
269
+
270
+ - [#347](https://github.com/pulp/pulp_python/issues/347), [#360](https://github.com/pulp/pulp_python/issues/360), [#371](https://github.com/pulp/pulp_python/issues/371)
271
+
272
+ ---
273
+
274
+ ## 3.2.0 (2021-04-14) {: #3.2.0 }
275
+
276
+ ### Features
277
+
278
+ - Added new sync filter keep_latest_packages to specify how many latest versions of packages to sync
279
+ [#339](https://github.com/pulp/pulp_python/issues/339)
280
+ - Added new sync filters package_types and exclude_platforms to specify package types to sync
281
+ [#341](https://github.com/pulp/pulp_python/issues/341)
282
+
283
+ ### Misc
284
+
285
+ - [#354](https://github.com/pulp/pulp_python/issues/354)
286
+
287
+ ---
288
+
289
+ ## 3.1.0 (2021-03-12) {: #3.1.0 }
290
+
291
+ ### Features
292
+
293
+ - Python content can now be filtered by requires_python
294
+ [#3629](https://pulp.plan.io/issues/3629)
295
+
296
+ ### Improved Documentation
297
+
298
+ - Updated workflows to use Pulp CLI commands
299
+ [#8364](https://pulp.plan.io/issues/8364)
300
+
301
+ ---
302
+
303
+ ## 3.0.0 (2021-01-12) {: #3.0.0 }
304
+
305
+ ### Bugfixes
306
+
307
+ - Remote proxy settings are now passed to Bandersnatch while syncing
308
+ [#7864](https://pulp.plan.io/issues/7864)
309
+
310
+ ### Improved Documentation
311
+
312
+ - Added bullet list of Python Plugin features and a tech preview page for new experimental features
313
+ [#7628](https://pulp.plan.io/issues/7628)
314
+
315
+ ---
316
+
317
+ ## 3.0.0b12 (2020-11-05)
318
+
319
+ ### Features
320
+
321
+ - Pulp Python can now fully mirror all packages from PyPi
322
+ [#985](https://pulp.plan.io/issues/985)
323
+ - Implemented PyPi's json API at content endpoint '/pypi/{package-name}/json'. Pulp can now perform basic syncing on other Pulp Python instances.
324
+ [#2886](https://pulp.plan.io/issues/2886)
325
+ - Pulp Python now uses Bandersnatch to perform syncing and filtering of package metadata
326
+ [#6930](https://pulp.plan.io/issues/6930)
327
+
328
+ ### Bugfixes
329
+
330
+ - Sync now includes python package's classifiers in the content unit
331
+ [#3627](https://pulp.plan.io/issues/3627)
332
+ - Policy can now be specified when creating a remote from a Bandersnatch config
333
+ [#7331](https://pulp.plan.io/issues/7331)
334
+ - Includes/excludes/prereleases fields are now properly set in a remote from Bandersnatch config
335
+ [#7392](https://pulp.plan.io/issues/7392)
336
+
337
+ ### Improved Documentation
338
+
339
+ - Fixed makemigrations commands in the install docs
340
+ [#5386](https://pulp.plan.io/issues/5386)
341
+
342
+ ### Misc
343
+
344
+ - [#6875](https://pulp.plan.io/issues/6875), [#7401](https://pulp.plan.io/issues/7401)
345
+
346
+ ---
347
+
348
+ ## 3.0.0b11 (2020-08-18)
349
+
350
+ Compatibility update for pulpcore 3.6
351
+
352
+ ---
353
+
354
+ ## 3.0.0b10 (2020-08-05)
355
+
356
+ ### Features
357
+
358
+ - Added a new endpoint to remotes "/from_bandersnatch" that allows for Python remote creation from a Bandersnatch config file.
359
+ [#6929](https://pulp.plan.io/issues/6929)
360
+
361
+ ### Bugfixes
362
+
363
+ - Including requirements.txt on MANIFEST.in
364
+ [#6891](https://pulp.plan.io/issues/6891)
365
+ - Updating API to not return publications that aren't complete.
366
+ [#6987](https://pulp.plan.io/issues/6987)
367
+ - Fixed an issue that prevented 'on_demand' content from being published.
368
+ [#7128](https://pulp.plan.io/issues/7128)
369
+
370
+ ### Improved Documentation
371
+
372
+ - Change the commands for publication and distribution on the publish workflow to use their respective scripts already defined in _scripts.
373
+ [#6877](https://pulp.plan.io/issues/6877)
374
+ - Updated sync.sh, publication.sh and distribution.sh in docs/_scripts to reference wait_until_task_finished function from base.sh
375
+ [#6918](https://pulp.plan.io/issues/6918)
376
+
377
+ ---
378
+
379
+ ## 3.0.0b9 (2020-06-01)
380
+
381
+ ### Features
382
+
383
+ - Add upload functionality to the python contents endpoints.
384
+ [#5464](https://pulp.plan.io/issues/5464)
385
+
386
+ ### Bugfixes
387
+
388
+ - Fixed the 500 error returned by the OpenAPI schema endpoint.
389
+ [#5452](https://pulp.plan.io/issues/5452)
390
+
391
+ ### Improved Documentation
392
+
393
+ - Change the prefix of Pulp services from pulp-* to pulpcore-*
394
+ [#4554](https://pulp.plan.io/issues/4554)
395
+ - Added "python/python/" to fix two commands in repo.sh, fixed export command in sync.sh
396
+ [#6790](https://pulp.plan.io/issues/6790)
397
+ - Added "index.html" to the relative_path field for both project_metadata and index_metadata. Added a "/" to fix the link in the simple_index_template.
398
+ [#6792](https://pulp.plan.io/issues/6792)
399
+ - Updated the workflow documentation for upload.html. Fixed the workflow commands and added more details to the instructions.
400
+ [#6854](https://pulp.plan.io/issues/6854)
401
+
402
+ ### Deprecations and Removals
403
+
404
+ - Change _id, _created, _last_updated, _href to pulp_id, pulp_created, pulp_last_updated, pulp_href
405
+ [#5457](https://pulp.plan.io/issues/5457)
406
+
407
+ - Remove "_" from _versions_href, _latest_version_href
408
+ [#5548](https://pulp.plan.io/issues/5548)
409
+
410
+ - Removing base field: _type .
411
+ [#5550](https://pulp.plan.io/issues/5550)
412
+
413
+ - Sync is no longer available at the {remote_href}/sync/ repository={repo_href} endpoint. Instead, use POST {repo_href}/sync/ remote={remote_href}.
414
+
415
+ Creating / listing / editing / deleting python repositories is now performed on /pulp/api/v3/python/python/ instead of /pulp/api/v3/repositories/. Only python content can be present in a python repository, and only a python repository can hold python content.
416
+ [#5625](https://pulp.plan.io/issues/5625)
417
+
418
+ ### Misc
419
+
420
+ - [#remotetests](https://pulp.plan.io/issues/remotetests), [#4681](https://pulp.plan.io/issues/4681), [#4682](https://pulp.plan.io/issues/4682), [#5304](https://pulp.plan.io/issues/5304), [#5471](https://pulp.plan.io/issues/5471), [#5580](https://pulp.plan.io/issues/5580), [#5701](https://pulp.plan.io/issues/5701)
421
+
422
+ ---
423
+
424
+ ## 3.0.0b8 (2019-09-16)
425
+
426
+ ### Misc
427
+
428
+ - [#4681](https://pulp.plan.io/issues/4681)
429
+
430
+ ---
431
+
432
+ ## 3.0.0b7 (2019-08-01)
433
+
434
+ ### Features
435
+
436
+ - Users can upload a file to create content and optionally add to a repo in one step known as
437
+ one-shot upload
438
+ [#4396](https://pulp.plan.io/issues/4396)
439
+ - Override the Remote's serializer to allow policy='on_demand' and policy='streamed'.
440
+ [#4990](https://pulp.plan.io/issues/4990)
441
+
442
+ ### Improved Documentation
443
+
444
+ - Switch to using [towncrier](https://github.com/hawkowl/towncrier) for better release notes.
445
+ [#4875](https://pulp.plan.io/issues/4875)
446
+
447
+ ---
@@ -1,7 +1,7 @@
1
1
  include LICENSE
2
2
  include requirements.txt
3
3
  include pyproject.toml
4
- include CHANGES.rst
4
+ include CHANGES.md
5
5
  include COMMITMENT
6
6
  include COPYRIGHT
7
7
  include functest_requirements.txt
@@ -1,21 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulp-python
3
- Version: 3.11.0
3
+ Version: 3.11.2
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Home-page: https://www.pulpproject.org
6
6
  Author: Pulp Project Developers
7
7
  Author-email: pulp-list@redhat.com
8
8
  License: GPLv2+
9
- Description: # pulp_python
10
-
11
- ![Pulp Nightly CI/CD](https://github.com/pulp/pulp_python/actions/workflows/nightly.yml/badge.svg)
12
-
13
- A Pulp plugin to support hosting your own pip compatible Python packages.
14
-
15
- For more information, please see the [documentation](https://docs.pulpproject.org/pulp_python/) or the
16
- [Pulp project page](https://pulpproject.org).
17
-
18
- Platform: UNKNOWN
19
9
  Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
20
10
  Classifier: Operating System :: POSIX :: Linux
21
11
  Classifier: Development Status :: 5 - Production/Stable
@@ -26,3 +16,13 @@ Classifier: Programming Language :: Python :: 3.8
26
16
  Classifier: Programming Language :: Python :: 3.9
27
17
  Requires-Python: >=3.8
28
18
  Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+
21
+ # pulp_python
22
+
23
+ ![Pulp Nightly CI/CD](https://github.com/pulp/pulp_python/actions/workflows/nightly.yml/badge.svg)
24
+
25
+ A Pulp plugin to support hosting your own pip compatible Python packages.
26
+
27
+ For more information, please see the [documentation](https://docs.pulpproject.org/pulp_python/) or the
28
+ [Pulp project page](https://pulpproject.org).
@@ -1,7 +1,5 @@
1
1
  git+https://github.com/pulp/pulp-smash.git#egg=pulp-smash
2
- pytest
2
+ pytest<8
3
3
  lxml
4
4
  twine
5
5
  pypi-simple
6
- pulpcore-client
7
- pulp-python-client
@@ -8,5 +8,5 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_python.app"
10
10
  label = "python"
11
- version = "3.11.0"
11
+ version = "3.11.2"
12
12
  python_package_name = "pulp-python"
@@ -1,9 +1,12 @@
1
1
  import logging
2
+ import tempfile
3
+ from typing import Optional, Any, AsyncGenerator
2
4
 
5
+ import aiohttp
3
6
  from aiohttp import ClientResponseError, ClientError
4
7
  from lxml.etree import LxmlError
5
8
  from gettext import gettext as _
6
- from os import environ, path
9
+ from os import environ
7
10
 
8
11
  from rest_framework import serializers
9
12
 
@@ -80,7 +83,7 @@ def create_bandersnatch_config(remote):
80
83
  config["plugins"]["enabled"] += "prerelease_release\n"
81
84
  if remote.package_types:
82
85
  rrfm = "regex_release_file_metadata"
83
- config["plugins"]["enabled"] += rrfm
86
+ config["plugins"]["enabled"] += f"{rrfm}\n"
84
87
  if not config.has_section(rrfm):
85
88
  config.add_section(rrfm)
86
89
  config[rrfm]["any:release_file.packagetype"] = "\n".join(remote.package_types)
@@ -111,9 +114,10 @@ class PythonBanderStage(Stage):
111
114
  """
112
115
  If includes is specified, then only sync those,else try to sync all other packages
113
116
  """
114
- # Prevent bandersnatch from reading actual .netrc file, set to nonexistent file
117
+ # Prevent bandersnatch from reading actual .netrc file, set to empty file
115
118
  # See discussion on https://github.com/pulp/pulp_python/issues/581
116
- environ["NETRC"] = f"{path.curdir}/.fake-netrc"
119
+ fake_netrc = tempfile.NamedTemporaryFile(dir=".", delete=False)
120
+ environ["NETRC"] = fake_netrc.name
117
121
  # TODO Change Bandersnatch internal API to take proxy settings in from config parameters
118
122
  if proxy_url := self.remote.proxy_url:
119
123
  if self.remote.proxy_username or self.remote.proxy_password:
@@ -126,7 +130,7 @@ class PythonBanderStage(Stage):
126
130
  # Bandersnatch includes leading slash when forming API urls
127
131
  url = self.remote.url.rstrip("/")
128
132
  # local & global timeouts defaults to 10secs and 5 hours
129
- async with Master(url) as master:
133
+ async with PulpMaster(url, tls=self.remote.tls_validation) as master:
130
134
  deferred_download = self.remote.policy != Remote.IMMEDIATE
131
135
  workers = self.remote.download_concurrency or self.remote.DEFAULT_DOWNLOAD_CONCURRENCY
132
136
  async with ProgressReport(
@@ -148,6 +152,25 @@ class PythonBanderStage(Stage):
148
152
  await pmirror.synchronize(packages_to_sync)
149
153
 
150
154
 
155
+ class PulpMaster(Master):
156
+ """
157
+ Pulp Master Class for Pulp specific overrides
158
+ """
159
+
160
+ def __init__(self, *args, tls=True, **kwargs):
161
+ self.tls = tls
162
+ super().__init__(*args, **kwargs)
163
+
164
+ async def get(
165
+ self, path: str, required_serial: Optional[int], **kw: Any
166
+ ) -> AsyncGenerator[aiohttp.ClientResponse, None]:
167
+ """Support tls=false"""
168
+ if not self.tls:
169
+ kw["ssl"] = False
170
+ async for r in super().get(path, required_serial, **kw):
171
+ yield r
172
+
173
+
151
174
  class PulpMirror(Mirror):
152
175
  """
153
176
  Pulp Mirror Class to perform syncing using Bandersnatch
@@ -257,4 +280,4 @@ class PulpMirror(Mirror):
257
280
  TODO
258
281
  This should have some error checking
259
282
  """
260
- pass
283
+ logger.error("Sync encountered an error: ", exc_info=exception)
@@ -641,6 +641,23 @@ class PlatformExcludeTestCase(unittest.TestCase):
641
641
  )
642
642
 
643
643
 
644
+ @pytest.mark.parallel
645
+ def test_sync_multiple_filters(
646
+ python_repo_with_sync, python_remote_factory, python_content_summary
647
+ ):
648
+ """Tests sync with multiple filters."""
649
+ remote = python_remote_factory(
650
+ includes=PYTHON_LG_PROJECT_SPECIFIER,
651
+ package_types=["bdist_wheel"],
652
+ keep_latest_packages=1,
653
+ prereleases=False
654
+ )
655
+ repo = python_repo_with_sync(remote)
656
+
657
+ summary = python_content_summary(repository_version=repo.latest_version_href)
658
+ assert summary.present["python.python"]["count"] == PYTHON_LG_FIXTURE_COUNTS["multi"]
659
+
660
+
644
661
  @pytest.mark.parallel
645
662
  def test_proxy_sync(
646
663
  python_repo,