python-chi 0.17.11.dev2__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/.github/CODEOWNERS +1 -1
- python_chi-1.0.0/.github/workflows/pypi-publish.yml +43 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/.readthedocs.yml +7 -1
- python_chi-1.0.0/AUTHORS +1 -0
- python_chi-1.0.0/ChangeLog +7 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/PKG-INFO +17 -5
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/__init__.py +0 -2
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/clients.py +29 -21
- python_chi-1.0.0/chi/container.py +591 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/context.py +282 -38
- python_chi-1.0.0/chi/exception.py +30 -0
- python_chi-1.0.0/chi/hardware.py +234 -0
- python_chi-1.0.0/chi/image.py +129 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/jupyterhub.py +10 -9
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/keypair.py +1 -0
- python_chi-1.0.0/chi/lease.py +1159 -0
- python_chi-1.0.0/chi/magic.py +262 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/network.py +193 -179
- python_chi-1.0.0/chi/server.py +1073 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/share.py +17 -16
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/chi/ssh.py +8 -0
- python_chi-1.0.0/chi/storage.py +198 -0
- python_chi-1.0.0/chi/util.py +81 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/conf.py +1 -49
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/index.rst +26 -0
- python_chi-1.0.0/docs/modules/clients.rst +11 -0
- python_chi-1.0.0/docs/modules/context.rst +11 -0
- python_chi-1.0.0/docs/modules/exception.rst +10 -0
- python_chi-1.0.0/docs/modules/hardware.rst +10 -0
- python_chi-1.0.0/docs/modules/lease.rst +10 -0
- python_chi-1.0.0/docs/modules/magic.rst +11 -0
- python_chi-1.0.0/docs/modules/server.rst +10 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/modules/share.rst +2 -0
- python_chi-1.0.0/docs/modules/storage.rst +11 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/requirements.txt +1 -3
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/python_chi.egg-info/PKG-INFO +17 -5
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/python_chi.egg-info/SOURCES.txt +10 -5
- python_chi-1.0.0/python_chi.egg-info/dependency_links.txt +1 -0
- python_chi-1.0.0/python_chi.egg-info/pbr.json +1 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/python_chi.egg-info/requires.txt +5 -2
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/requirements.txt +6 -2
- python_chi-1.0.0/setup.py +9 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tox.ini +1 -2
- python-chi-0.17.11.dev2/AUTHORS +0 -16
- python-chi-0.17.11.dev2/ChangeLog +0 -466
- python-chi-0.17.11.dev2/chi/container.py +0 -294
- python-chi-0.17.11.dev2/chi/image.py +0 -57
- python-chi-0.17.11.dev2/chi/lease.py +0 -842
- python-chi-0.17.11.dev2/chi/networking_api_examples.py +0 -9
- python-chi-0.17.11.dev2/chi/reservation_api_examples.py +0 -9
- python-chi-0.17.11.dev2/chi/server.py +0 -678
- python-chi-0.17.11.dev2/chi/server_api_examples.py +0 -9
- python-chi-0.17.11.dev2/chi/util.py +0 -33
- python-chi-0.17.11.dev2/docs/_extras/notebooks/.gitignore +0 -1
- python-chi-0.17.11.dev2/docs/modules/context.rst +0 -11
- python-chi-0.17.11.dev2/docs/modules/lease.rst +0 -20
- python-chi-0.17.11.dev2/docs/modules/server.rst +0 -31
- python-chi-0.17.11.dev2/docs/notebooks/.gitignore +0 -1
- python-chi-0.17.11.dev2/python_chi.egg-info/dependency_links.txt +0 -1
- python-chi-0.17.11.dev2/python_chi.egg-info/pbr.json +0 -1
- python-chi-0.17.11.dev2/setup.py +0 -7
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/.github/workflows/test.yml +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/.mailmap +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/DEVELOPMENT.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/LICENSE +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/Makefile +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/README.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/__init__.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/generate_notebook.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/modules/container.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/modules/image.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/modules/network.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/docs/modules/ssh.rst +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/python_chi.egg-info/not-zip-safe +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/python_chi.egg-info/top_level.txt +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/setup.cfg +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/test-requirements.txt +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/__init__.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_container.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_context.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_lease.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_network.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_server.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_share.py +0 -0
- {python-chi-0.17.11.dev2 → python_chi-1.0.0}/tests/test_ssh.py +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# This workflow will upload a Python Package using Twine when a release is created
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
|
|
3
|
+
|
|
4
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
5
|
+
# They are provided by a third-party and are governed by
|
|
6
|
+
# separate terms of service, privacy policy, and support
|
|
7
|
+
# documentation.
|
|
8
|
+
|
|
9
|
+
name: Upload Python Package
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
deploy:
|
|
20
|
+
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v3
|
|
25
|
+
- name: Set up Python
|
|
26
|
+
uses: actions/setup-python@v3
|
|
27
|
+
with:
|
|
28
|
+
python-version: '3.x'
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
run: |
|
|
31
|
+
python -m pip install --upgrade pip
|
|
32
|
+
pip install wheel
|
|
33
|
+
pip install setuptools
|
|
34
|
+
- name: update release version in setup
|
|
35
|
+
run: >-
|
|
36
|
+
sed -i "s/{{VERSION_PLACEHOLDER}}/${{ github.event.release.tag_name }}/g" setup.py
|
|
37
|
+
- name: Build package
|
|
38
|
+
run: python setup.py sdist bdist_wheel
|
|
39
|
+
- name: Publish package
|
|
40
|
+
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
|
|
41
|
+
with:
|
|
42
|
+
user: __token__
|
|
43
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -5,10 +5,16 @@ version: 2
|
|
|
5
5
|
sphinx:
|
|
6
6
|
configuration: docs/conf.py
|
|
7
7
|
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-20.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "3.9"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
8
15
|
formats: all
|
|
9
16
|
|
|
10
17
|
python:
|
|
11
|
-
version: 3.8
|
|
12
18
|
install:
|
|
13
19
|
- requirements: requirements.txt
|
|
14
20
|
- requirements: test-requirements.txt
|
python_chi-1.0.0/AUTHORS
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Mark Powers <markpowers@uchicago.edu>
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-chi
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: Helper library for Chameleon Infrastructure (CHI) testbed
|
|
5
5
|
Home-page: https://www.chameleoncloud.org
|
|
6
6
|
Author: University of Chicago
|
|
7
7
|
Author-email: dev@lists.chameleoncloud.org
|
|
8
|
-
License: UNKNOWN
|
|
9
|
-
Platform: UNKNOWN
|
|
10
8
|
Classifier: Development Status :: 4 - Beta
|
|
11
9
|
Classifier: Environment :: Console
|
|
12
10
|
Classifier: Environment :: OpenStack
|
|
@@ -16,6 +14,22 @@ Classifier: Operating System :: OS Independent
|
|
|
16
14
|
Classifier: Programming Language :: Python
|
|
17
15
|
License-File: LICENSE
|
|
18
16
|
License-File: AUTHORS
|
|
17
|
+
Requires-Dist: fabric
|
|
18
|
+
Requires-Dist: keystoneauth1
|
|
19
|
+
Requires-Dist: openstacksdk
|
|
20
|
+
Requires-Dist: paramiko
|
|
21
|
+
Requires-Dist: python-cinderclient
|
|
22
|
+
Requires-Dist: python-glanceclient
|
|
23
|
+
Requires-Dist: python-ironicclient
|
|
24
|
+
Requires-Dist: python-manilaclient
|
|
25
|
+
Requires-Dist: python-neutronclient
|
|
26
|
+
Requires-Dist: python-novaclient
|
|
27
|
+
Requires-Dist: python-swiftclient
|
|
28
|
+
Requires-Dist: python-zunclient
|
|
29
|
+
Requires-Dist: ipython
|
|
30
|
+
Requires-Dist: ipywidgets
|
|
31
|
+
Requires-Dist: networkx
|
|
32
|
+
Requires-Dist: matplotlib
|
|
19
33
|
|
|
20
34
|
python-chi
|
|
21
35
|
==========
|
|
@@ -31,5 +45,3 @@ Jupyter Notebooks.
|
|
|
31
45
|
* `Documentation <https://python-chi.readthedocs.io>`_
|
|
32
46
|
* `Contributing guide <./DEVELOPMENT.rst>`_
|
|
33
47
|
|
|
34
|
-
|
|
35
|
-
|
|
@@ -10,7 +10,6 @@ if TYPE_CHECKING:
|
|
|
10
10
|
from blazarclient.client import Client as BlazarClient
|
|
11
11
|
from cinderclient.client import Client as CinderClient
|
|
12
12
|
from glanceclient.client import Client as GlanceClient
|
|
13
|
-
from gnocchiclient.v1.client import Client as GnocchiClient
|
|
14
13
|
from manilaclient.client import Client as ManilaClient
|
|
15
14
|
from neutronclient.v2_0.client import Client as NeutronClient
|
|
16
15
|
from novaclient.client import Client as NovaClient
|
|
@@ -37,6 +36,8 @@ def connection(session=None) -> "Connection":
|
|
|
37
36
|
are useful for operations that span a few services, such as assigning
|
|
38
37
|
a Floating IP to a server instance.
|
|
39
38
|
|
|
39
|
+
See `the documentation <https://docs.openstack.org/openstacksdk/latest/user/connection.html>`__ for usage.
|
|
40
|
+
|
|
40
41
|
Args:
|
|
41
42
|
session (Session): An authentication session object. By default a
|
|
42
43
|
new session is created via :func:`chi.session`.
|
|
@@ -61,6 +62,8 @@ def connection(session=None) -> "Connection":
|
|
|
61
62
|
def blazar(session=None) -> "BlazarClient":
|
|
62
63
|
"""Get a preconfigured client for Blazar, the reservation service.
|
|
63
64
|
|
|
65
|
+
See `the documentation <https://opendev.org/openstack/python-blazarclient/>`__ for usage.
|
|
66
|
+
|
|
64
67
|
Args:
|
|
65
68
|
session (Session): An authentication session object. By default a
|
|
66
69
|
new session is created via :func:`chi.session`.
|
|
@@ -78,6 +81,8 @@ def blazar(session=None) -> "BlazarClient":
|
|
|
78
81
|
def cinder(session=None) -> "CinderClient":
|
|
79
82
|
"""Get a preconfigured client for Cinder, the persistent volume service.
|
|
80
83
|
|
|
84
|
+
See `the documentation <https://docs.openstack.org/python-cinderclient/latest/>`__ for usage.
|
|
85
|
+
|
|
81
86
|
Args:
|
|
82
87
|
session (Session): An authentication session object. By default a
|
|
83
88
|
new session is created via :func:`chi.session`.
|
|
@@ -93,6 +98,8 @@ def cinder(session=None) -> "CinderClient":
|
|
|
93
98
|
def glance(session=None) -> "GlanceClient":
|
|
94
99
|
"""Get a preconfigured client for Glance, the image service.
|
|
95
100
|
|
|
101
|
+
See `the documentation <https://docs.openstack.org/python-glanceclient/latest/>`__ for usage.
|
|
102
|
+
|
|
96
103
|
Args:
|
|
97
104
|
session (Session): An authentication session object. By default a
|
|
98
105
|
new session is created via :func:`chi.session`.
|
|
@@ -105,29 +112,11 @@ def glance(session=None) -> "GlanceClient":
|
|
|
105
112
|
return GlanceClient("2", session=(session or session_factory()))
|
|
106
113
|
|
|
107
114
|
|
|
108
|
-
def gnocchi(session=None) -> "GnocchiClient":
|
|
109
|
-
"""Get a preconfigured client for Gnocchi, the metrics service.
|
|
110
|
-
|
|
111
|
-
Args:
|
|
112
|
-
session (Session): An authentication session object. By default a
|
|
113
|
-
new session is created via :func:`chi.session`.
|
|
114
|
-
|
|
115
|
-
Returns:
|
|
116
|
-
A new Gnocchi client.
|
|
117
|
-
"""
|
|
118
|
-
from gnocchiclient.v1.client import Client as GnocchiClient
|
|
119
|
-
|
|
120
|
-
sess = session or session_factory()
|
|
121
|
-
session_options = dict(auth=sess.session.auth)
|
|
122
|
-
adapter_options = dict(interface=sess.interface, region_name=sess.region_name)
|
|
123
|
-
return GnocchiClient(
|
|
124
|
-
adapter_options=adapter_options, session_options=session_options
|
|
125
|
-
)
|
|
126
|
-
|
|
127
|
-
|
|
128
115
|
def manila(session=None) -> "ManilaClient":
|
|
129
116
|
"""Get a preconfigured client for Manila, the share service.
|
|
130
117
|
|
|
118
|
+
See `the documentation <https://docs.openstack.org/python-manilaclient/latest/user/api.html>`__ for usage.
|
|
119
|
+
|
|
131
120
|
Args:
|
|
132
121
|
session (Session): An authentication session object. By default a
|
|
133
122
|
new session is created via :func:`chi.session`.
|
|
@@ -143,6 +132,8 @@ def manila(session=None) -> "ManilaClient":
|
|
|
143
132
|
def neutron(session=None) -> "NeutronClient":
|
|
144
133
|
"""Get a preconfigured client for Neutron, the networking service.
|
|
145
134
|
|
|
135
|
+
See `the documentation <https://docs.openstack.org/python-neutronclient/latest/reference/index.html>`__ for usage.
|
|
136
|
+
|
|
146
137
|
Args:
|
|
147
138
|
session (Session): An authentication session object. By default a
|
|
148
139
|
new session is created via :func:`chi.session`.
|
|
@@ -158,6 +149,8 @@ def neutron(session=None) -> "NeutronClient":
|
|
|
158
149
|
def nova(session=None) -> "NovaClient":
|
|
159
150
|
"""Get a preconfigured client for Nova, the compute service.
|
|
160
151
|
|
|
152
|
+
See `the documentation <https://docs.openstack.org/python-novaclient/latest/user/python-api.html>`__ for usage.
|
|
153
|
+
|
|
161
154
|
Args:
|
|
162
155
|
session (Session): An authentication session object. By default a
|
|
163
156
|
new session is created via :func:`chi.session`.
|
|
@@ -173,6 +166,8 @@ def nova(session=None) -> "NovaClient":
|
|
|
173
166
|
def ironic(session=None) -> "IronicClient":
|
|
174
167
|
"""Get a preconfigured client for Ironic, the bare metal service.
|
|
175
168
|
|
|
169
|
+
See `the documentation <https://docs.openstack.org/python-ironicclient/latest/api_v1.html>`__ for usage.
|
|
170
|
+
|
|
176
171
|
Args:
|
|
177
172
|
session (Session): An authentication session object. By default a
|
|
178
173
|
new session is created via :func:`chi.session`.
|
|
@@ -195,6 +190,8 @@ def ironic(session=None) -> "IronicClient":
|
|
|
195
190
|
def keystone(session=None) -> "KeystoneClient":
|
|
196
191
|
"""Get a preconfigured client for Keystone, the authentication service.
|
|
197
192
|
|
|
193
|
+
See `the documentation <https://docs.openstack.org/python-keystoneclient/latest/>`__ for usage.
|
|
194
|
+
|
|
198
195
|
Args:
|
|
199
196
|
session (Session): An authentication session object. By default a
|
|
200
197
|
new session is created via :func:`chi.session`.
|
|
@@ -215,6 +212,17 @@ def keystone(session=None) -> "KeystoneClient":
|
|
|
215
212
|
|
|
216
213
|
|
|
217
214
|
def zun(session=None) -> "ZunClient":
|
|
215
|
+
"""Get a preconfigured client for Zun, the edge container service.
|
|
216
|
+
|
|
217
|
+
See `the documentation <https://docs.openstack.org/python-zunclient/latest/user/python-api.html>`__ for usage.
|
|
218
|
+
|
|
219
|
+
Args:
|
|
220
|
+
session (Session): An authentication session object. By default a
|
|
221
|
+
new session is created via :func:`chi.session`.
|
|
222
|
+
|
|
223
|
+
Returns:
|
|
224
|
+
A new Zun client.
|
|
225
|
+
"""
|
|
218
226
|
from zunclient.client import Client as ZunClient
|
|
219
227
|
|
|
220
228
|
return ZunClient(ZUN_API_VERSION, session=(session or session_factory()))
|