Gravix Layer Python SDK — agent runtimes and templates (Alpha; API may evolve). See docs.gravixlayer.ai.
Project description
Gravix Layer Python SDK
Official Python client for Gravix Layer — create and manage cloud agent runtimes and templates for your workloads.
Install
pip install gravixlayer
Configure
export GRAVIXLAYER_API_KEY="your-api-key"
export GRAVIXLAYER_CLOUD="azure" # default
export GRAVIXLAYER_REGION="eastus2" # default
Or pass options to the client:
from gravixlayer import GravixLayer
client = GravixLayer(
api_key="your-api-key",
base_url="https://api.gravixlayer.ai",
cloud="azure",
region="eastus2",
)
Quick start
from gravixlayer import GravixLayer
client = GravixLayer()
runtime = client.runtime.create(template="python-3.12-base-small")
result = client.runtime.run_code(
runtime.runtime_id,
code="print('Hello from Gravix Layer')",
)
print(result.text)
client.runtime.kill(runtime.runtime_id)
Performance note (connections and HTTP/2)
The client uses HTTP/1.1 by default for predictable latency on typical API usage.
- Warm the connection before creating many runtimes: call
client.warmup()once (or usewarmup_on_init=Truewhen constructing the client). That pays TCP, TLS, and protocol setup up front so the first real request is cheaper. - HTTP/2: pass
http2=Trueto theGravixLayerclient constructor if you want multiplexing over a single established connection after TLS (useful for high concurrency). Requires thehttpx[http2]extra (already declared by this package).
Sync:
from gravixlayer import GravixLayer
client = GravixLayer(http2=True)
client.warmup()
# or: GravixLayer(http2=True, warmup_on_init=True)
Async: pass http2=True to AsyncGravixLayer and call await client.warmup() before heavy traffic.
from gravixlayer import AsyncGravixLayer
async with AsyncGravixLayer(http2=True) as client:
await client.warmup()
Async
import asyncio
from gravixlayer import AsyncGravixLayer
async def main():
async with AsyncGravixLayer() as client:
runtime = await client.runtime.create(template="python-3.12-base-small")
await client.runtime.kill(runtime.runtime_id)
asyncio.run(main())
Documentation and examples
- Examples: examples/ (runtimes, templates, sample apps)
- Documentation: docs.gravixlayer.ai
- Issues: GitHub Issues
Support
Feedback: gravixlayer/gravixlayer-feedback — open an issue for bugs, features, and general product feedback.
License
Apache License 2.0 — see LICENSE.
Copyright 2026 Gravix Layer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gravixlayer-0.1.30.tar.gz.
File metadata
- Download URL: gravixlayer-0.1.30.tar.gz
- Upload date:
- Size: 109.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7f97f2dcae599154f51a372dbceacd3f27632bb82e9c758710a29bc93c74997
|
|
| MD5 |
6894af9ffa268e5149a5089aacfca206
|
|
| BLAKE2b-256 |
1abf599c4c1c2e6694f2f2fd5fc8b75fbe3f81864a64a11f9ec2d762f5ed6de6
|
File details
Details for the file gravixlayer-0.1.30-py3-none-any.whl.
File metadata
- Download URL: gravixlayer-0.1.30-py3-none-any.whl
- Upload date:
- Size: 75.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff16e72cf75326de85c3cfd7a6408756314069f29e7c43b32c28d3577bb7b083
|
|
| MD5 |
e0275c23944ebf259dceee6d3b1d9fac
|
|
| BLAKE2b-256 |
8bcd36ad7d2d7f06dab124eaca350b26e5199e49bc05a6db8ac13212e8cc0927
|