swift 2.23.2__py3-none-any.whl → 2.35.0__py3-none-any.whl

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 (208) hide show
  1. swift/__init__.py +29 -50
  2. swift/account/auditor.py +21 -118
  3. swift/account/backend.py +33 -28
  4. swift/account/reaper.py +37 -28
  5. swift/account/replicator.py +22 -0
  6. swift/account/server.py +60 -26
  7. swift/account/utils.py +28 -11
  8. swift-2.23.2.data/scripts/swift-account-audit → swift/cli/account_audit.py +23 -13
  9. swift-2.23.2.data/scripts/swift-config → swift/cli/config.py +2 -2
  10. swift/cli/container_deleter.py +5 -11
  11. swift-2.23.2.data/scripts/swift-dispersion-populate → swift/cli/dispersion_populate.py +8 -7
  12. swift/cli/dispersion_report.py +10 -9
  13. swift-2.23.2.data/scripts/swift-drive-audit → swift/cli/drive_audit.py +63 -21
  14. swift/cli/form_signature.py +3 -7
  15. swift-2.23.2.data/scripts/swift-get-nodes → swift/cli/get_nodes.py +8 -2
  16. swift/cli/info.py +183 -29
  17. swift/cli/manage_shard_ranges.py +708 -37
  18. swift-2.23.2.data/scripts/swift-oldies → swift/cli/oldies.py +25 -14
  19. swift-2.23.2.data/scripts/swift-orphans → swift/cli/orphans.py +7 -3
  20. swift/cli/recon.py +196 -67
  21. swift-2.23.2.data/scripts/swift-recon-cron → swift/cli/recon_cron.py +17 -20
  22. swift-2.23.2.data/scripts/swift-reconciler-enqueue → swift/cli/reconciler_enqueue.py +2 -3
  23. swift/cli/relinker.py +807 -126
  24. swift/cli/reload.py +135 -0
  25. swift/cli/ringbuilder.py +217 -20
  26. swift/cli/ringcomposer.py +0 -1
  27. swift/cli/shard-info.py +4 -3
  28. swift/common/base_storage_server.py +9 -20
  29. swift/common/bufferedhttp.py +48 -74
  30. swift/common/constraints.py +20 -15
  31. swift/common/container_sync_realms.py +9 -11
  32. swift/common/daemon.py +25 -8
  33. swift/common/db.py +198 -127
  34. swift/common/db_auditor.py +168 -0
  35. swift/common/db_replicator.py +95 -55
  36. swift/common/digest.py +141 -0
  37. swift/common/direct_client.py +144 -33
  38. swift/common/error_limiter.py +93 -0
  39. swift/common/exceptions.py +25 -1
  40. swift/common/header_key_dict.py +2 -9
  41. swift/common/http_protocol.py +373 -0
  42. swift/common/internal_client.py +129 -59
  43. swift/common/linkat.py +3 -4
  44. swift/common/manager.py +284 -67
  45. swift/common/memcached.py +396 -147
  46. swift/common/middleware/__init__.py +4 -0
  47. swift/common/middleware/account_quotas.py +211 -46
  48. swift/common/middleware/acl.py +3 -8
  49. swift/common/middleware/backend_ratelimit.py +230 -0
  50. swift/common/middleware/bulk.py +22 -34
  51. swift/common/middleware/catch_errors.py +1 -3
  52. swift/common/middleware/cname_lookup.py +6 -11
  53. swift/common/middleware/container_quotas.py +1 -1
  54. swift/common/middleware/container_sync.py +39 -17
  55. swift/common/middleware/copy.py +12 -0
  56. swift/common/middleware/crossdomain.py +22 -9
  57. swift/common/middleware/crypto/__init__.py +2 -1
  58. swift/common/middleware/crypto/crypto_utils.py +11 -15
  59. swift/common/middleware/crypto/decrypter.py +28 -11
  60. swift/common/middleware/crypto/encrypter.py +12 -17
  61. swift/common/middleware/crypto/keymaster.py +8 -15
  62. swift/common/middleware/crypto/kms_keymaster.py +2 -1
  63. swift/common/middleware/dlo.py +15 -11
  64. swift/common/middleware/domain_remap.py +5 -4
  65. swift/common/middleware/etag_quoter.py +128 -0
  66. swift/common/middleware/formpost.py +73 -70
  67. swift/common/middleware/gatekeeper.py +8 -1
  68. swift/common/middleware/keystoneauth.py +33 -3
  69. swift/common/middleware/list_endpoints.py +4 -4
  70. swift/common/middleware/listing_formats.py +85 -49
  71. swift/common/middleware/memcache.py +4 -81
  72. swift/common/middleware/name_check.py +3 -2
  73. swift/common/middleware/proxy_logging.py +160 -92
  74. swift/common/middleware/ratelimit.py +17 -10
  75. swift/common/middleware/read_only.py +6 -4
  76. swift/common/middleware/recon.py +59 -22
  77. swift/common/middleware/s3api/acl_handlers.py +25 -3
  78. swift/common/middleware/s3api/acl_utils.py +6 -1
  79. swift/common/middleware/s3api/controllers/__init__.py +6 -0
  80. swift/common/middleware/s3api/controllers/acl.py +3 -2
  81. swift/common/middleware/s3api/controllers/bucket.py +242 -137
  82. swift/common/middleware/s3api/controllers/logging.py +2 -2
  83. swift/common/middleware/s3api/controllers/multi_delete.py +43 -20
  84. swift/common/middleware/s3api/controllers/multi_upload.py +219 -133
  85. swift/common/middleware/s3api/controllers/obj.py +112 -8
  86. swift/common/middleware/s3api/controllers/object_lock.py +44 -0
  87. swift/common/middleware/s3api/controllers/s3_acl.py +2 -2
  88. swift/common/middleware/s3api/controllers/tagging.py +57 -0
  89. swift/common/middleware/s3api/controllers/versioning.py +36 -7
  90. swift/common/middleware/s3api/etree.py +22 -9
  91. swift/common/middleware/s3api/exception.py +0 -4
  92. swift/common/middleware/s3api/s3api.py +113 -41
  93. swift/common/middleware/s3api/s3request.py +384 -218
  94. swift/common/middleware/s3api/s3response.py +126 -23
  95. swift/common/middleware/s3api/s3token.py +16 -17
  96. swift/common/middleware/s3api/schema/delete.rng +1 -1
  97. swift/common/middleware/s3api/subresource.py +7 -10
  98. swift/common/middleware/s3api/utils.py +27 -10
  99. swift/common/middleware/slo.py +665 -358
  100. swift/common/middleware/staticweb.py +64 -37
  101. swift/common/middleware/symlink.py +52 -19
  102. swift/common/middleware/tempauth.py +76 -58
  103. swift/common/middleware/tempurl.py +192 -174
  104. swift/common/middleware/versioned_writes/__init__.py +51 -0
  105. swift/common/middleware/{versioned_writes.py → versioned_writes/legacy.py} +27 -26
  106. swift/common/middleware/versioned_writes/object_versioning.py +1482 -0
  107. swift/common/middleware/x_profile/exceptions.py +1 -4
  108. swift/common/middleware/x_profile/html_viewer.py +18 -19
  109. swift/common/middleware/x_profile/profile_model.py +1 -2
  110. swift/common/middleware/xprofile.py +10 -10
  111. swift-2.23.2.data/scripts/swift-container-server → swift/common/recon.py +13 -8
  112. swift/common/registry.py +147 -0
  113. swift/common/request_helpers.py +324 -57
  114. swift/common/ring/builder.py +67 -25
  115. swift/common/ring/composite_builder.py +1 -1
  116. swift/common/ring/ring.py +177 -51
  117. swift/common/ring/utils.py +1 -1
  118. swift/common/splice.py +10 -6
  119. swift/common/statsd_client.py +205 -0
  120. swift/common/storage_policy.py +49 -44
  121. swift/common/swob.py +86 -102
  122. swift/common/{utils.py → utils/__init__.py} +2191 -2762
  123. swift/common/utils/base.py +131 -0
  124. swift/common/utils/config.py +433 -0
  125. swift/common/utils/ipaddrs.py +256 -0
  126. swift/common/utils/libc.py +345 -0
  127. swift/common/utils/logs.py +859 -0
  128. swift/common/utils/timestamp.py +412 -0
  129. swift/common/wsgi.py +555 -536
  130. swift/container/auditor.py +14 -100
  131. swift/container/backend.py +552 -227
  132. swift/container/reconciler.py +126 -37
  133. swift/container/replicator.py +96 -22
  134. swift/container/server.py +397 -176
  135. swift/container/sharder.py +1580 -639
  136. swift/container/sync.py +94 -88
  137. swift/container/updater.py +53 -32
  138. swift/obj/auditor.py +153 -35
  139. swift/obj/diskfile.py +466 -217
  140. swift/obj/expirer.py +406 -124
  141. swift/obj/mem_diskfile.py +7 -4
  142. swift/obj/mem_server.py +1 -0
  143. swift/obj/reconstructor.py +523 -262
  144. swift/obj/replicator.py +249 -188
  145. swift/obj/server.py +213 -122
  146. swift/obj/ssync_receiver.py +145 -85
  147. swift/obj/ssync_sender.py +113 -54
  148. swift/obj/updater.py +653 -139
  149. swift/obj/watchers/__init__.py +0 -0
  150. swift/obj/watchers/dark_data.py +213 -0
  151. swift/proxy/controllers/account.py +11 -11
  152. swift/proxy/controllers/base.py +848 -604
  153. swift/proxy/controllers/container.py +452 -86
  154. swift/proxy/controllers/info.py +3 -2
  155. swift/proxy/controllers/obj.py +1009 -490
  156. swift/proxy/server.py +185 -112
  157. swift-2.35.0.dist-info/AUTHORS +501 -0
  158. swift-2.35.0.dist-info/LICENSE +202 -0
  159. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/METADATA +52 -61
  160. swift-2.35.0.dist-info/RECORD +201 -0
  161. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/WHEEL +1 -1
  162. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/entry_points.txt +43 -0
  163. swift-2.35.0.dist-info/pbr.json +1 -0
  164. swift/locale/de/LC_MESSAGES/swift.po +0 -1216
  165. swift/locale/en_GB/LC_MESSAGES/swift.po +0 -1207
  166. swift/locale/es/LC_MESSAGES/swift.po +0 -1085
  167. swift/locale/fr/LC_MESSAGES/swift.po +0 -909
  168. swift/locale/it/LC_MESSAGES/swift.po +0 -894
  169. swift/locale/ja/LC_MESSAGES/swift.po +0 -965
  170. swift/locale/ko_KR/LC_MESSAGES/swift.po +0 -964
  171. swift/locale/pt_BR/LC_MESSAGES/swift.po +0 -881
  172. swift/locale/ru/LC_MESSAGES/swift.po +0 -891
  173. swift/locale/tr_TR/LC_MESSAGES/swift.po +0 -832
  174. swift/locale/zh_CN/LC_MESSAGES/swift.po +0 -833
  175. swift/locale/zh_TW/LC_MESSAGES/swift.po +0 -838
  176. swift-2.23.2.data/scripts/swift-account-auditor +0 -23
  177. swift-2.23.2.data/scripts/swift-account-info +0 -51
  178. swift-2.23.2.data/scripts/swift-account-reaper +0 -23
  179. swift-2.23.2.data/scripts/swift-account-replicator +0 -34
  180. swift-2.23.2.data/scripts/swift-account-server +0 -23
  181. swift-2.23.2.data/scripts/swift-container-auditor +0 -23
  182. swift-2.23.2.data/scripts/swift-container-info +0 -51
  183. swift-2.23.2.data/scripts/swift-container-reconciler +0 -21
  184. swift-2.23.2.data/scripts/swift-container-replicator +0 -34
  185. swift-2.23.2.data/scripts/swift-container-sharder +0 -33
  186. swift-2.23.2.data/scripts/swift-container-sync +0 -23
  187. swift-2.23.2.data/scripts/swift-container-updater +0 -23
  188. swift-2.23.2.data/scripts/swift-dispersion-report +0 -24
  189. swift-2.23.2.data/scripts/swift-form-signature +0 -20
  190. swift-2.23.2.data/scripts/swift-init +0 -119
  191. swift-2.23.2.data/scripts/swift-object-auditor +0 -29
  192. swift-2.23.2.data/scripts/swift-object-expirer +0 -33
  193. swift-2.23.2.data/scripts/swift-object-info +0 -60
  194. swift-2.23.2.data/scripts/swift-object-reconstructor +0 -33
  195. swift-2.23.2.data/scripts/swift-object-relinker +0 -41
  196. swift-2.23.2.data/scripts/swift-object-replicator +0 -37
  197. swift-2.23.2.data/scripts/swift-object-server +0 -27
  198. swift-2.23.2.data/scripts/swift-object-updater +0 -23
  199. swift-2.23.2.data/scripts/swift-proxy-server +0 -23
  200. swift-2.23.2.data/scripts/swift-recon +0 -24
  201. swift-2.23.2.data/scripts/swift-ring-builder +0 -24
  202. swift-2.23.2.data/scripts/swift-ring-builder-analyzer +0 -22
  203. swift-2.23.2.data/scripts/swift-ring-composer +0 -22
  204. swift-2.23.2.dist-info/DESCRIPTION.rst +0 -166
  205. swift-2.23.2.dist-info/RECORD +0 -220
  206. swift-2.23.2.dist-info/metadata.json +0 -1
  207. swift-2.23.2.dist-info/pbr.json +0 -1
  208. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -1,12 +1,14 @@
1
- Metadata-Version: 2.0
1
+ Metadata-Version: 2.1
2
2
  Name: swift
3
- Version: 2.23.2
3
+ Version: 2.35.0
4
4
  Summary: OpenStack Object Storage
5
5
  Home-page: https://docs.openstack.org/swift/latest/
6
6
  Author: OpenStack
7
7
  Author-email: openstack-discuss@lists.openstack.org
8
- License: UNKNOWN
9
- Platform: UNKNOWN
8
+ Project-URL: Documentation, https://docs.openstack.org/swift/latest/
9
+ Project-URL: Bug Tracker, https://bugs.launchpad.net/swift
10
+ Project-URL: Source Code, https://opendev.org/openstack/swift/
11
+ Project-URL: Release Notes, https://opendev.org/openstack/swift/src/branch/master/CHANGELOG
10
12
  Classifier: Development Status :: 5 - Production/Stable
11
13
  Classifier: Environment :: OpenStack
12
14
  Classifier: Intended Audience :: Information Technology
@@ -14,70 +16,62 @@ Classifier: Intended Audience :: System Administrators
14
16
  Classifier: License :: OSI Approved :: Apache Software License
15
17
  Classifier: Operating System :: POSIX :: Linux
16
18
  Classifier: Programming Language :: Python
17
- Classifier: Programming Language :: Python :: 2
18
- Classifier: Programming Language :: Python :: 2.7
19
19
  Classifier: Programming Language :: Python :: 3
20
20
  Classifier: Programming Language :: Python :: 3.6
21
21
  Classifier: Programming Language :: Python :: 3.7
22
+ Classifier: Programming Language :: Python :: 3.8
23
+ Classifier: Programming Language :: Python :: 3.9
24
+ Classifier: Programming Language :: Python :: 3.10
25
+ Classifier: Programming Language :: Python :: 3.11
26
+ Classifier: Programming Language :: Python :: 3.12
27
+ Requires-Python: >=3.6
28
+ Description-Content-Type: text/x-rst
29
+ License-File: LICENSE
30
+ License-File: AUTHORS
31
+ Requires-Dist: eventlet !=0.34.3,>=0.25.0
32
+ Requires-Dist: greenlet >=0.3.3
33
+ Requires-Dist: PasteDeploy >=2.0.0
34
+ Requires-Dist: lxml >=4.2.3
35
+ Requires-Dist: requests >=2.14.2
36
+ Requires-Dist: PyECLib !=1.6.2,!=1.6.3,>=1.3.1
37
+ Requires-Dist: cryptography >=2.0.2
38
+ Requires-Dist: dnspython >=1.15.0
39
+ Requires-Dist: xattr >=0.7.2 ; (sys_platform!='win32')
22
40
  Provides-Extra: keystone
41
+ Requires-Dist: keystonemiddleware >=4.17.0 ; extra == 'keystone'
23
42
  Provides-Extra: kmip_keymaster
43
+ Requires-Dist: pykmip >=0.7.0 ; extra == 'kmip_keymaster'
24
44
  Provides-Extra: kms_keymaster
45
+ Requires-Dist: oslo.config >=5.2.0 ; extra == 'kms_keymaster'
46
+ Requires-Dist: castellan >=0.13.0 ; extra == 'kms_keymaster'
25
47
  Provides-Extra: test
26
- Requires-Dist: PasteDeploy (>=1.3.3)
27
- Requires-Dist: PyECLib (>=1.3.1)
28
- Requires-Dist: cryptography (>=2.0.2)
29
- Requires-Dist: eventlet (>=0.25.0)
30
- Requires-Dist: greenlet (>=0.3.2)
31
- Requires-Dist: lxml (>=3.4.1)
32
- Requires-Dist: netifaces (!=0.10.0,!=0.10.1,>=0.8)
33
- Requires-Dist: requests (>=2.14.2)
34
- Requires-Dist: six (>=1.10.0)
35
- Requires-Dist: ipaddress (>=1.0.16); (python_version<'3.3')
36
- Requires-Dist: dnspython (>=1.15.0); (python_version=='2.7')
37
- Requires-Dist: xattr (>=0.4); (sys_platform!='win32')
38
- Provides-Extra: keystone
39
- Requires-Dist: keystonemiddleware (>=4.17.0); extra == 'keystone'
40
- Provides-Extra: kmip_keymaster
41
- Requires-Dist: pykmip (>=0.7.0); extra == 'kmip_keymaster'
42
- Provides-Extra: kms_keymaster
43
- Requires-Dist: castellan (>=0.13.0); extra == 'kms_keymaster'
44
- Requires-Dist: oslo.config (!=4.3.0,!=4.4.0,>=4.0.0); extra == 'kms_keymaster'
45
- Provides-Extra: test
46
- Requires-Dist: bandit (>=1.1.0); extra == 'test'
47
- Requires-Dist: boto3 (>=1.9); extra == 'test'
48
- Requires-Dist: boto (>=2.32.1); extra == 'test'
49
- Requires-Dist: botocore (>=1.12); extra == 'test'
50
- Requires-Dist: coverage (>=3.6); extra == 'test'
51
- Requires-Dist: docutils (>=0.11); extra == 'test'
52
- Requires-Dist: fixtures (>=3.0.0); extra == 'test'
53
- Requires-Dist: hacking (<0.12,>=0.11.0); extra == 'test'
54
- Requires-Dist: keystonemiddleware (>=4.17.0); extra == 'test'
55
- Requires-Dist: mock (>=2.0); extra == 'test'
56
- Requires-Dist: nose (>=1.3.7); extra == 'test'
57
- Requires-Dist: nosehtmloutput (>=0.0.3); extra == 'test'
58
- Requires-Dist: nosexcover (>=1.0.10); extra == 'test'
59
- Requires-Dist: os-testr (>=0.8.0); extra == 'test'
60
- Requires-Dist: python-keystoneclient (!=2.1.0,>=2.0.0); extra == 'test'
61
- Requires-Dist: python-openstackclient (>=3.12.0); extra == 'test'
62
- Requires-Dist: python-swiftclient (>=3.2.0); extra == 'test'
63
- Requires-Dist: reno (>=1.8.0); extra == 'test'
64
- Requires-Dist: requests-mock (>=1.2.0); extra == 'test'
65
-
66
- ========================
67
- Team and repository tags
68
- ========================
48
+ Requires-Dist: hacking <7.1.0,>=2.0 ; extra == 'test'
49
+ Requires-Dist: coverage >=5.2.1 ; extra == 'test'
50
+ Requires-Dist: pytest >=4.6.11 ; extra == 'test'
51
+ Requires-Dist: pytest-cov >=2.12.1 ; extra == 'test'
52
+ Requires-Dist: stestr >=2.0.0 ; extra == 'test'
53
+ Requires-Dist: python-swiftclient >=3.2.0 ; extra == 'test'
54
+ Requires-Dist: python-keystoneclient >=3.19.0 ; extra == 'test'
55
+ Requires-Dist: boto >=2.32.1 ; extra == 'test'
56
+ Requires-Dist: boto3 >=1.9 ; extra == 'test'
57
+ Requires-Dist: botocore >=1.12 ; extra == 'test'
58
+ Requires-Dist: requests-mock >=1.2.0 ; extra == 'test'
59
+ Requires-Dist: keystonemiddleware >=4.17.0 ; extra == 'test'
60
+ Requires-Dist: bandit >=1.1.0 ; extra == 'test'
61
+ Requires-Dist: docutils >=0.15 ; extra == 'test'
62
+
63
+ ===============
64
+ OpenStack Swift
65
+ ===============
69
66
 
70
67
  .. image:: https://governance.openstack.org/tc/badges/swift.svg
71
68
  :target: https://governance.openstack.org/tc/reference/tags/index.html
72
69
 
73
70
  .. Change things from this point on
74
71
 
75
- Swift
76
- =====
77
-
78
- A distributed object storage system designed to scale from a single
79
- machine to thousands of servers. Swift is optimized for multi-tenancy
80
- and high concurrency. Swift is ideal for backups, web and mobile
72
+ OpenStack Swift is a distributed object storage system designed to scale
73
+ from a single machine to thousands of servers. Swift is optimized for
74
+ multi-tenancy and high concurrency. Swift is ideal for backups, web and mobile
81
75
  content, and any other unstructured data that can grow without bound.
82
76
 
83
77
  Swift provides a simple, REST-based API fully documented at
@@ -159,14 +153,13 @@ tests should still pass, but a very large number will be skipped.
159
153
  Code Organization
160
154
  ~~~~~~~~~~~~~~~~~
161
155
 
162
- - bin/: Executable scripts that are the processes run by the deployer
163
156
  - doc/: Documentation
164
157
  - etc/: Sample config files
165
158
  - examples/: Config snippets used in the docs
166
159
  - swift/: Core code
167
160
 
168
161
  - account/: account server
169
- - cli/: code that backs some of the CLI tools in bin/
162
+ - cli/: code that backs some of the CLI tools
170
163
  - common/: code shared by different modules
171
164
 
172
165
  - middleware/: "standard", officially-supported middleware
@@ -209,7 +202,7 @@ For Client Apps
209
202
  ---------------
210
203
 
211
204
  For client applications, official Python language bindings are provided
212
- at https://github.com/openstack/python-swiftclient.
205
+ at https://opendev.org/openstack/python-swiftclient.
213
206
 
214
207
  Complete API documentation at
215
208
  https://docs.openstack.org/api-ref/object-store/
@@ -221,11 +214,9 @@ page.
221
214
 
222
215
  --------------
223
216
 
224
- For more information come hang out in #openstack-swift on freenode.
217
+ For more information come hang out in #openstack-swift on OFTC.
225
218
 
226
219
  Thanks,
227
220
 
228
221
  The Swift Development Team
229
222
 
230
-
231
-
@@ -0,0 +1,201 @@
1
+ swift/__init__.py,sha256=t0xjDxYa80CDTomtNcGPg_voKWMdLcTMbldPwxlWcHA,2098
2
+ swift/account/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ swift/account/auditor.py,sha256=ErvBcyurmU1AL9UXu3GGtUTJUdtN2kNuybAV3k1EjIs,1971
4
+ swift/account/backend.py,sha256=k6ilJAWUsVEleuFb7sSSaW0MPsFxjCIFCvo-MklE3Io,25615
5
+ swift/account/reaper.py,sha256=DXBACzaprwBwAR736ctHBhfYuIlGzmY58dcAY78QlzA,24920
6
+ swift/account/replicator.py,sha256=3US-d4JVIgB96ix8EvzA6ISFf1b8J_kiGhuXA-5wLwk,1641
7
+ swift/account/server.py,sha256=Y9VMsToguzAhcdNLbkVw76lZmRNImnN3-AaOBEoGmDA,14992
8
+ swift/account/utils.py,sha256=cwNVXyWx92XNemDQReOdeGQ2iYB2AlPugHrw-iUbckE,4937
9
+ swift/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ swift/cli/account_audit.py,sha256=UZKzfTqunLl9wI3W_JoXdyj3T5sP_A5xb1KcX48JlmM,16710
11
+ swift/cli/config.py,sha256=7m2hKnL6s9AzNYr-_90_x9igJZ5KIeHeGtIKr7nVO6c,3056
12
+ swift/cli/container_deleter.py,sha256=AJynzDaijbKjitTPkH4BmCuCSCikLaLRMZAuwJq984A,7006
13
+ swift/cli/dispersion_populate.py,sha256=iuZb1klNQ76PgK__LY2NoNaHCNmWWEQqsIatIATJVWM,11340
14
+ swift/cli/dispersion_report.py,sha256=nT6zdmL3gYTdDj5sDWGNRvkSPHVv2IIMLn4fD1OJEPw,17676
15
+ swift/cli/drive_audit.py,sha256=5hTico1FuyqIFGRS7cIWRPc0RWApYjd2c9cBJW4kZAs,10603
16
+ swift/cli/form_signature.py,sha256=AokdEeetaE5mpjpN5FiSYJphGycHFHNBExb2PYxeRT4,5410
17
+ swift/cli/get_nodes.py,sha256=gZwAf4WfERJvvGhpSCrmez5Xm3A5N9G3wscZwt1vXOg,2855
18
+ swift/cli/info.py,sha256=gUdhWAvyo70OFXcpbAMJ6wRPpsR09F6J5W2bO_ZSYMo,30567
19
+ swift/cli/manage_shard_ranges.py,sha256=-zpI52ltsIQdZRn1lJ4qvRhO-zfd234yklqYdW5oZEw,49131
20
+ swift/cli/oldies.py,sha256=WURcUvfDM0NTfp04hyX-CM8_DspDQJayvlX2LPJU6-E,3346
21
+ swift/cli/orphans.py,sha256=f8Knq8JdQZqa4jUcI2aI8CGyPnCRYAYop5UW6OeQTz8,5006
22
+ swift/cli/recon.py,sha256=k9t1IjpY6XoyT_k99SwNSxKKNdq-AhgYKe2pTDjIizY,55133
23
+ swift/cli/recon_cron.py,sha256=zNlwJF3SEZqu2VYlS5i_B9SiLn-Yg1fyaxAzrIFb4Uw,2808
24
+ swift/cli/reconciler_enqueue.py,sha256=HVEFZ2ZuphfO58KSSsWZ0v6V3LAORUSKKmC4W3_b0_c,2526
25
+ swift/cli/relinker.py,sha256=dQhuY6mfBfWPgI1cwYRWtB0iLN3mMB-LxuLmwfadfVc,36600
26
+ swift/cli/reload.py,sha256=DWtKlUbNTyW-Ij_CPAQ92TuzIYrbxSp81KQokJ0d6Fo,4832
27
+ swift/cli/ring_builder_analyzer.py,sha256=Ak_qi_UnQU7509RQunK6ANB1b_MW_GL1MnxOHAxjLKA,11977
28
+ swift/cli/ringbuilder.py,sha256=3xNaLkUoyJC_d-kz1EVRTQvQ1nWExsFJtO6tR0j0Zx8,64150
29
+ swift/cli/ringcomposer.py,sha256=QG7LqVERg2nxfElw0sIZvN_bSf1e8f5V4nh4iuSxyKA,6515
30
+ swift/cli/shard-info.py,sha256=rMEMaAS4ms8iNvxuBFhm8yfH2FfgS7okWZB0wifLZHA,7462
31
+ swift/common/__init__.py,sha256=E68YBcsI0CguVRZOPIx-uJaAq32swceKJwT8a4F6-G4,35
32
+ swift/common/base_storage_server.py,sha256=KUzWLfRuCUkNbAP8ket3KYreYE2qctOjIazFxFRRRk4,2549
33
+ swift/common/bufferedhttp.py,sha256=ajiEbG5q5ylcnTLpzp7k6Nwff_xWFxQhqh8QM67gYIs,11331
34
+ swift/common/constraints.py,sha256=njppJL9PLnyhXlgFyUOLw1nCyl7wKqilt44VjrHuloE,17260
35
+ swift/common/container_sync_realms.py,sha256=pS4goqGZX7UlOVp4SCLK4k8uKl857CMPM_qfFxw4a0Q,6430
36
+ swift/common/daemon.py,sha256=gOELERtkPd-sM9_1n6YK7bVjaPW6AYvbKWaOdqnij84,12279
37
+ swift/common/db.py,sha256=eeXOQ1k5Rq8zYjKta0M7jTjffKOOU9HGa18oyOAYoHk,44442
38
+ swift/common/db_auditor.py,sha256=Cq9Orz_Dvpy1lNUBLtDx3nnhDx9He7M0tydG6zZnB4U,6692
39
+ swift/common/db_replicator.py,sha256=RHf6xZ6tRXWnLQjKsYTBFy14R5D5F5VucsgWlcyO15w,46142
40
+ swift/common/digest.py,sha256=LAkRNRCEP0bPctEGRzl-0h8D-oaxUjhADShpPmSMf9A,5237
41
+ swift/common/direct_client.py,sha256=xOZBgPQSIxrygCrRYlfpTbVgDlQA4B_4dMUc6j27VJs,29648
42
+ swift/common/error_limiter.py,sha256=-jrHWmQ8gHOsuijy_s7YNxorfI8VynvP-mGJm8V-Plk,3466
43
+ swift/common/exceptions.py,sha256=rtTP5-2u12Fkh0zZNrmyxzSJ2xmVqcCeIGnVQOOnSyY,6024
44
+ swift/common/header_key_dict.py,sha256=-A8nq8Cw3dfO6WQCGWMQ7qiggqhNy37pu9iAOwKVVfc,2236
45
+ swift/common/http.py,sha256=ih6tclv8ZAo1BcQOZ-Z54J6T_-yiebfkS0_Qtg618EE,4623
46
+ swift/common/http_protocol.py,sha256=bxhr0jCSu1GuCqfQR_nscrcWCY-VaMGLc0Z0h7P5Vuc,15936
47
+ swift/common/internal_client.py,sha256=GwtLAyLwsoBorL7g8hqCWylQLFLWWW_ABP4NnLozHh4,41088
48
+ swift/common/linkat.py,sha256=9Z4QcDY5HvtSsH66ApEWTv8MRlhaGGhbA7QNiOZ4AKU,2357
49
+ swift/common/manager.py,sha256=QF7gK7gfkTqkrXLiau8SI8eDiJ2QP_TwT03ccbs2Akc,36550
50
+ swift/common/memcached.py,sha256=LRK9qi4DNPw09a5xHzP0xrv5_vfHCI4DT7Isea6WeP4,31813
51
+ swift/common/recon.py,sha256=4WgL5M30RtS-qvGAGDa5IbAdCqavRupKIxNOmVskhU4,1084
52
+ swift/common/registry.py,sha256=a-Fa9lYDNIUKa64dVF9UL5qd3VtUryQVzKcvplfISlA,5212
53
+ swift/common/request_helpers.py,sha256=wIapYc3sBkFNr-kpHpreCbtd-Nu7SnaAyQiOKUV-cQY,39124
54
+ swift/common/splice.py,sha256=ORgHMa1pKWsf_BCYPMzJEK9Jp1z0ciNdf9FMaZoeIEs,5416
55
+ swift/common/statsd_client.py,sha256=AuEsbYBIlo6bY-ebLLVK3vr7HWiJB3AO7vtOR0lxyLs,8217
56
+ swift/common/storage_policy.py,sha256=WlY2Yt0i11oH0YLRNx3hfNQ-_z4kNL45UlLZh6nXKj0,37315
57
+ swift/common/swob.py,sha256=qHku6KtI7wadtUwH-mogc-dbIRQsBJeZfD1EpRZ7_1U,60187
58
+ swift/common/wsgi.py,sha256=mlKVVn8xcQnQQFpVhFRnGoZu7jW6Yly37M-CvIKZ83I,56558
59
+ swift/common/middleware/__init__.py,sha256=idMQFpmj3W1pOF4yFE_FrnmYLbZNaVhIy6S3_IPP0no,1503
60
+ swift/common/middleware/account_quotas.py,sha256=BV30pLWKs_uXPgBe9JT1m-IbwUs51a1RHqMHioCAd8c,12886
61
+ swift/common/middleware/acl.py,sha256=V3JvHlk0mdzAFUeQNqQARSvaNMHaud3Z6dQZdF-HvCc,11453
62
+ swift/common/middleware/backend_ratelimit.py,sha256=cWk763mcR1TVWpr3NdwMxylVZ1KlCLMWrqegnXpOoQA,10029
63
+ swift/common/middleware/bulk.py,sha256=Buli-wTzuGXu-4tNOUYChuWMe5om0qCleLJHO5Gbhuk,35066
64
+ swift/common/middleware/catch_errors.py,sha256=QVcNN2tuc4Xn-zaJrObd73AJX2FpaQ8IAOha5RXzZ9g,5859
65
+ swift/common/middleware/cname_lookup.py,sha256=tW7n4oaqOqr9DrY1x-M-bmjGvvYuH75Vw6ZvncqVNXg,8471
66
+ swift/common/middleware/container_quotas.py,sha256=I5S9ZK5IYs4kv-kzBeZ4Exdg2Vx2fPPS0kb4IzIJPRw,5444
67
+ swift/common/middleware/container_sync.py,sha256=-oEx30ZnZzXRQwuI3cHXM-WYDGtIMX_5mF5uXFmfPM8,7397
68
+ swift/common/middleware/copy.py,sha256=NUTeuyHt9gaLakwy_tZq31qe056FREXLFZYcC5x6JAI,19602
69
+ swift/common/middleware/crossdomain.py,sha256=iCzBcfEV3z2wBTwnv_iE3TZ2ZqQNGJiVs-ZNJn7XVfk,3813
70
+ swift/common/middleware/dlo.py,sha256=6CuDVABgWJtMepfTU9XE4sW6YJTDduk8pnHA2ZuSh7k,20300
71
+ swift/common/middleware/domain_remap.py,sha256=zbxba6P9bqcA-gjFs2G7MWPAvjGxXAE9CmADVS9zHgM,8750
72
+ swift/common/middleware/etag_quoter.py,sha256=ZbqG0TEYFfz9T9k1VaoI0va51_6sH8wDHEHVvehKJcs,4925
73
+ swift/common/middleware/formpost.py,sha256=6YMab6bpL9Qb7NBWW2iudwszo6b9R8EEW0eR7vjSIgE,19318
74
+ swift/common/middleware/gatekeeper.py,sha256=vmI7iC3Je9apyw9mDKUS5QSNsVuGZyT0CL8KLU3PoGM,5836
75
+ swift/common/middleware/healthcheck.py,sha256=3F4UgutBgQpTYfe_Oh2Kh8cQfUbdT0_k4BrmZnjK97M,2075
76
+ swift/common/middleware/keystoneauth.py,sha256=JUkP2wI8sq3tL6iWYMK_2S9CQvUtnBbB6Jw8J1LOOzI,26901
77
+ swift/common/middleware/list_endpoints.py,sha256=uu2WLHUIoDY6KFPIOhULJWdBBJvfvlPyRa0IicKEBVk,10050
78
+ swift/common/middleware/listing_formats.py,sha256=2Dkf6w7uahR3-EUQzQ5iAjGSDaw4GDbbNYubvqPvNd4,10289
79
+ swift/common/middleware/memcache.py,sha256=YENYsIaZZ1wM1IWfmlJzVrAfF0Eb0HF8YAwuj1HupoY,1308
80
+ swift/common/middleware/name_check.py,sha256=K3PzYs7lW1fe7anYFdcC6ijMChcsvNbtw4Sio8Dec_8,5366
81
+ swift/common/middleware/proxy_logging.py,sha256=R7xohc34gZjSCybL8LyIcnXgGY3sQmJw0CC2vg4O07Q,22829
82
+ swift/common/middleware/ratelimit.py,sha256=acizeEytjMxelfIBGvhthmINSTcRkU-aLX6mPCqpe5o,14247
83
+ swift/common/middleware/read_only.py,sha256=ukXiA8Dv4JXJsRWkviEJX6dqvTVT8skpE6LFIp2T3mM,4559
84
+ swift/common/middleware/recon.py,sha256=vs0PIRw6VfBMb0RYmD4LpUoyXIGNbJEdS4xSriqEFvk,18247
85
+ swift/common/middleware/slo.py,sha256=FhqaGNiO4_yXS4_O6vifRZghEQGEJm14DmrFtAC6vpU,83529
86
+ swift/common/middleware/staticweb.py,sha256=eJgxATHUZrhPsuDl_6Wrh7bDkIYSFiUobTVmj7BBOpo,25823
87
+ swift/common/middleware/symlink.py,sha256=QP5lymMWaxtj7X7Dw1aeJLo-eqey2Wz-QT7cAXPSNKg,35223
88
+ swift/common/middleware/tempauth.py,sha256=DFBEhzasfXK0Kl0spLWqDchrstyIlruHr2q4Bw5jpag,38030
89
+ swift/common/middleware/tempurl.py,sha256=KcgrEbcY1yhfHBZK-1fnNE5OKoMzz1195_Z88BY3FfU,36623
90
+ swift/common/middleware/xprofile.py,sha256=KM0ihi2KIpnLaTrap39mz1irNNugIX_AyaJj-qY32AI,9994
91
+ swift/common/middleware/crypto/__init__.py,sha256=ZI-Tnqg3AMVgDzAhkWFtAlKFJqXGAzYMzSquwK2OnUk,1498
92
+ swift/common/middleware/crypto/crypto_utils.py,sha256=IJhIqjzkAVyEwRW3Xc-vhbqM9KluzRC1EGz5jK0D69M,11307
93
+ swift/common/middleware/crypto/decrypter.py,sha256=JmL2tZSCNylS9J3UYl6y0nIaZAZ0FIbUlhj8t2jQ_eM,20408
94
+ swift/common/middleware/crypto/encrypter.py,sha256=FN4FNITMyVGXgKLgeUCOpvZk_oYsCca0O8GZOoVZLdk,16843
95
+ swift/common/middleware/crypto/keymaster.py,sha256=4s_4CCSWyQa_lZvzKS2XFZXo0J_vpz4aP7Pvm48pAEs,17144
96
+ swift/common/middleware/crypto/kmip_keymaster.py,sha256=aC3RZlFnYEimO3EslaGwOfUNWLRRs6v86mlOcJXqdb0,7128
97
+ swift/common/middleware/crypto/kms_keymaster.py,sha256=g_sAx8UZL5td5HZ5w0SPgzcz6e8Astj5eomRjiXsGiw,5136
98
+ swift/common/middleware/s3api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ swift/common/middleware/s3api/acl_handlers.py,sha256=KVmLYcxSL2pEjmf4gRvmSZjhhj-XTw4DPBM4RVZTar4,17294
100
+ swift/common/middleware/s3api/acl_utils.py,sha256=9_YeR76DqKgHNYtxUZbHMRjvVctgI22Q151i6IRyx2U,3902
101
+ swift/common/middleware/s3api/etree.py,sha256=pLs-J7vxuZfo91-dp-ZI98wTfx5PJ0GNS7n4SxEyfPU,4671
102
+ swift/common/middleware/s3api/exception.py,sha256=b2a1dlC0oyG38EZ7dzYLrIQf1XOk9srgMzN-NDZS9cc,857
103
+ swift/common/middleware/s3api/s3api.py,sha256=Vf1pY2-TRojZ5J-D-7Q5C4wSE13C-H0NNnKIgicKmKY,19676
104
+ swift/common/middleware/s3api/s3request.py,sha256=I78nXc7d6Zc69Q9xDN30YK7P6MfA1_AfOqxVm2U3bPU,69338
105
+ swift/common/middleware/s3api/s3response.py,sha256=KvXiHY0Z7PupIaUz4Me0REI6bZ073FFrhXlj4RJvPFk,26415
106
+ swift/common/middleware/s3api/s3token.py,sha256=gpP-IW3TjhCnc-xvurUj3h5HEPYuEwfq5ZeZQCMSzWA,17343
107
+ swift/common/middleware/s3api/subresource.py,sha256=w3lr3C6ZIWw42J96v95YVTBtHEj7B598U4IbgHqdZBc,18300
108
+ swift/common/middleware/s3api/utils.py,sha256=8mm6gp4-FGRiGJg_-danzTI66kuMY8xXNbEvEk9cZr4,6563
109
+ swift/common/middleware/s3api/controllers/__init__.py,sha256=Hx-o3JZppQWDVPwCinKzdetncL2CDStZKszu5HZVR2U,2175
110
+ swift/common/middleware/s3api/controllers/acl.py,sha256=09FxC6xFP39tDD1dOTzq61UCHAMISmiww4EqakpYnhQ,4914
111
+ swift/common/middleware/s3api/controllers/base.py,sha256=1Nk1d_R8xJRZhSx8Kxdn0Inew-mXgUHLDrHHbarnBT0,2947
112
+ swift/common/middleware/s3api/controllers/bucket.py,sha256=7V8vkfwNAKTOaCU9c3FY4rgAYbdHl3SLE7dA7lDp-Fw,17636
113
+ swift/common/middleware/s3api/controllers/location.py,sha256=LZmlOaZ5pyhGV28oijnTxWMC-qaWHDup_77O4qeRQdE,1410
114
+ swift/common/middleware/s3api/controllers/logging.py,sha256=rjE1njO4M1vEajSJ5oDRVg-aATTegOity6w_Fqhvb24,1679
115
+ swift/common/middleware/s3api/controllers/multi_delete.py,sha256=JSC-7X1KNWaZeVAXbbyzY7EwCOO0VvyAIS5Dm7KJVRI,7852
116
+ swift/common/middleware/s3api/controllers/multi_upload.py,sha256=hIzwlE4EE8jPJ9o-pFAooYDrxdqFKIab1a6ZIiyc8CA,35588
117
+ swift/common/middleware/s3api/controllers/obj.py,sha256=qU5aVybginEi1FnnTIbh4KeqFAgDUlZi9eSbZyPQS6k,10460
118
+ swift/common/middleware/s3api/controllers/object_lock.py,sha256=RXQeyC7q9MoRCuysMmPfloZZDiMDo6rji2okBzcXdQ8,1469
119
+ swift/common/middleware/s3api/controllers/s3_acl.py,sha256=jcb7VjnoG4kb3i5ScBDS3zywrkAMJA3jGRJPnk98drQ,2087
120
+ swift/common/middleware/s3api/controllers/service.py,sha256=6DXsCxflLy85GcaqT1dA7GBO2dzpaVXuoWIBVb8xDeQ,2526
121
+ swift/common/middleware/s3api/controllers/tagging.py,sha256=HEAUt77yYfyCjOCO6NOPvjIHV_9lS81jAxSsVOTSnF4,1701
122
+ swift/common/middleware/s3api/controllers/versioning.py,sha256=203eOKGcTw9qEDh2HFsmlCQGV4KczD5L8FUnfsxvpdQ,2703
123
+ swift/common/middleware/s3api/schema/access_control_policy.rng,sha256=riSrECYKs8_tHkU53JDU7dka94uBJ2ABvu5bH_Ad4_I,443
124
+ swift/common/middleware/s3api/schema/bucket_logging_status.rng,sha256=DXdR_wA8_g2dYm6mXIvasOjfS-KRqZv61ju29X0xYBc,780
125
+ swift/common/middleware/s3api/schema/common.rng,sha256=xOwtIPkrrf5WQD22tr7sqxCgIL2A-O7vTYZY0z_Z91s,2009
126
+ swift/common/middleware/s3api/schema/complete_multipart_upload.rng,sha256=TRMRN4tqcAbCwyrS-j3JU536vKXFHKjPt1FCTOH59Q8,568
127
+ swift/common/middleware/s3api/schema/complete_multipart_upload_result.rng,sha256=iA-MGc1tL9RWVIZFRXjt2whW3Q5PhM3uCYefhNqJaY0,557
128
+ swift/common/middleware/s3api/schema/copy_object_result.rng,sha256=CVubRWBWhLrE93FoYWDqGmc0AfkqY9RLay22rbvsjk4,399
129
+ swift/common/middleware/s3api/schema/copy_part_result.rng,sha256=yCDjlFv9cAyweMbT9nuaUITsg42Po23BNI7nFhYhzME,397
130
+ swift/common/middleware/s3api/schema/create_bucket_configuration.rng,sha256=L19vVt_6FbcqZdCND_m5EesvPwBTBSZr2mQgk9rRb0g,321
131
+ swift/common/middleware/s3api/schema/delete.rng,sha256=yWDmvDvzZcNCJCFdZSHGrDKLj-hLWm8eSSDD2_tBbL4,801
132
+ swift/common/middleware/s3api/schema/delete_result.rng,sha256=9RNNwL86-YEkHVPq14xnyOF42SVQ7GqKPXHlPgpRW5E,1412
133
+ swift/common/middleware/s3api/schema/error.rng,sha256=-o_HRk80tIqZjDhLHjyah1tXUAfyudY2I4Pzi9AglmE,732
134
+ swift/common/middleware/s3api/schema/initiate_multipart_upload_result.rng,sha256=mMurA2dehxTLBrLliAxMuqD7IxXqD7UvbjxTRyG5Ah8,482
135
+ swift/common/middleware/s3api/schema/lifecycle_configuration.rng,sha256=7blkhhSNUnqJrOu35hK3hUsTeozPkyQ7IXWtiu3wKV4,1555
136
+ swift/common/middleware/s3api/schema/list_all_my_buckets_result.rng,sha256=XOmP3pyLlWC1yLS_OKg5qEMSf7NXA3iBsNtl3MJyTr0,700
137
+ swift/common/middleware/s3api/schema/list_bucket_result.rng,sha256=qeIEumH7vpPQhX7VZA3HUfzaNmOMwd1rk_0SlHs8-j0,2562
138
+ swift/common/middleware/s3api/schema/list_multipart_uploads_result.rng,sha256=S0D_iB5B8ldLqTkARqBL712_2wfTnQeK7YxJdxmzTUM,2059
139
+ swift/common/middleware/s3api/schema/list_parts_result.rng,sha256=Yzdla3TPUR1FlPJrFz_GmRZSq7WGAucGRtpcMsdcmik,1657
140
+ swift/common/middleware/s3api/schema/list_versions_result.rng,sha256=KLUcfHGN5a_-KCnBayPd6bHS07kbrE0oZQBAb7T3-bU,3005
141
+ swift/common/middleware/s3api/schema/location_constraint.rng,sha256=VK1bgBrAmijS537envEDmirCQcdf7RklULnUT8FujM8,269
142
+ swift/common/middleware/s3api/schema/versioning_configuration.rng,sha256=gogpuRGUc5q8bKYS-iIgrcb4D3j7O_5H4s71YwNHvuw,652
143
+ swift/common/middleware/versioned_writes/__init__.py,sha256=l1Mn8U28876YDf5dVFkGgQvv-PV3z6DvWcmqfE5RzQs,2118
144
+ swift/common/middleware/versioned_writes/legacy.py,sha256=OLXfy7h_P-zyBDbxRjhrNe9rOUzREbuSRC5mi9oHJo8,38701
145
+ swift/common/middleware/versioned_writes/object_versioning.py,sha256=dBzyZawNsoUjoXotsYUDqTCaqn4Gy3YZGS27hREIonU,65905
146
+ swift/common/middleware/x_profile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
+ swift/common/middleware/x_profile/exceptions.py,sha256=BRhoEqEl5_XIY_ArhvveRkHMO0xHx8V-H7w7M_Siz-E,1020
148
+ swift/common/middleware/x_profile/html_viewer.py,sha256=S4Mr10-DNvp9OCJgW-gEBKm2i35zi4iGrMczoZ2mlbQ,21304
149
+ swift/common/middleware/x_profile/profile_model.py,sha256=iaje5iihcj52U8jGzLmYwmG0_cJI8JFHXxsBhBJfwCw,10202
150
+ swift/common/ring/__init__.py,sha256=WgGFseZj8r2UtBCBcZiCgzbUoWCGv4ND1MCEv5IW7aA,758
151
+ swift/common/ring/builder.py,sha256=GSTnAGoteDmNxWyodSXPzdcU2Qu49olFh5JTDoxvu_w,81421
152
+ swift/common/ring/composite_builder.py,sha256=IY4Q6Bul4yJDPVdRGr6iMt1KSh3sDmEo22YZJqxrm58,31543
153
+ swift/common/ring/ring.py,sha256=PM0qjtXACTGwEt1WdrC9RBxu9IbJ6OP9eMYXpL_aUnA,24021
154
+ swift/common/ring/utils.py,sha256=nMd8q_kvMkj81XBzfDc3S8zw1YG_oWgK3PyzFZSy5Q4,26083
155
+ swift/common/utils/__init__.py,sha256=R25p4lXqHX2Cr4HbJoYwnxIyI7NtP5uWmaICCcgdr4k,187090
156
+ swift/common/utils/base.py,sha256=W-ZcfExtkrjEeYyi4bezXchrDPkA5PtAkuyM_xz3HlE,4752
157
+ swift/common/utils/config.py,sha256=Iro0zq1TN69JHUuFQEqKuWdpOPzfXwQC2PaPNghiKvk,15405
158
+ swift/common/utils/ipaddrs.py,sha256=ZsLWg48yItpQhRSGFdzoLMVqY2k3wRX0YM5boYEJVsY,8550
159
+ swift/common/utils/libc.py,sha256=Vouiaczjt100Opr5kDeRNiCxFDtQgJPU0E17aH1NGTk,12084
160
+ swift/common/utils/logs.py,sha256=IBo79KThBybmVh1hIFNOVi0QKpS_06DAxNaTORXElw0,30601
161
+ swift/common/utils/timestamp.py,sha256=uD7nZBfu02y_Bb3PRevMWRCqdTsuklrBaeI_jwnKl3c,15141
162
+ swift/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
+ swift/container/auditor.py,sha256=mRqZG7ucxyFd_vAjcYhsRNNL5eHHVmYQWpYA6aC7ac0,1140
164
+ swift/container/backend.py,sha256=zeW3G3bfg6p5xoA4E7LmEOZfv2MmNJxaVC_ncHngn94,108739
165
+ swift/container/reconciler.py,sha256=6rUcQGlB_ncqqc2Vpzh72o7oif_irtIaOBFHpuANHpc,36376
166
+ swift/container/replicator.py,sha256=X48YhjuDKP0ofFbVYugdvufKI1aXGU6gnftWC9LBdyc,19974
167
+ swift/container/server.py,sha256=dUGUs3y5hHV048_6NrUatq0_eKlHM7PIuyeWG49aktY,49299
168
+ swift/container/sharder.py,sha256=MWmRB0XY9VckizqOXujXf64yjdOKg71EyW1rCgksiFg,122209
169
+ swift/container/sync.py,sha256=WkJaPT-ALU0CEBx4EOHhhSGspNqcB_1VB1quDAbRDVg,30871
170
+ swift/container/sync_store.py,sha256=f2bPjM6uyW7dg9QUkhJR1G2L-CSmADbS_jL-d-9SNwI,6843
171
+ swift/container/updater.py,sha256=yv0ppsL8tgUGC0TWExfZoRmvd75fHKMBfaLcs-_fd60,15590
172
+ swift/obj/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
+ swift/obj/auditor.py,sha256=HaaFx1bxpnXkRNIIXCAQgpIYFgdjqFQZY5T30qiHmwY,24099
174
+ swift/obj/diskfile.py,sha256=Em6jfO8X_KeW25y9o667afPyiJTPQ9iR33XFlri8D94,164061
175
+ swift/obj/expirer.py,sha256=j2V8yai1cBBJj6MReM1khz-8kblfhUNdbTPsQYsAvXA,33385
176
+ swift/obj/mem_diskfile.py,sha256=vJLHHGIL40vWMBBThwl2DR4mHhoNKPKmWKR0Bd1ManA,17370
177
+ swift/obj/mem_server.py,sha256=NX_eepTR8VjqlYlbGp2fMNPhDAHqZV8rDosBWf4YyNw,2000
178
+ swift/obj/reconstructor.py,sha256=4DBBNmFuKRnFTlX4H-Eo5Hy2_Z0A8GUGECF2tuG7gmM,72059
179
+ swift/obj/replicator.py,sha256=3iZVYF8uV87s23-LzljmcD27j6l7vXJ3_V-sbuu7x8M,53476
180
+ swift/obj/server.py,sha256=qj7YfwMJQt60RI46wnFSmHIWe7w20qVokjKGUbad-n4,68861
181
+ swift/obj/ssync_receiver.py,sha256=3FL8A1u8zkJP8JvVZMPK3MD0Yr2C1LcROsIiS6Tpk1M,24669
182
+ swift/obj/ssync_sender.py,sha256=1RWY7xHqM6XHilQOFuQFEjJSPM-05AsUAA0Q7ita5xE,24523
183
+ swift/obj/updater.py,sha256=9lmKZJzxXzRrSIjKsm14s8FgMIXmxDUU4O022O5hO-8,41658
184
+ swift/obj/watchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
+ swift/obj/watchers/dark_data.py,sha256=cuD7MqOFnlMnagbtAYl3n3N_rgBF4iR9NF3qFstZpCQ,8608
186
+ swift/proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
+ swift/proxy/server.py,sha256=cQqzO0MEuLDGKJAUgBFmeRWoJ1VCLxRVPMF6U5inswI,36567
188
+ swift/proxy/controllers/__init__.py,sha256=w3H7qtpUavnczPLXJtiaDJISr2TAcihou9Q04ysRg3U,982
189
+ swift/proxy/controllers/account.py,sha256=eyTL_ldi10kYSTJm6RfQLxEKY5b457TN5w9i5tGYUJw,8381
190
+ swift/proxy/controllers/base.py,sha256=FqQCX5adNia2MBC7tGUtcKb7kHO-al0nRoOS9hztMP0,101653
191
+ swift/proxy/controllers/container.py,sha256=Oa6ni5kkcbW6_GA6nW_Fmf5b1GY1C8upbylfSN11PPo,36931
192
+ swift/proxy/controllers/info.py,sha256=QSvBwBJjwO3QIktINMCjcYgBi-QAi3wHWKmyf4AtQz8,3859
193
+ swift/proxy/controllers/obj.py,sha256=YGHuADULEnD7IxOiZ-Q-PeNK8c-qsOKOQkApmJ_JxIk,148764
194
+ swift-2.35.0.dist-info/AUTHORS,sha256=niAhIbsfaalFECaZDz7i4zO2HalbxsFPfCaWAnRYQ4Q,18491
195
+ swift-2.35.0.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
196
+ swift-2.35.0.dist-info/METADATA,sha256=w6QPYm9nMprg9ir4dxeFKHWWKcdZY-BsS8Fm-YCuucg,8575
197
+ swift-2.35.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
198
+ swift-2.35.0.dist-info/entry_points.txt,sha256=sABN-wA_ikxyB37MhGggO1bY5Tb4hidL-LJBWSb3gKs,4924
199
+ swift-2.35.0.dist-info/pbr.json,sha256=Rt2p_Z-82dS9kl3wX0is-XQCrH85NnU3MSEPYLnEN-Q,48
200
+ swift-2.35.0.dist-info/top_level.txt,sha256=nVzNOToyzq0MM7JtrpalfOaPV9UIfm_lXhHX0duhVps,6
201
+ swift-2.35.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.30.0)
2
+ Generator: setuptools (75.3.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5