Skip to main content

Run your code in the cloud with a single function call

Project description

Verlex

Run your code in the cloud for the price of a coffee.

Verlex is a Python SDK that lets you execute code on the cheapest available cloud infrastructure across AWS, GCP, and Azure — all with a single function call.

Installation

pip install verlex

With ML dependencies:

pip install verlex[ml]

Quick Start

import verlex

def train_model():
    import torch
    model = torch.nn.Linear(100, 10)
    # Your training code here...
    return {"accuracy": 0.95}

# Run it in the cloud — one line!
result = verlex.cloud(train_model, api_key="gw_your_key")
print(result)

Basic Usage

One-Liner (Simplest)

Every function works as a standalone call — just pass your api_key:

import verlex

# Run in the cloud
result = verlex.cloud(train_model, api_key="gw_your_key")

# Analyze resources
rec = verlex.analyze(train_model, api_key="gw_your_key")

# Estimate cost
costs = verlex.estimate_cost(train_model, api_key="gw_your_key")

Specifying Resources

result = verlex.cloud(
    train_model,
    api_key="gw_your_key",
    gpu="A100",       # Specific GPU type
    gpu_count=2,      # Multiple GPUs
    memory="64GB",    # Memory requirement
    timeout=7200,     # 2 hour timeout
)

Context Manager (Multi-step Sessions)

with verlex.GateWay(api_key="gw_your_key") as gw:
    rec = gw.analyze(train_model)
    costs = gw.estimate_cost(train_model)
    result = gw.run(train_model)

Async Execution

with verlex.GateWay(api_key="gw_your_key") as gw:
    # Submit jobs (non-blocking)
    job1 = gw.run_async(train_model_1)
    job2 = gw.run_async(train_model_2)

    # Wait for results when needed
    result1 = job1.result()
    result2 = job2.result()

Pricing Modes

Choose your price-speed tradeoff with a single fast flag:

Mode Wait Time Best For
Performance (fast=True) Immediate Time-sensitive workloads
Standard (fast=False) Up to 10 min Batch jobs, cost-sensitive
# Performance mode - immediate execution
result = verlex.cloud(my_function, api_key="gw_your_key", fast=True)

# Standard mode (default) - wait for lower prices
result = verlex.cloud(my_function, api_key="gw_your_key")

Authentication

Option 1: Direct API Key (Inline)

result = verlex.cloud(my_function, api_key="gw_your_key")

Option 2: Environment Variable

export VERLEX_API_KEY="gw_your_key"
result = verlex.cloud(my_function)  # picks up VERLEX_API_KEY

Automatic Cloud Offloading

Don't know which functions are heavy? Let Verlex figure it out:

import verlex
verlex.overflow(fast=True)

# Your code runs normally. When CPU or memory exceeds 85%,
# functions are automatically offloaded to the cheapest cloud.
data = load_data()
result = train_model(data)   # system overloaded? → cloud
evaluate(result)             # resources free → runs locally

Install with: pip install 'verlex[overflow]'

Agent Daemon

Monitor your system and offload heavy Python processes:

# Watch for heavy processes and offer to offload
verlex agent watch

# Auto-offload without prompting
verlex agent watch --auto

# Submit a script directly via source-code pipeline
verlex agent run train.py --gpu A100

Install with: pip install 'verlex[agent]'

CLI

# Login
verlex login

# Run a script
verlex run train.py

# Run with specific GPU
verlex run train.py --gpu A100

# Check job status
verlex jobs

# View account info
verlex whoami

Supported Cloud Providers

  • AWS - EC2, with Spot instances (up to 90% off)
  • GCP - Compute Engine, with Preemptible VMs (up to 91% off)
  • Azure - VMs, with Spot instances (up to 81% off)

Links

Contact

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

verlex-0.8.41.tar.gz (919.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

verlex-0.8.41-cp312-cp312-win_amd64.whl (496.7 kB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.8.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.8.41-cp312-cp312-macosx_10_13_universal2.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

verlex-0.8.41-cp311-cp311-win_amd64.whl (519.8 kB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.8.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.8.41-cp311-cp311-macosx_10_9_universal2.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

verlex-0.8.41-cp310-cp310-win_amd64.whl (516.3 kB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.8.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.8.41-cp310-cp310-macosx_10_9_universal2.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file verlex-0.8.41.tar.gz.

File metadata

  • Download URL: verlex-0.8.41.tar.gz
  • Upload date:
  • Size: 919.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.8.41.tar.gz
Algorithm Hash digest
SHA256 e304576bf2e619e5d9412a04496a85b4de6974a04175d27de85bf4abd35ef749
MD5 827d6a0106cc57266aa0d3f7dd06ae62
BLAKE2b-256 f767c3c846192ec3b526581d20f43506b7fd637b664a3112b12287402cc7dadf

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: verlex-0.8.41-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 496.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.8.41-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0b8675dad6631cb881e9cf5858f7a9e747e6d0542c71b377dbff57d54c4d722b
MD5 397eae90928bf9b3651426fd05e91951
BLAKE2b-256 ef4a76f6e6f16b278c99ffb975e290738dbcbd1a649ef42b36bc7c7e35b520ef

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c937bc97cf62bd794622261700e26c6fdf5b6318d5b379c2a852c3cd8a02188e
MD5 5fe29e4da628f8f79a00cb00b9d07553
BLAKE2b-256 a9a878932be0131d7b72b5010c06c7baba9ec43e88f48f24d0f643f25302b480

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3bfccb6b826fe0ce26f7ea46f35b49e8df7f5dc76491b4a81d66654d89cc5eab
MD5 a0c19b194f89946781326644629a2481
BLAKE2b-256 d29762b1a3d70789e7410a80529968c40085996fe03296f4437b373d5fed1369

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: verlex-0.8.41-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 519.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.8.41-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 aa95093e8cad969a82057156fb848fab144668e4f55f4636ddea78fee0bb9517
MD5 4aa7e68660e612cfab80cf905e716130
BLAKE2b-256 88d12f7866fb4a4e84e6cdf51aaad824039e0e2046ceb1dad661a9e208eedb5b

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0bbe90deba46badb118f05eb60b74aaf21760b7160cfc42fb235d09d2a02186
MD5 2745c85bd1159110be551203f7623761
BLAKE2b-256 a4fa1076d928067d01a622a6ea7136048883eea8afc3d996d73f16c01111aea2

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0d9b9dfebcd8ae77607cdde8b6835c139a5bef9af25abb23911ef56f19b5d362
MD5 0eccd8c0d13f130bc10144b33ff3c3d6
BLAKE2b-256 97d082440c6817eff6ba7245ba322edf0535d7b99aeca28251eda527df382e60

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: verlex-0.8.41-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 516.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.8.41-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5e3b0d30b9c25fe7247723fc68330efa0d9a2202b6ccbaeaea703eb861eb33fd
MD5 45ec67574451342f1068fe6afaa1fcc1
BLAKE2b-256 b273c596daf12842200ed69153ed3d849aa9b9581723847f2e1fc5a07221a371

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22975856c169f8d48f5d2215472eec9d99c0c03540b37075bd0ce21e2d1f184d
MD5 117d8683e5ada17b4e63a64777c96b73
BLAKE2b-256 ea6c0b8cc7eee69612e762d56045ea54b09f7fb77bda63fb83d3f26aa4a0f0ac

See more details on using hashes here.

File details

Details for the file verlex-0.8.41-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for verlex-0.8.41-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 451abf4e37b5908bda9627bbe7810b12cfe3c77ceb99272f3687452738018fcf
MD5 f1df7da8bb08083f2a0b51312602ae6e
BLAKE2b-256 29fad81483dcaf5e1dd9594920b583fb781af5057395ecfe7edbe90fff23a19d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page