Skip to main content

Meshive Python SDK & CLI

PyPI Python License

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 --estimate to see the price only, or --yes to 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 json prints the full response and -o name prints 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

License

Apache License 2.0

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)

Source distribution for meshive 0.1.4
File Size Uploaded Provenance
meshive-0.1.4.tar.gz 127.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for meshive 0.1.4
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page