lockss-pyclient 0.1.0.dev1__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 (148) hide show
  1. lockss/pyclient/__init__.py +67 -0
  2. lockss/pyclient/config/__init__.py +42 -0
  3. lockss/pyclient/config/api/__init__.py +12 -0
  4. lockss/pyclient/config/api/aus_api.py +2195 -0
  5. lockss/pyclient/config/api/config_api.py +718 -0
  6. lockss/pyclient/config/api/plugins_api.py +128 -0
  7. lockss/pyclient/config/api/status_api.py +120 -0
  8. lockss/pyclient/config/api/tdb_api.py +318 -0
  9. lockss/pyclient/config/api/users_api.py +516 -0
  10. lockss/pyclient/config/api/utils_api.py +128 -0
  11. lockss/pyclient/config/api_client.py +632 -0
  12. lockss/pyclient/config/configuration.py +254 -0
  13. lockss/pyclient/config/models/__init__.py +30 -0
  14. lockss/pyclient/config/models/api_status.py +344 -0
  15. lockss/pyclient/config/models/au_configuration.py +142 -0
  16. lockss/pyclient/config/models/au_status.py +113 -0
  17. lockss/pyclient/config/models/au_ws_result.py +113 -0
  18. lockss/pyclient/config/models/auids_body.py +168 -0
  19. lockss/pyclient/config/models/check_substance_result.py +212 -0
  20. lockss/pyclient/config/models/content_configuration_result.py +200 -0
  21. lockss/pyclient/config/models/file_section_name_body.py +113 -0
  22. lockss/pyclient/config/models/platform_configuration_ws_result.py +113 -0
  23. lockss/pyclient/config/models/plugin_ws_result.py +345 -0
  24. lockss/pyclient/config/models/request_au_control_result.py +171 -0
  25. lockss/pyclient/config/models/tdb_au_ws_result.py +360 -0
  26. lockss/pyclient/config/models/tdb_publisher_ws_result.py +113 -0
  27. lockss/pyclient/config/models/tdb_title_ws_result.py +390 -0
  28. lockss/pyclient/config/rest.py +317 -0
  29. lockss/pyclient/crawler/__init__.py +45 -0
  30. lockss/pyclient/crawler/api/__init__.py +10 -0
  31. lockss/pyclient/crawler/api/crawlers_api.py +215 -0
  32. lockss/pyclient/crawler/api/crawls_api.py +952 -0
  33. lockss/pyclient/crawler/api/jobs_api.py +504 -0
  34. lockss/pyclient/crawler/api/status_api.py +120 -0
  35. lockss/pyclient/crawler/api/ws_api.py +128 -0
  36. lockss/pyclient/crawler/api_client.py +632 -0
  37. lockss/pyclient/crawler/configuration.py +254 -0
  38. lockss/pyclient/crawler/models/__init__.py +35 -0
  39. lockss/pyclient/crawler/models/api_status.py +344 -0
  40. lockss/pyclient/crawler/models/counter.py +142 -0
  41. lockss/pyclient/crawler/models/crawl_desc.py +344 -0
  42. lockss/pyclient/crawler/models/crawl_job.py +280 -0
  43. lockss/pyclient/crawler/models/crawl_pager.py +140 -0
  44. lockss/pyclient/crawler/models/crawl_status.py +780 -0
  45. lockss/pyclient/crawler/models/crawl_ws_result.py +814 -0
  46. lockss/pyclient/crawler/models/crawl_ws_result_pages_with_errors.py +162 -0
  47. lockss/pyclient/crawler/models/crawler_config.py +142 -0
  48. lockss/pyclient/crawler/models/crawler_status.py +279 -0
  49. lockss/pyclient/crawler/models/crawler_statuses.py +112 -0
  50. lockss/pyclient/crawler/models/error_result.py +164 -0
  51. lockss/pyclient/crawler/models/job_pager.py +140 -0
  52. lockss/pyclient/crawler/models/job_status.py +147 -0
  53. lockss/pyclient/crawler/models/mime_counter.py +169 -0
  54. lockss/pyclient/crawler/models/page_info.py +228 -0
  55. lockss/pyclient/crawler/models/url_error.py +148 -0
  56. lockss/pyclient/crawler/models/url_info.py +167 -0
  57. lockss/pyclient/crawler/models/url_pager.py +140 -0
  58. lockss/pyclient/crawler/rest.py +317 -0
  59. lockss/pyclient/md/__init__.py +36 -0
  60. lockss/pyclient/md/api/__init__.py +9 -0
  61. lockss/pyclient/md/api/mdupdates_api.py +508 -0
  62. lockss/pyclient/md/api/metadata_api.py +136 -0
  63. lockss/pyclient/md/api/status_api.py +120 -0
  64. lockss/pyclient/md/api/urls_api.py +224 -0
  65. lockss/pyclient/md/api_client.py +632 -0
  66. lockss/pyclient/md/configuration.py +254 -0
  67. lockss/pyclient/md/models/__init__.py +27 -0
  68. lockss/pyclient/md/models/api_status.py +344 -0
  69. lockss/pyclient/md/models/au.py +169 -0
  70. lockss/pyclient/md/models/au_metadata_page_info.py +140 -0
  71. lockss/pyclient/md/models/error_result.py +164 -0
  72. lockss/pyclient/md/models/item_metadata.py +196 -0
  73. lockss/pyclient/md/models/job.py +280 -0
  74. lockss/pyclient/md/models/job_page_info.py +140 -0
  75. lockss/pyclient/md/models/metadata_update_spec.py +142 -0
  76. lockss/pyclient/md/models/page_info.py +228 -0
  77. lockss/pyclient/md/models/status.py +142 -0
  78. lockss/pyclient/md/models/url_info.py +142 -0
  79. lockss/pyclient/md/rest.py +317 -0
  80. lockss/pyclient/poller/__init__.py +54 -0
  81. lockss/pyclient/poller/api/__init__.py +13 -0
  82. lockss/pyclient/poller/api/export_api.py +156 -0
  83. lockss/pyclient/poller/api/hash_api.py +413 -0
  84. lockss/pyclient/poller/api/import_api.py +157 -0
  85. lockss/pyclient/poller/api/poll_detail_api.py +374 -0
  86. lockss/pyclient/poller/api/poller_polls_api.py +223 -0
  87. lockss/pyclient/poller/api/repo_api.py +223 -0
  88. lockss/pyclient/poller/api/service_api.py +694 -0
  89. lockss/pyclient/poller/api/voter_polls_api.py +223 -0
  90. lockss/pyclient/poller/api_client.py +632 -0
  91. lockss/pyclient/poller/configuration.py +254 -0
  92. lockss/pyclient/poller/models/__init__.py +41 -0
  93. lockss/pyclient/poller/models/api_status.py +344 -0
  94. lockss/pyclient/poller/models/aus_import_body.py +199 -0
  95. lockss/pyclient/poller/models/cached_uri_set_spec.py +169 -0
  96. lockss/pyclient/poller/models/error_result.py +164 -0
  97. lockss/pyclient/poller/models/hasher_ws_params.py +432 -0
  98. lockss/pyclient/poller/models/link_desc.py +141 -0
  99. lockss/pyclient/poller/models/page_desc.py +227 -0
  100. lockss/pyclient/poller/models/peer_data.py +638 -0
  101. lockss/pyclient/poller/models/peer_ws_result.py +113 -0
  102. lockss/pyclient/poller/models/poll_desc.py +285 -0
  103. lockss/pyclient/poller/models/poll_ws_result.py +142 -0
  104. lockss/pyclient/poller/models/poller_detail.py +613 -0
  105. lockss/pyclient/poller/models/poller_pager.py +139 -0
  106. lockss/pyclient/poller/models/poller_summary.py +452 -0
  107. lockss/pyclient/poller/models/repair_data.py +176 -0
  108. lockss/pyclient/poller/models/repair_pager.py +139 -0
  109. lockss/pyclient/poller/models/repair_queue.py +249 -0
  110. lockss/pyclient/poller/models/repository_space_ws_result.py +113 -0
  111. lockss/pyclient/poller/models/repository_ws_result.py +113 -0
  112. lockss/pyclient/poller/models/tally_data.py +471 -0
  113. lockss/pyclient/poller/models/url_pager.py +139 -0
  114. lockss/pyclient/poller/models/vote_ws_result.py +142 -0
  115. lockss/pyclient/poller/models/voter_detail.py +701 -0
  116. lockss/pyclient/poller/models/voter_pager.py +139 -0
  117. lockss/pyclient/poller/models/voter_summary.py +284 -0
  118. lockss/pyclient/poller/rest.py +317 -0
  119. lockss/pyclient/rs/__init__.py +41 -0
  120. lockss/pyclient/rs/api/__init__.py +10 -0
  121. lockss/pyclient/rs/api/artifacts_api.py +988 -0
  122. lockss/pyclient/rs/api/aus_api.py +334 -0
  123. lockss/pyclient/rs/api/repo_api.py +379 -0
  124. lockss/pyclient/rs/api/status_api.py +120 -0
  125. lockss/pyclient/rs/api/wayback_api.py +386 -0
  126. lockss/pyclient/rs/api_client.py +632 -0
  127. lockss/pyclient/rs/configuration.py +247 -0
  128. lockss/pyclient/rs/models/__init__.py +31 -0
  129. lockss/pyclient/rs/models/api_status.py +344 -0
  130. lockss/pyclient/rs/models/archives_body.py +142 -0
  131. lockss/pyclient/rs/models/artifact.py +344 -0
  132. lockss/pyclient/rs/models/artifact_page_info.py +140 -0
  133. lockss/pyclient/rs/models/artifact_properties.py +344 -0
  134. lockss/pyclient/rs/models/artifacts_body.py +170 -0
  135. lockss/pyclient/rs/models/au_size.py +162 -0
  136. lockss/pyclient/rs/models/auid_page_info.py +140 -0
  137. lockss/pyclient/rs/models/error_result.py +164 -0
  138. lockss/pyclient/rs/models/import_status.py +298 -0
  139. lockss/pyclient/rs/models/page_info.py +229 -0
  140. lockss/pyclient/rs/models/repository_info.py +164 -0
  141. lockss/pyclient/rs/models/repository_statistics.py +112 -0
  142. lockss/pyclient/rs/models/storage_info.py +287 -0
  143. lockss/pyclient/rs/models/streaming_response_body.py +84 -0
  144. lockss/pyclient/rs/rest.py +317 -0
  145. lockss_pyclient-0.1.0.dev1.dist-info/LICENSE +27 -0
  146. lockss_pyclient-0.1.0.dev1.dist-info/METADATA +29 -0
  147. lockss_pyclient-0.1.0.dev1.dist-info/RECORD +148 -0
  148. lockss_pyclient-0.1.0.dev1.dist-info/WHEEL +4 -0
@@ -0,0 +1,317 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LOCKSS Poller Service REST API
5
+
6
+ REST API of the LOCKSS Poller Service # noqa: E501
7
+
8
+ OpenAPI spec version: 2.0.0
9
+ Contact: lockss-support@lockss.org
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+ from __future__ import absolute_import
14
+
15
+ import io
16
+ import json
17
+ import logging
18
+ import re
19
+ import ssl
20
+
21
+ import certifi
22
+ # python 2 and python 3 compatibility library
23
+ import six
24
+ from six.moves.urllib.parse import urlencode
25
+
26
+ try:
27
+ import urllib3
28
+ except ImportError:
29
+ raise ImportError('Swagger python client requires urllib3.')
30
+
31
+
32
+ logger = logging.getLogger(__name__)
33
+
34
+
35
+ class RESTResponse(io.IOBase):
36
+
37
+ def __init__(self, resp):
38
+ self.urllib3_response = resp
39
+ self.status = resp.status
40
+ self.reason = resp.reason
41
+ self.data = resp.data
42
+
43
+ def getheaders(self):
44
+ """Returns a dictionary of the response headers."""
45
+ return self.urllib3_response.headers
46
+
47
+ def getheader(self, name, default=None):
48
+ """Returns a given response header."""
49
+ return self.urllib3_response.headers.get(name, default)
50
+
51
+
52
+ class RESTClientObject(object):
53
+
54
+ def __init__(self, configuration, pools_size=4, maxsize=None):
55
+ # urllib3.PoolManager will pass all kw parameters to connectionpool
56
+ # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501
57
+ # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501
58
+ # maxsize is the number of requests to host that are allowed in parallel # noqa: E501
59
+ # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501
60
+
61
+ # cert_reqs
62
+ if configuration.verify_ssl:
63
+ cert_reqs = ssl.CERT_REQUIRED
64
+ else:
65
+ cert_reqs = ssl.CERT_NONE
66
+
67
+ # ca_certs
68
+ if configuration.ssl_ca_cert:
69
+ ca_certs = configuration.ssl_ca_cert
70
+ else:
71
+ # if not set certificate file, use Mozilla's root certificates.
72
+ ca_certs = certifi.where()
73
+
74
+ addition_pool_args = {}
75
+ if configuration.assert_hostname is not None:
76
+ addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501
77
+
78
+ if maxsize is None:
79
+ if configuration.connection_pool_maxsize is not None:
80
+ maxsize = configuration.connection_pool_maxsize
81
+ else:
82
+ maxsize = 4
83
+
84
+ # https pool manager
85
+ if configuration.proxy:
86
+ self.pool_manager = urllib3.ProxyManager(
87
+ num_pools=pools_size,
88
+ maxsize=maxsize,
89
+ cert_reqs=cert_reqs,
90
+ ca_certs=ca_certs,
91
+ cert_file=configuration.cert_file,
92
+ key_file=configuration.key_file,
93
+ proxy_url=configuration.proxy,
94
+ **addition_pool_args
95
+ )
96
+ else:
97
+ self.pool_manager = urllib3.PoolManager(
98
+ num_pools=pools_size,
99
+ maxsize=maxsize,
100
+ cert_reqs=cert_reqs,
101
+ ca_certs=ca_certs,
102
+ cert_file=configuration.cert_file,
103
+ key_file=configuration.key_file,
104
+ **addition_pool_args
105
+ )
106
+
107
+ def request(self, method, url, query_params=None, headers=None,
108
+ body=None, post_params=None, _preload_content=True,
109
+ _request_timeout=None):
110
+ """Perform requests.
111
+
112
+ :param method: http request method
113
+ :param url: http request url
114
+ :param query_params: query parameters in the url
115
+ :param headers: http request headers
116
+ :param body: request json body, for `application/json`
117
+ :param post_params: request post parameters,
118
+ `application/x-www-form-urlencoded`
119
+ and `multipart/form-data`
120
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
121
+ be returned without reading/decoding response
122
+ data. Default is True.
123
+ :param _request_timeout: timeout setting for this request. If one
124
+ number provided, it will be total request
125
+ timeout. It can also be a pair (tuple) of
126
+ (connection, read) timeouts.
127
+ """
128
+ method = method.upper()
129
+ assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
130
+ 'PATCH', 'OPTIONS']
131
+
132
+ if post_params and body:
133
+ raise ValueError(
134
+ "body parameter cannot be used with post_params parameter."
135
+ )
136
+
137
+ post_params = post_params or {}
138
+ headers = headers or {}
139
+
140
+ timeout = None
141
+ if _request_timeout:
142
+ if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): # noqa: E501,F821
143
+ timeout = urllib3.Timeout(total=_request_timeout)
144
+ elif (isinstance(_request_timeout, tuple) and
145
+ len(_request_timeout) == 2):
146
+ timeout = urllib3.Timeout(
147
+ connect=_request_timeout[0], read=_request_timeout[1])
148
+
149
+ if 'Content-Type' not in headers:
150
+ headers['Content-Type'] = 'application/json'
151
+
152
+ try:
153
+ # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
154
+ if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
155
+ if query_params:
156
+ url += '?' + urlencode(query_params)
157
+ if re.search('json', headers['Content-Type'], re.IGNORECASE):
158
+ request_body = '{}'
159
+ if body is not None:
160
+ request_body = json.dumps(body)
161
+ r = self.pool_manager.request(
162
+ method, url,
163
+ body=request_body,
164
+ preload_content=_preload_content,
165
+ timeout=timeout,
166
+ headers=headers)
167
+ elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
168
+ r = self.pool_manager.request(
169
+ method, url,
170
+ fields=post_params,
171
+ encode_multipart=False,
172
+ preload_content=_preload_content,
173
+ timeout=timeout,
174
+ headers=headers)
175
+ elif headers['Content-Type'] == 'multipart/form-data':
176
+ # must del headers['Content-Type'], or the correct
177
+ # Content-Type which generated by urllib3 will be
178
+ # overwritten.
179
+ del headers['Content-Type']
180
+ r = self.pool_manager.request(
181
+ method, url,
182
+ fields=post_params,
183
+ encode_multipart=True,
184
+ preload_content=_preload_content,
185
+ timeout=timeout,
186
+ headers=headers)
187
+ # Pass a `string` parameter directly in the body to support
188
+ # other content types than Json when `body` argument is
189
+ # provided in serialized form
190
+ elif isinstance(body, str):
191
+ request_body = body
192
+ r = self.pool_manager.request(
193
+ method, url,
194
+ body=request_body,
195
+ preload_content=_preload_content,
196
+ timeout=timeout,
197
+ headers=headers)
198
+ else:
199
+ # Cannot generate the request from given parameters
200
+ msg = """Cannot prepare a request message for provided
201
+ arguments. Please check that your arguments match
202
+ declared content type."""
203
+ raise ApiException(status=0, reason=msg)
204
+ # For `GET`, `HEAD`
205
+ else:
206
+ r = self.pool_manager.request(method, url,
207
+ fields=query_params,
208
+ preload_content=_preload_content,
209
+ timeout=timeout,
210
+ headers=headers)
211
+ except urllib3.exceptions.SSLError as e:
212
+ msg = "{0}\n{1}".format(type(e).__name__, str(e))
213
+ raise ApiException(status=0, reason=msg)
214
+
215
+ if _preload_content:
216
+ r = RESTResponse(r)
217
+
218
+ # log response body
219
+ logger.debug("response body: %s", r.data)
220
+
221
+ if not 200 <= r.status <= 299:
222
+ raise ApiException(http_resp=r)
223
+
224
+ return r
225
+
226
+ def GET(self, url, headers=None, query_params=None, _preload_content=True,
227
+ _request_timeout=None):
228
+ return self.request("GET", url,
229
+ headers=headers,
230
+ _preload_content=_preload_content,
231
+ _request_timeout=_request_timeout,
232
+ query_params=query_params)
233
+
234
+ def HEAD(self, url, headers=None, query_params=None, _preload_content=True,
235
+ _request_timeout=None):
236
+ return self.request("HEAD", url,
237
+ headers=headers,
238
+ _preload_content=_preload_content,
239
+ _request_timeout=_request_timeout,
240
+ query_params=query_params)
241
+
242
+ def OPTIONS(self, url, headers=None, query_params=None, post_params=None,
243
+ body=None, _preload_content=True, _request_timeout=None):
244
+ return self.request("OPTIONS", url,
245
+ headers=headers,
246
+ query_params=query_params,
247
+ post_params=post_params,
248
+ _preload_content=_preload_content,
249
+ _request_timeout=_request_timeout,
250
+ body=body)
251
+
252
+ def DELETE(self, url, headers=None, query_params=None, body=None,
253
+ _preload_content=True, _request_timeout=None):
254
+ return self.request("DELETE", url,
255
+ headers=headers,
256
+ query_params=query_params,
257
+ _preload_content=_preload_content,
258
+ _request_timeout=_request_timeout,
259
+ body=body)
260
+
261
+ def POST(self, url, headers=None, query_params=None, post_params=None,
262
+ body=None, _preload_content=True, _request_timeout=None):
263
+ return self.request("POST", url,
264
+ headers=headers,
265
+ query_params=query_params,
266
+ post_params=post_params,
267
+ _preload_content=_preload_content,
268
+ _request_timeout=_request_timeout,
269
+ body=body)
270
+
271
+ def PUT(self, url, headers=None, query_params=None, post_params=None,
272
+ body=None, _preload_content=True, _request_timeout=None):
273
+ return self.request("PUT", url,
274
+ headers=headers,
275
+ query_params=query_params,
276
+ post_params=post_params,
277
+ _preload_content=_preload_content,
278
+ _request_timeout=_request_timeout,
279
+ body=body)
280
+
281
+ def PATCH(self, url, headers=None, query_params=None, post_params=None,
282
+ body=None, _preload_content=True, _request_timeout=None):
283
+ return self.request("PATCH", url,
284
+ headers=headers,
285
+ query_params=query_params,
286
+ post_params=post_params,
287
+ _preload_content=_preload_content,
288
+ _request_timeout=_request_timeout,
289
+ body=body)
290
+
291
+
292
+ class ApiException(Exception):
293
+
294
+ def __init__(self, status=None, reason=None, http_resp=None):
295
+ if http_resp:
296
+ self.status = http_resp.status
297
+ self.reason = http_resp.reason
298
+ self.body = http_resp.data
299
+ self.headers = http_resp.getheaders()
300
+ else:
301
+ self.status = status
302
+ self.reason = reason
303
+ self.body = None
304
+ self.headers = None
305
+
306
+ def __str__(self):
307
+ """Custom error messages for exception"""
308
+ error_message = "({0})\n"\
309
+ "Reason: {1}\n".format(self.status, self.reason)
310
+ if self.headers:
311
+ error_message += "HTTP response headers: {0}\n".format(
312
+ self.headers)
313
+
314
+ if self.body:
315
+ error_message += "HTTP response body: {0}\n".format(self.body)
316
+
317
+ return error_message
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ LOCKSS Repository Service REST API
7
+
8
+ REST API of the LOCKSS Repository Service # noqa: E501
9
+
10
+ OpenAPI spec version: 2.0.0
11
+ Contact: lockss-support@lockss.org
12
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
13
+ """
14
+
15
+ from __future__ import absolute_import
16
+
17
+ # import apis into sdk package
18
+ from lockss.pyclient.rs.api.artifacts_api import ArtifactsApi
19
+ from lockss.pyclient.rs.api.aus_api import AusApi
20
+ from lockss.pyclient.rs.api.repo_api import RepoApi
21
+ from lockss.pyclient.rs.api.status_api import StatusApi
22
+ from lockss.pyclient.rs.api.wayback_api import WaybackApi
23
+ # import ApiClient
24
+ from lockss.pyclient.rs.api_client import ApiClient
25
+ from lockss.pyclient.rs.configuration import Configuration
26
+ # import models into sdk package
27
+ from lockss.pyclient.rs.models.api_status import ApiStatus
28
+ from lockss.pyclient.rs.models.archives_body import ArchivesBody
29
+ from lockss.pyclient.rs.models.artifact import Artifact
30
+ from lockss.pyclient.rs.models.artifact_page_info import ArtifactPageInfo
31
+ from lockss.pyclient.rs.models.artifact_properties import ArtifactProperties
32
+ from lockss.pyclient.rs.models.artifacts_body import ArtifactsBody
33
+ from lockss.pyclient.rs.models.au_size import AuSize
34
+ from lockss.pyclient.rs.models.auid_page_info import AuidPageInfo
35
+ from lockss.pyclient.rs.models.error_result import ErrorResult
36
+ from lockss.pyclient.rs.models.import_status import ImportStatus
37
+ from lockss.pyclient.rs.models.page_info import PageInfo
38
+ from lockss.pyclient.rs.models.repository_info import RepositoryInfo
39
+ from lockss.pyclient.rs.models.repository_statistics import RepositoryStatistics
40
+ from lockss.pyclient.rs.models.storage_info import StorageInfo
41
+ from lockss.pyclient.rs.models.streaming_response_body import StreamingResponseBody
@@ -0,0 +1,10 @@
1
+ from __future__ import absolute_import
2
+
3
+ # flake8: noqa
4
+
5
+ # import apis into api package
6
+ from lockss.pyclient.rs.api.artifacts_api import ArtifactsApi
7
+ from lockss.pyclient.rs.api.aus_api import AusApi
8
+ from lockss.pyclient.rs.api.repo_api import RepoApi
9
+ from lockss.pyclient.rs.api.status_api import StatusApi
10
+ from lockss.pyclient.rs.api.wayback_api import WaybackApi