Meshive Python SDK & CLI
Rent GPUs on Meshive from your terminal or from Python. Launch pods, run serverless tasks, serve models and manage your files: the same things you can do in the console, scriptable.
Documentation · Console · GPU pricing · Use it from AI agents
Install
pip install meshive
Requires Python 3.10 or newer. This installs the meshive command and the meshive Python package.
Quickstart
1. Get an API key. In the console, open your workspace's Settings → API keys. Pick Read & write so you can create pods.
2. Log in.
meshive login # paste the key; it is saved for later commands
meshive workspaces # note the ID of your workspace
3. Pick a GPU and a template.
meshive gpus # GPUs you can rent right now, with hourly prices
meshive templates --name jupyter # note the template ID
4. Launch a pod.
meshive pod-create <workspace> my-first-pod --template <template-id> --gpu "RTX 3060" --wait running
The CLI shows the hourly price and asks before anything is billed. With --wait running it returns
once the pod is up and prints its ID.
5. Open it.
meshive pod <workspace> <pod> # the pod's URLs (Jupyter, ...) and its login, if it has one
6. Stop or delete it when you're done.
meshive pod-stop <workspace> <pod> # compute billing stops; attached storage is still billed
meshive pod-delete <workspace> <pod>
Use it from Python
from meshive import Meshive, format_hourly
with Meshive() as client: # uses the key saved by `meshive login`, or MESHIVE_API_KEY
workspace = client.list_workspaces()[0].namespace_name
for gpu in client.list_gpus():
print(gpu.gpu_model, f"{gpu.vram} GB", format_hourly(gpu.price_per_hour), gpu.available_gpus)
template = next(t for t in client.list_templates() if t.name == "Jupyter")
estimate = client.estimate_pod("my-first-pod", template.template_id, workspace=workspace, gpu_model="RTX 3060")
print("estimate:", format_hourly(estimate.price_per_hour))
client.create_pod("my-first-pod", template.template_id, workspace=workspace, gpu_model="RTX 3060",
max_price_per_hour=0.10) # never pay more than $0.10/hr for compute
pod = client.wait_for_new_pod("my-first-pod", workspace, until="running")
for endpoint in pod.endpoints:
print(endpoint.name, endpoint.external_url)
client.stop_pod(pod.pod_name, workspace)
AsyncMeshive has the same methods for async code, and the package ships type hints. Prices come back
as the exact numbers the server sent; format_hourly and format_usd round them the way the console
shows them.
What else you can do
| To... | Run |
|---|---|
| Run a script on a GPU and collect the results | meshive task-submit <workspace> train --script train.py --image python:3.12-slim --gpu "RTX 3060" |
| Serve a Hugging Face model behind an API | meshive model-register <workspace> Qwen/Qwen3-0.6B, then meshive serving-deploy |
| Bring in a model or dataset from Hugging Face, CivitAI or a URL | meshive asset-import <workspace> <repo or URL> |
| Download files or task outputs | meshive asset-download <asset>, meshive task-outputs <task> --download ./out |
| SSH into a pod | meshive ssh <workspace> <pod> |
| See why a pod is still starting | meshive transactions <workspace> |
| Watch a pod's usage and logs | meshive pod-metrics <workspace> <pod>, meshive logs <workspace> <pod> |
| Check your credit and spending | meshive credit, meshive workspace <workspace> |
| Host your own machines and see earnings | meshive machines, meshive earnings |
Every command has --help. The CLI reference lists them all.
Good to know
- Nothing is billed without asking. Commands that spend credit or delete something show the price or
a summary first and ask you to confirm. Add
--estimateto see the price only, or--yesto skip the question in scripts. - Two kinds of keys. A Read only key can see everything. A Read & write key is needed to create, change or delete, and it expires (after 30 days by default).
- IDs and names. Lists show the NAME you chose and an ID. Commands take the ID.
- Scripting.
-o jsonprints the full response and-o nameprints only IDs, one per line.
Use Meshive from an AI agent
The Meshive MCP server lets Claude Code, Codex, Cursor and other agents do all of this in plain language.
Learn more
- CLI reference: every command and option, exit codes
- SDK reference: methods, data models, errors, retries
- Authentication: keys, environment variables, config location
- Changelog
- Contributing: DEVELOPMENT.md
License
Metadata
Release files for meshive 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| meshive-0.1.4.tar.gz | 127.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meshive-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 216.6 kB
Release files / meshive-0.1.4.tar.gz
| Download URL | meshive-0.1.4.tar.gz |
|---|---|
| Size | 127.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e9417a9f395e53dc2742b992a2abbf64c68a7c6a97511b93de9bbaf7f642df6
|
|
BLAKE2b-256 checksum How to use checksums |
ea285f9e9b3a66ba6a2e293c2c19acb03d3d962190881e20735c2504ffe2046d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / meshive-0.1.4-py3-none-any.whl
| Download URL | meshive-0.1.4-py3-none-any.whl |
|---|---|
| Size | 88.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca909db48f7237be45bdb9e3e5ac9fcd86e7c753d01043e95ed7e0bb7b44f4a3
|
|
BLAKE2b-256 checksum How to use checksums |
efa71e9f54826b76f90feec399737301a7b2a7c1a298f9cbfc1ead06a55d1360
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logSecurity for meshive 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for meshive-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.