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 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,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"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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,9 @@
1
+ README.md
2
+ pyproject.toml
3
+ vxcloud.py
4
+ vxcloud_async.py
5
+ vxcloud.egg-info/PKG-INFO
6
+ vxcloud.egg-info/SOURCES.txt
7
+ vxcloud.egg-info/dependency_links.txt
8
+ vxcloud.egg-info/requires.txt
9
+ vxcloud.egg-info/top_level.txt
@@ -0,0 +1,12 @@
1
+ vxsdk==0.1.0
2
+
3
+ [async]
4
+ vxsdk[async]==0.1.0
5
+ httpx>=0.25
6
+
7
+ [dev]
8
+ pytest>=7
9
+ pytest-asyncio>=0.21
10
+ httpx>=0.25
11
+ build>=1.0
12
+ twine>=4.0
@@ -0,0 +1,2 @@
1
+ vxcloud
2
+ vxcloud_async
@@ -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
+ )