vxcloud 0.1.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.
- vxcloud-0.1.0/PKG-INFO +69 -0
- vxcloud-0.1.0/README.md +32 -0
- vxcloud-0.1.0/pyproject.toml +77 -0
- vxcloud-0.1.0/setup.cfg +4 -0
- vxcloud-0.1.0/vxcloud.egg-info/PKG-INFO +69 -0
- vxcloud-0.1.0/vxcloud.egg-info/SOURCES.txt +9 -0
- vxcloud-0.1.0/vxcloud.egg-info/dependency_links.txt +1 -0
- vxcloud-0.1.0/vxcloud.egg-info/requires.txt +12 -0
- vxcloud-0.1.0/vxcloud.egg-info/top_level.txt +2 -0
- vxcloud-0.1.0/vxcloud.py +54 -0
- vxcloud-0.1.0/vxcloud_async.py +27 -0
vxcloud-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vxcloud
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Brand-name alias for the `vxsdk` Python SDK — `import vxcloud` is identical to `import vxsdk`.
|
|
5
|
+
Author-email: vxcloud <engineering@vxcloud.io>
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://vxcloud.io
|
|
8
|
+
Project-URL: Documentation, https://vxcloud.io/docs/sdks
|
|
9
|
+
Project-URL: Repository, https://github.com/vxcloud/platform
|
|
10
|
+
Project-URL: Issues, https://github.com/vxcloud/platform/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/vxcloud/platform/blob/main/services/sdk/python-vxcloud/CHANGELOG.md
|
|
12
|
+
Keywords: vxcloud,vxsdk,vxcli,infrastructure,iac,deploy,ssh,docker,kubernetes,ai-agents
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: System Administrators
|
|
16
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Classifier: Topic :: System :: Systems Administration
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
Requires-Dist: vxsdk==0.1.0
|
|
28
|
+
Provides-Extra: async
|
|
29
|
+
Requires-Dist: vxsdk[async]==0.1.0; extra == "async"
|
|
30
|
+
Requires-Dist: httpx>=0.25; extra == "async"
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest>=7; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
34
|
+
Requires-Dist: httpx>=0.25; extra == "dev"
|
|
35
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
36
|
+
Requires-Dist: twine>=4.0; extra == "dev"
|
|
37
|
+
|
|
38
|
+
# vxcloud (Python)
|
|
39
|
+
|
|
40
|
+
Brand-name alias for the [`vxsdk`](https://pypi.org/project/vxsdk/) Python SDK.
|
|
41
|
+
This package re-exports everything from `vxsdk` so you can reach the same
|
|
42
|
+
surface under the brand name.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install vxcloud # sync, stdlib-only
|
|
46
|
+
pip install vxcloud[async] # adds httpx + vxsdk_async re-export
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import vxcloud
|
|
51
|
+
|
|
52
|
+
c = vxcloud.Client.load_from_vxcli() # canonical
|
|
53
|
+
c = vxcloud.VxCloud.load_from_vxcli() # PascalCase brand (matches TS SDK)
|
|
54
|
+
c = vxcloud.vxcloud.load_from_vxcli() # lowercase brand
|
|
55
|
+
c = vxcloud.load_from_vxcli() # module-level convenience
|
|
56
|
+
|
|
57
|
+
vm = c.cloud.create_vm(
|
|
58
|
+
name="api-vm", cloud="aws", region="us-east-1",
|
|
59
|
+
instance_type="t3.small", key_pair_name="AWSPRODKEY2",
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
All four entry styles return the same `vxsdk.Client` instance. There is no
|
|
64
|
+
behavior difference between `import vxcloud` and `import vxsdk` — pick the
|
|
65
|
+
name you and your team prefer.
|
|
66
|
+
|
|
67
|
+
The `vxcloud` release version is pinned to the matching `vxsdk` release; see
|
|
68
|
+
[CHANGELOG.md](./CHANGELOG.md). For the full SDK reference, see the upstream
|
|
69
|
+
[`vxsdk` README](https://github.com/vxcloud/platform/blob/main/services/sdk/python/README.md).
|
vxcloud-0.1.0/README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# vxcloud (Python)
|
|
2
|
+
|
|
3
|
+
Brand-name alias for the [`vxsdk`](https://pypi.org/project/vxsdk/) Python SDK.
|
|
4
|
+
This package re-exports everything from `vxsdk` so you can reach the same
|
|
5
|
+
surface under the brand name.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install vxcloud # sync, stdlib-only
|
|
9
|
+
pip install vxcloud[async] # adds httpx + vxsdk_async re-export
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
```python
|
|
13
|
+
import vxcloud
|
|
14
|
+
|
|
15
|
+
c = vxcloud.Client.load_from_vxcli() # canonical
|
|
16
|
+
c = vxcloud.VxCloud.load_from_vxcli() # PascalCase brand (matches TS SDK)
|
|
17
|
+
c = vxcloud.vxcloud.load_from_vxcli() # lowercase brand
|
|
18
|
+
c = vxcloud.load_from_vxcli() # module-level convenience
|
|
19
|
+
|
|
20
|
+
vm = c.cloud.create_vm(
|
|
21
|
+
name="api-vm", cloud="aws", region="us-east-1",
|
|
22
|
+
instance_type="t3.small", key_pair_name="AWSPRODKEY2",
|
|
23
|
+
)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
All four entry styles return the same `vxsdk.Client` instance. There is no
|
|
27
|
+
behavior difference between `import vxcloud` and `import vxsdk` — pick the
|
|
28
|
+
name you and your team prefer.
|
|
29
|
+
|
|
30
|
+
The `vxcloud` release version is pinned to the matching `vxsdk` release; see
|
|
31
|
+
[CHANGELOG.md](./CHANGELOG.md). For the full SDK reference, see the upstream
|
|
32
|
+
[`vxsdk` README](https://github.com/vxcloud/platform/blob/main/services/sdk/python/README.md).
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Build the `vxcloud` PyPI shim package from this directory.
|
|
2
|
+
#
|
|
3
|
+
# python -m build # produces dist/vxcloud-<version>-py3-none-any.whl + .tar.gz
|
|
4
|
+
# twine upload dist/* # publishes to PyPI
|
|
5
|
+
#
|
|
6
|
+
# This package is a THIN ALIAS over `vxsdk` — it does nothing on its own
|
|
7
|
+
# beyond re-exporting every public name. Released so users who reach for
|
|
8
|
+
# the brand name (`pip install vxcloud`, `import vxcloud`) land on the same
|
|
9
|
+
# implementation as `vxsdk`. The async flavor is opt-in via:
|
|
10
|
+
#
|
|
11
|
+
# pip install vxcloud[async]
|
|
12
|
+
#
|
|
13
|
+
# Versioning policy: keep this package's version in lock-step with the
|
|
14
|
+
# `vxsdk` version it pins. Each release of vxcloud should pin the matching
|
|
15
|
+
# vxsdk release exactly so users get a deterministic surface.
|
|
16
|
+
|
|
17
|
+
[build-system]
|
|
18
|
+
requires = ["setuptools>=68", "wheel"]
|
|
19
|
+
build-backend = "setuptools.build_meta"
|
|
20
|
+
|
|
21
|
+
[project]
|
|
22
|
+
name = "vxcloud"
|
|
23
|
+
version = "0.1.0"
|
|
24
|
+
description = "Brand-name alias for the `vxsdk` Python SDK — `import vxcloud` is identical to `import vxsdk`."
|
|
25
|
+
readme = "README.md"
|
|
26
|
+
requires-python = ">=3.9"
|
|
27
|
+
license = { text = "Apache-2.0" }
|
|
28
|
+
authors = [
|
|
29
|
+
{ name = "vxcloud", email = "engineering@vxcloud.io" },
|
|
30
|
+
]
|
|
31
|
+
keywords = [
|
|
32
|
+
"vxcloud", "vxsdk", "vxcli", "infrastructure", "iac",
|
|
33
|
+
"deploy", "ssh", "docker", "kubernetes", "ai-agents",
|
|
34
|
+
]
|
|
35
|
+
classifiers = [
|
|
36
|
+
"Development Status :: 4 - Beta",
|
|
37
|
+
"Intended Audience :: Developers",
|
|
38
|
+
"Intended Audience :: System Administrators",
|
|
39
|
+
"License :: OSI Approved :: Apache Software License",
|
|
40
|
+
"Operating System :: OS Independent",
|
|
41
|
+
"Programming Language :: Python :: 3",
|
|
42
|
+
"Programming Language :: Python :: 3.9",
|
|
43
|
+
"Programming Language :: Python :: 3.10",
|
|
44
|
+
"Programming Language :: Python :: 3.11",
|
|
45
|
+
"Programming Language :: Python :: 3.12",
|
|
46
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
47
|
+
"Topic :: System :: Systems Administration",
|
|
48
|
+
]
|
|
49
|
+
# Pin the matching vxsdk so vxcloud's surface is deterministic at install time.
|
|
50
|
+
dependencies = ["vxsdk==0.1.0"]
|
|
51
|
+
|
|
52
|
+
[project.optional-dependencies]
|
|
53
|
+
# Mirror vxsdk's extras so `pip install vxcloud[async]` works the same way
|
|
54
|
+
# as `pip install vxsdk[async]`.
|
|
55
|
+
async = ["vxsdk[async]==0.1.0", "httpx>=0.25"]
|
|
56
|
+
dev = [
|
|
57
|
+
"pytest>=7",
|
|
58
|
+
"pytest-asyncio>=0.21",
|
|
59
|
+
"httpx>=0.25",
|
|
60
|
+
"build>=1.0",
|
|
61
|
+
"twine>=4.0",
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
[project.urls]
|
|
65
|
+
Homepage = "https://vxcloud.io"
|
|
66
|
+
Documentation = "https://vxcloud.io/docs/sdks"
|
|
67
|
+
Repository = "https://github.com/vxcloud/platform"
|
|
68
|
+
Issues = "https://github.com/vxcloud/platform/issues"
|
|
69
|
+
Changelog = "https://github.com/vxcloud/platform/blob/main/services/sdk/python-vxcloud/CHANGELOG.md"
|
|
70
|
+
|
|
71
|
+
# Two stand-alone shim modules so `import vxcloud` and `import vxcloud_async`
|
|
72
|
+
# both work and forward straight to vxsdk / vxsdk_async respectively.
|
|
73
|
+
[tool.setuptools]
|
|
74
|
+
py-modules = ["vxcloud", "vxcloud_async"]
|
|
75
|
+
|
|
76
|
+
[tool.setuptools.package-data]
|
|
77
|
+
"*" = ["README.md", "CHANGELOG.md"]
|
vxcloud-0.1.0/setup.cfg
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vxcloud
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Brand-name alias for the `vxsdk` Python SDK — `import vxcloud` is identical to `import vxsdk`.
|
|
5
|
+
Author-email: vxcloud <engineering@vxcloud.io>
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://vxcloud.io
|
|
8
|
+
Project-URL: Documentation, https://vxcloud.io/docs/sdks
|
|
9
|
+
Project-URL: Repository, https://github.com/vxcloud/platform
|
|
10
|
+
Project-URL: Issues, https://github.com/vxcloud/platform/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/vxcloud/platform/blob/main/services/sdk/python-vxcloud/CHANGELOG.md
|
|
12
|
+
Keywords: vxcloud,vxsdk,vxcli,infrastructure,iac,deploy,ssh,docker,kubernetes,ai-agents
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: System Administrators
|
|
16
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Classifier: Topic :: System :: Systems Administration
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
Requires-Dist: vxsdk==0.1.0
|
|
28
|
+
Provides-Extra: async
|
|
29
|
+
Requires-Dist: vxsdk[async]==0.1.0; extra == "async"
|
|
30
|
+
Requires-Dist: httpx>=0.25; extra == "async"
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest>=7; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
|
|
34
|
+
Requires-Dist: httpx>=0.25; extra == "dev"
|
|
35
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
36
|
+
Requires-Dist: twine>=4.0; extra == "dev"
|
|
37
|
+
|
|
38
|
+
# vxcloud (Python)
|
|
39
|
+
|
|
40
|
+
Brand-name alias for the [`vxsdk`](https://pypi.org/project/vxsdk/) Python SDK.
|
|
41
|
+
This package re-exports everything from `vxsdk` so you can reach the same
|
|
42
|
+
surface under the brand name.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install vxcloud # sync, stdlib-only
|
|
46
|
+
pip install vxcloud[async] # adds httpx + vxsdk_async re-export
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import vxcloud
|
|
51
|
+
|
|
52
|
+
c = vxcloud.Client.load_from_vxcli() # canonical
|
|
53
|
+
c = vxcloud.VxCloud.load_from_vxcli() # PascalCase brand (matches TS SDK)
|
|
54
|
+
c = vxcloud.vxcloud.load_from_vxcli() # lowercase brand
|
|
55
|
+
c = vxcloud.load_from_vxcli() # module-level convenience
|
|
56
|
+
|
|
57
|
+
vm = c.cloud.create_vm(
|
|
58
|
+
name="api-vm", cloud="aws", region="us-east-1",
|
|
59
|
+
instance_type="t3.small", key_pair_name="AWSPRODKEY2",
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
All four entry styles return the same `vxsdk.Client` instance. There is no
|
|
64
|
+
behavior difference between `import vxcloud` and `import vxsdk` — pick the
|
|
65
|
+
name you and your team prefer.
|
|
66
|
+
|
|
67
|
+
The `vxcloud` release version is pinned to the matching `vxsdk` release; see
|
|
68
|
+
[CHANGELOG.md](./CHANGELOG.md). For the full SDK reference, see the upstream
|
|
69
|
+
[`vxsdk` README](https://github.com/vxcloud/platform/blob/main/services/sdk/python/README.md).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
vxcloud-0.1.0/vxcloud.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""
|
|
2
|
+
vxcloud — brand-name alias for the `vxsdk` Python SDK.
|
|
3
|
+
|
|
4
|
+
This module is a pure re-export of `vxsdk`. Every public name available
|
|
5
|
+
as `vxsdk.X` is also available as `vxcloud.X`, including the entry-point
|
|
6
|
+
class and its lowercase / PascalCase brand aliases:
|
|
7
|
+
|
|
8
|
+
import vxcloud
|
|
9
|
+
c = vxcloud.Client.load_from_vxcli() # canonical
|
|
10
|
+
c = vxcloud.VxCloud.load_from_vxcli() # PascalCase brand
|
|
11
|
+
c = vxcloud.vxcloud.load_from_vxcli() # lowercase brand
|
|
12
|
+
c = vxcloud.load_from_vxcli() # module-level convenience
|
|
13
|
+
|
|
14
|
+
There is no logic here — `pip install vxcloud` pulls in the pinned
|
|
15
|
+
`vxsdk` release, and this file forwards everything to it. If you want
|
|
16
|
+
the async client, install with the extra:
|
|
17
|
+
|
|
18
|
+
pip install vxcloud[async]
|
|
19
|
+
import vxcloud_async
|
|
20
|
+
async with await vxcloud_async.AsyncClient.load_from_vxcli() as c: ...
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
from __future__ import annotations
|
|
24
|
+
|
|
25
|
+
# Star-import re-exports every public name from vxsdk: Client, VxCloud,
|
|
26
|
+
# vxcloud, all VxError subclasses, all resource classes, version, etc.
|
|
27
|
+
# Per https://docs.python.org/3/reference/simple_stmts.html#the-import-statement
|
|
28
|
+
# this honors vxsdk's `__all__` if defined, otherwise all non-underscore names.
|
|
29
|
+
from vxsdk import * # noqa: F401,F403
|
|
30
|
+
|
|
31
|
+
# vxsdk does not define __all__, so star-import already covers everything,
|
|
32
|
+
# but we explicitly re-export the entry class names so static analyzers
|
|
33
|
+
# (mypy, pyright) see them on the `vxcloud` module surface.
|
|
34
|
+
from vxsdk import ( # noqa: F401
|
|
35
|
+
Client,
|
|
36
|
+
VxCloud,
|
|
37
|
+
vxcloud,
|
|
38
|
+
VxError,
|
|
39
|
+
VxAuthError,
|
|
40
|
+
VxValidationError,
|
|
41
|
+
VxNotFoundError,
|
|
42
|
+
VxRateLimitError,
|
|
43
|
+
VxServerError,
|
|
44
|
+
VxNetworkError,
|
|
45
|
+
__version__ as _vxsdk_version,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
# Module-level convenience: `vxcloud.load_from_vxcli()` mirrors the way
|
|
49
|
+
# `vxsdk.Client.load_from_vxcli()` reads `~/.vxcloud/credentials.json`.
|
|
50
|
+
load_from_vxcli = Client.load_from_vxcli
|
|
51
|
+
|
|
52
|
+
# Track the underlying vxsdk pin for diagnostics. The vxcloud shim version
|
|
53
|
+
# is set in pyproject.toml; this exposes the upstream vxsdk version too.
|
|
54
|
+
__vxsdk_version__ = _vxsdk_version
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
vxcloud_async — brand-name alias for the `vxsdk_async` Python SDK.
|
|
3
|
+
|
|
4
|
+
Pure re-export of `vxsdk_async`. Installed automatically when you do:
|
|
5
|
+
|
|
6
|
+
pip install vxcloud[async]
|
|
7
|
+
|
|
8
|
+
Usage mirrors vxsdk_async exactly:
|
|
9
|
+
|
|
10
|
+
import vxcloud_async
|
|
11
|
+
async with await vxcloud_async.AsyncClient.load_from_vxcli() as c:
|
|
12
|
+
sess = await c.deploy.fastapi(...)
|
|
13
|
+
|
|
14
|
+
# Or via the brand aliases:
|
|
15
|
+
async with await vxcloud_async.VxCloud.load_from_vxcli() as c: ...
|
|
16
|
+
async with await vxcloud_async.vxcloud.load_from_vxcli() as c: ...
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from __future__ import annotations
|
|
20
|
+
|
|
21
|
+
from vxsdk_async import * # noqa: F401,F403
|
|
22
|
+
|
|
23
|
+
from vxsdk_async import ( # noqa: F401
|
|
24
|
+
AsyncClient,
|
|
25
|
+
VxCloud,
|
|
26
|
+
vxcloud,
|
|
27
|
+
)
|