Skip to main content

Verlex

One line of Python. Every cloud's best GPU price.

Verlex reads any Python function, picks the hardware it needs, prices it live across 11 VM clouds, and runs it on the cheapest one. If a provider fails or stocks out, the job restarts on the next cheapest, automatically. Four additional serverless lanes handle eligible short jobs. No hardware picking or cloud-account setup.

The provider's GPU price passes through at cost. Verlex adds a fixed service fee per GPU-hour, prorated per second. That is the whole model: no percentage markup, no hidden margin.

Installation

pip install verlex

Requires Python 3.10, 3.11, 3.12, or 3.13. Grab your API key from the dashboard.

Quick Start

import verlex

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

# Run it on a cloud GPU - that's it!
result = verlex.cloud(train_model, gpu="A100", api_key="gw_your_key")
print(result)

Basic Usage

Pass your API key

Every function accepts api_key directly, no context manager needed. Set VERLEX_API_KEY in your environment to omit it entirely.

import verlex

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

Passing inputs

args= holds your function's inputs and kwargs= its keyword arguments. Every other keyword configures the job and never reaches your function, so a function parameter called timeout or memory can never be mistaken for a job option.

# No inputs
verlex.cloud(train_model)

# Positional inputs
verlex.cloud(square, args=[5])
verlex.cloud(train, args=[dataset, epochs])

# Keyword arguments for your function
verlex.cloud(train, args=[dataset], kwargs={"epochs": 5})

# One input that is itself a list
verlex.cloud(total, args=[[1, 2, 3]])

Inputs are checked against your function's signature before anything is uploaded or billed. The older form verlex.cloud(train, [dataset]) still works when unambiguous and warns with the exact rewrite. Each run prints its job id at submit and a summary line at the end; verlex.last_job() returns the job id, status, cost, provider, GPU, duration and downloaded outputs.

Specifying resources

Every hardware field is optional, and only the fields you set are pinned. Whatever you leave out is sized from your code and chosen for cost and availability. Asking for a GPU and nothing else is the normal case.

def fit(data):
    ...

# One GPU pinned; cpu, memory and provider are chosen for you
result = verlex.cloud(fit, args=[data], gpu="A100")

# Pin more when you need it; each field is independent
result = verlex.cloud(fit, args=[data], gpu="H100", gpu_count=8)
result = verlex.cloud(fit, args=[data], cpu=4, memory="16 GB")

gpu= takes one GPU name; leave it unset and Verlex picks one for you. gpu_count above 1 puts that many GPUs (up to 8) on one machine and needs the Performance plan; your code uses them itself, for example with torch.nn.DataParallel.

Values are checked in your process, before anything is provisioned: a misspelled option answers did you mean gpu=?, and gpu="64 GB" tells you it belongs in memory=.

The full set of job options:

result = verlex.cloud(
    fit,
    args=[data],
    gpu="A100",        # GPU type
    cpu=8,             # vCPU cores
    memory="64GB",     # memory
    provider="aws",    # pin to a cloud (omit to let Verlex pick the cheapest)
    spot=True,         # interruptible capacity
    timeout=7200,      # total seconds from submit to result
    pip_packages=["numpy==1.26.4"],  # extra packages, always installed
    python_version="3.11",  # match your local Python
)

Every option, default and environment variable is listed in the configuration reference.

Execution Modes

One flag controls your price-speed tradeoff.

Mode Flag Behavior
Performance fast=True Fastest start, at a higher per-GPU-hour fee. Best for time-sensitive workloads.
Standard fast=False (default) Picks the cheapest qualified machine. Best for batch jobs and cost-sensitive work.
# Performance mode, fastest start
result = verlex.cloud(my_function, api_key="gw_your_key", fast=True)

# Standard mode (default), lowest price
result = verlex.cloud(my_function, api_key="gw_your_key")

Performance mode (fast=True) requires the Performance plan ($10/mo). Standard mode is available on every plan. Both modes share one queue; Performance speeds up machine selection and launch, not queue position. verlex.estimate_cost(..., fast=True) prices it before you run.

Pricing & Billing

Two parts: a monthly plan, then a per-job cost. Verlex passes the provider's live hardware price through at cost and adds a fixed service fee per GPU-hour, prorated per second. There is no percentage markup on the hardware.

The service-fee tier is derived from the hardware's FP16 tensor performance (TFLOPS):

Tier Example hardware Standard (fast=False) Performance (fast=True)
CPU (CPU-only jobs) No GPU $0.02/hr $0.02/hr
Small (<185 TFLOPS) T4, L4, A10, RTX 3090 $0.10/GPU-hr $0.20/GPU-hr
Mid (<600 TFLOPS) A100, L40S, RTX 4090 $0.30/GPU-hr $0.45/GPU-hr
Large (<1500 TFLOPS) H100, H200, MI300X $0.40/GPU-hr $0.60/GPU-hr
Flagship (≥1500 TFLOPS) B200, B300, GB200 $0.50/GPU-hr $0.75/GPU-hr

The service fee is charged per GPU-hour, so an 8-GPU job pays it 8 times. There is no cold-start surcharge; a cold machine and a warm one cost the same.

  • Per-second billing, 1 second minimum. Both the provider cost and the service fee are prorated to the second. You pay only for the time your job actually runs.
  • Prepaid credits. Buy credits in the dashboard (minimum top-up $10). Each job places a hold and settles the exact amount when it finishes.
  • Auto top-up (opt-in). Adds credits with your saved card when the balance runs low (default: $50 added when it drops below $10).
  • Funds-based execution. There is no maximum job runtime. A job runs until your credits are exhausted, it stops making progress for 30 minutes, or it finishes. The optional timeout argument is the total time from submit to result, including queueing and provisioning; when it passes, the SDK cancels the job.

Plans

Plan Price Includes
Standard $0/mo, free forever Standard mode, prepaid credits, per-second billing, 25 GB storage
Performance $10/mo Everything in Standard, plus fast mode (fast=True) and 300 GB storage
Enterprise Custom Organization teams with a shared credit pool, 1 TB+ storage

Per-second billing, no credit card required to join.

Providers, Failover & Serverless

Every job is priced across 11 VM clouds (AWS, GCP, Azure, Verda, RunPod, Vast.ai, JarvisLabs, Hyperstack, TensorDock, Lyceum, Lambda Labs) plus four serverless container lanes (Beam, Northflank, Novita, Cerebrium), and routed to the cheapest machine that fits. Capacity and maintenance state change, so GET https://api.verlex.dev/v1/providers is the live source of truth.

import verlex

# Default: priced across 11 VM clouds, routed to the cheapest machine that fits
result = verlex.cloud(train_model, gpu="A100", api_key="gw_your_key")

# Provider list: cost comparison and failover stay inside your subset
result = verlex.cloud(
    train_model,
    gpu="A100",
    provider=["runpod", "gcp", "verda"],
    api_key="gw_your_key",
)

# Hard pin: one provider, no cross-provider failover if it is out of stock
result = verlex.cloud(train_model, gpu="A100", provider="aws", api_key="gw_your_key")
  • Automatic failover. If a launch fails or a region is out of stock, Verlex fails over: nearby regions first, then other providers, then substitute GPUs, always cheapest first. Your job does not fail because one cloud ran out of capacity.
  • Pinning. A single provider pins hard with no failover. Prefer a provider list, which keeps cost comparison and failover inside your chosen subset.
  • Serverless. Small jobs route to serverless container lanes (billed per second) when that is cheaper than a VM. This happens automatically; nothing to configure.

Files & Workspace Sync

Send local files up to the VM before your job runs and bring generated files back when it finishes. Pass a Workspace to any cloud call. Auto mode mirrors your project root (respecting .gitignore) and returns whatever your code creates or changes; or list explicit Upload and Output specs for full control.

import verlex
from verlex import Workspace

def train():
    from pathlib import Path
    Path("runs").mkdir(exist_ok=True)
    Path("runs/loss.json").write_text('{"loss": 0.42}')
    Path("model.pt").write_text("weights")
    return {"status": "done"}

# Auto mode mirrors your project root up to the VM, then returns
# new and changed files to the same paths locally
result = verlex.cloud(train, workspace=Workspace(), gpu="A100", api_key="gw_your_key")

# ./runs/loss.json and ./model.pt now exist locally

Your function runs inside the synced workspace, so relative paths like open("data/train.csv") work unchanged. Import Workspace, Upload, and Output from the top-level verlex package.

Dependencies

Verlex scans your function's source, pins the versions of imported packages installed locally, and bundles local .py modules automatically. When you need certainty, pass pip_packages: those packages are authoritative, always installed, and a failed install fails the job loudly instead of continuing silently.

result = verlex.cloud(
    train,
    api_key="gw_your_key",
    pip_packages=["torch==2.3.1", "numpy==1.26.4"],
    python_version="3.11",  # 3.10, 3.11, 3.12, or 3.13
)

Pre-warming

Kill the cold start before it happens. verlex.prewarm(fn) analyzes your function, boots the right hardware, and hands you back a handle once the machine is ready. Calling the handle runs your function with no provisioning wait, and the machine stays attached between calls, so every call is warm.

import verlex

def train(batch):
    import torch
    ...

wf = verlex.prewarm(train, gpu="A100", api_key="gw_your_key")  # A100 starts booting NOW

data = load_and_clean()      # local preprocessing runs meanwhile

result = wf(data)            # runs train(data) on the warm machine
more = wf(other_data)        # still warm, the VM stays attached

wf.release()                 # or use `with verlex.prewarm(train, gpu="A100") as wf:`

Automatic Cloud Offloading (experimental)

This API is experimental. Don't want to manage when code runs in the cloud? Let Verlex decide. verlex.overflow() watches CPU, memory, and GPU. When usage exceeds 85%, heavy functions are transparently offloaded to the cheapest cloud provider; everything else keeps running locally.

import verlex

verlex.overflow(api_key="gw_your_key")

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

Install the monitoring dependency with pip install 'verlex[overflow]'.

Interactive Sessions

verlex.session() keeps one VM and model process warm across turns. The handler loads once, replies stream token by token, and the machine stops when the context exits or the idle timeout expires.

import verlex
from verlex import serve_loop

def serve():
    model = load_model()

    def reply(prompt, history):
        return model.stream(prompt)

    serve_loop(reply)

with verlex.session(serve, gpu="T4") as session:
    for token in session.send("Explain gradient checkpointing"):
        print(token, end="", flush=True)

This API is experimental. Use verlex chat for the equivalent CLI workflow.

AI Assistants (MCP)

Install verlex[mcp] and run verlex mcp serve to connect an MCP-compatible assistant. The connector supports jobs and logs, live pricing and billing, held GPU nodes, file transfer, output artifacts, inference endpoints, and opt-in team tools. See the MCP guide for client configuration and safety limits.

Inference Endpoints

Deploy a Hugging Face model or a prior Verlex job output as an always-on endpoint from Python, the CLI (verlex deploy create MODEL), MCP or the dashboard. Decoder language models expose an OpenAI-compatible API; other supported tasks expose /predict and a self-describing /schema. Endpoints are billed per GPU-second until stopped, not per token, so set idle_timeout or call stop().

import verlex

endpoint = verlex.deploy("Qwen/Qwen2.5-0.5B-Instruct", idle_timeout=1800)
reply = endpoint.chat("Hello!")
print(reply["choices"][0]["message"]["content"])
endpoint.stop()

Checkpoints & Spot Recovery

Spot capacity is 60-80% cheaper than on-demand, but the provider can reclaim it at any time. Anything your job writes into the checkpoint directory (its path is in the GATEWAY_CHECKPOINT_DIR environment variable on the machine) syncs to object storage while it runs. When a spot instance is reclaimed, the job is re-enqueued on the next cheapest capacity, the checkpoint directory is restored before your code runs again, and the reclaimed time is not billed. HuggingFace Trainer, PyTorch Lightning, and Keras jobs resume with no code changes.

Available GPUs

Request a GPU by name (gpu="A100"). Verlex finds the cheapest available instance across all 11 VM clouds. Common catalog types include T4, L4, A10, V100, A100, L40, L40S, H100, H200, and B200; additional types appear as providers expose stock. If you don't specify a GPU, Verlex auto-detects your code's needs and picks the best option. GET https://api.verlex.dev/v1/hardware/gpu-types returns the currently schedulable public catalog.

Authentication

import verlex

# Pass api_key directly to any function
result = verlex.cloud(my_function, api_key="gw_your_key")

# Or use the environment variable (VERLEX_API_KEY)
result = verlex.cloud(my_function)  # picks up from env

The key is looked up in this order: api_key=, verlex.auth(), VERLEX_API_KEY, GATEWAY_API_KEY, then the key saved by verlex login.

Both gw_live_ and gw_test_ prefixes only name the key type; every key runs against the live service with live billing.

Error Handling

Verlex raises specific exceptions so you can handle failures gracefully:

from verlex import (
    VerlexError,              # Base class for all Verlex errors
    ConfigurationError,       # Bad input or option (also a ValueError), raised before submit
    AuthenticationError,      # Missing, invalid, frozen or paused credentials
    InsufficientCreditsError, # Not enough credits, or no payment method
    PlanUpgradeRequiredError, # Feature needs the Performance plan
    GPUUnavailableError,      # Pinned hardware has no capacity (alternatives are printed)
    ProviderMaintenanceError, # Pinned provider is under maintenance
    JobFailedError,           # Your code or the platform failed the job
    JobCancelledError,        # The job was cancelled elsewhere
    JobTimeoutError,          # Your timeout passed
    OutputDownloadError,      # A required output could not be downloaded
    SerializationError,       # Function or result could not be (de)serialized
    NetworkError,             # Connection to Verlex API failed
    RateLimitError,           # Too many requests
)

An exception raised by your function keeps its type:

try:
    verlex.cloud(train, args=[data])
except ValueError as e:        # a ValueError raised on the machine
    print(e.remote_type, e.job_id)

Every error, its cause and its fix are listed in the errors guide.

Contact

License

Apache 2.0

Metadata

Release files for verlex 0.23.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for verlex 0.23.0
File
verlex-0.23.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
verlex-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
verlex-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
verlex-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
verlex-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
verlex-0.23.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
verlex-0.23.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
verlex-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
verlex-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
verlex-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
verlex-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
verlex-0.23.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
verlex-0.23.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
verlex-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
verlex-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
verlex-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
verlex-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
verlex-0.23.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
verlex-0.23.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
verlex-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
verlex-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
verlex-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
verlex-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
verlex-0.23.0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 244.4 MB

Release files / verlex-0.23.0-cp313-cp313-win_amd64.whl

Download URL verlex-0.23.0-cp313-cp313-win_amd64.whl
Size 1.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ef684ba1f4da38c62dc9b3bed6f118c00be89954fad0e42360af962a8881e903
BLAKE2b-256 checksum
How to use checksums
58879a6e89e58f0f3eeebd0fbebb7cc5d392d3c09d703ba6a59f4e6b64f62eb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL verlex-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 13.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ea22e31f9c400773747e80aa9cca4942f320bf0f09054f293cc3dccfe24aa456
BLAKE2b-256 checksum
How to use checksums
132aedbefc72f9031088c1f3340288cfef8c9e92766cfc86132cae977ea44ed1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL verlex-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 13.0 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
234db90863261ba33a38ee60932e36eab9c2fab7e02d05dd0770f39f51c5d71f
BLAKE2b-256 checksum
How to use checksums
05614eb9138e6d14d16ba15789ba8a2f59d141338e7254ead641c7368b6adff5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL verlex-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.7 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e9f067178b60f8cc762a578259449612eb4fe54f7662da121e4ad49263a50a78
BLAKE2b-256 checksum
How to use checksums
e35ad57badb8f1035562be5c4e8cf42b16c8a8823183983714bca8975baf75bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL verlex-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.3 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
829c96dc62309f539d5b3456e7866db942a37c9959ef33d3d8175db9b0b7d339
BLAKE2b-256 checksum
How to use checksums
32b4e8ab6751b333a9abd1d5a565053f4cb465799a31a9aaf03118054fa71a8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL verlex-0.23.0-cp313-cp313-macosx_10_13_universal2.whl
Size 4.0 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
bde74bec57c7947e816e8cb92e0e4c13a05c315bd9d9a0bd19ffcfd3b8edfe57
BLAKE2b-256 checksum
How to use checksums
e529a4163658e1df6384bd3d9a5a5797351da6b37f1c6ee48195bc1cb326f961
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-win_amd64.whl

Download URL verlex-0.23.0-cp312-cp312-win_amd64.whl
Size 1.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a6b71482ae3f1bb670b15475c650450d03bd754f298febc28c81c98b7bf51cdd
BLAKE2b-256 checksum
How to use checksums
49a17fc353dc90235e512583e5ae26f53dbf36b8b0c99ec0c88b264441ee98d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL verlex-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 13.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ff4cd66d9052a3c5b5b0e4071ed9c369d344acae493841a0eef444ee01fadf68
BLAKE2b-256 checksum
How to use checksums
67edcc8358a5a25b32dda553276f1655697f8d7a491290474cfa286574630d2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL verlex-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 13.0 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
21a318c49f348ed18d0992e1af184a34207a6bc2bebd3ff0350cddcfc4576711
BLAKE2b-256 checksum
How to use checksums
711e27cefee7843f949e09f0be5cadef9eac4887ccb870d4b72bdf70a5b99af3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL verlex-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.7 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c07f00ea6236dae2305922d27af384a237ace2d888e29f612370f505a293c1ec
BLAKE2b-256 checksum
How to use checksums
d7245e73b23f1e13cf0492c48ee92bf057a89117ed527cfacee7c6ec4d6d3855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL verlex-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8423fca4ae062f3ddd9e8b6ca4f19e6538ba4572b079d333e3eb55558e739d5f
BLAKE2b-256 checksum
How to use checksums
caa4889246c443492e41286f5d9024f3690d7f4df874eb310c3cd133ea711e25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL verlex-0.23.0-cp312-cp312-macosx_10_13_universal2.whl
Size 4.0 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
9844de890445aa3292c7992533ac1be4b2d3936252038ccb28877f71aa2c9f18
BLAKE2b-256 checksum
How to use checksums
3950fe54ebe5494e4460b20c7ef3fd19feb5d9c16ec39ee65996b5a366ea1d6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-win_amd64.whl

Download URL verlex-0.23.0-cp311-cp311-win_amd64.whl
Size 1.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
543b45f585767ccf95d955b9a7d35e93a30cff4c74f9af316b7c0df3b6c7b05b
BLAKE2b-256 checksum
How to use checksums
d813092bddfb4cf62d12b5aa46881763f78fddd2b7eab7cc43e9956ccdd40972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL verlex-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 15.0 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3cec4319399149602e3735163034c00881da9e3a5cc887c04fa1ebf5fc40ba68
BLAKE2b-256 checksum
How to use checksums
15dd5fd2f700ffa81081d3d25ae9fe1215f0e83807f3f2809579b5e107057c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL verlex-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 14.3 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
87803cf148ab66399573bed59c9b1b3cad9be34df1333093f58d724b1ff92af5
BLAKE2b-256 checksum
How to use checksums
7f2add7e81334bc759c84c3f124f5949a174d4fb615d580497482c77ab281b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL verlex-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
13488006af6f0ab03129e1e860a65d6457f5a09ad5c035ea07982f303ba40b10
BLAKE2b-256 checksum
How to use checksums
ba08660fb953d5bbfa0ec9329d36e5e8144329c6aa6e0407034c5f1b355ff069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL verlex-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 14.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7f2df726ac9576ed6a7f981f45b089eef0406a7e8988bac3201a4df6ec8a8a65
BLAKE2b-256 checksum
How to use checksums
f13ad943f66242ac70d6f108e1de2a4d3f3ca06a6167b7bb57ec5a5fd21b4458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL verlex-0.23.0-cp311-cp311-macosx_10_9_universal2.whl
Size 4.0 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d5559d6dfe82c23b6ea0778954fa93716eb3e13753935af45eab94dfa6d00cc2
BLAKE2b-256 checksum
How to use checksums
2d607ff138c57b0575915fd4311ab4681ef0d91ec424bcab793b47f4b96a523b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-win_amd64.whl

Download URL verlex-0.23.0-cp310-cp310-win_amd64.whl
Size 1.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
df7783978e0bfe6cf06cf441ba06a8763a8a9cefd27fa1e6cc6885540df1c366
BLAKE2b-256 checksum
How to use checksums
cd37c63bd658acc46ee0ed11ac664329516a2495ae853a3ef11efa87fc30f118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL verlex-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 14.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f81762046828ddea9039152f4239135cb0a298b7b6686c311833f8821e96993d
BLAKE2b-256 checksum
How to use checksums
f83ac14bfc8b1e1142dc051214559df7a97e55411d652cb4b7a09d7cc639e748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL verlex-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 13.6 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
a7467685b36cfd691f3531fc427cfcb3108f51a5d18701b90d6118faa5f2ae53
BLAKE2b-256 checksum
How to use checksums
cfcdbae2a8a4dbeff10be9bc0069776c40235e45a25787add0aee6968d55923a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL verlex-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
775abf02330e40c934580bbf29aaf7635a07415dd49b5a64d978e6e567b8dc02
BLAKE2b-256 checksum
How to use checksums
dd18c7838700cb24135ebaa65648002746dc125cea97d989e30c56cf5875c9de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL verlex-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.7 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
29f1ce8fd5d2c5aa613f45d8fe829efc785986583020aedc145c4e7f76aad645
BLAKE2b-256 checksum
How to use checksums
f6bb22b87f4b6c824cff63b4f67bfa3a383d0a93c592b507e4e5df0c50700f47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / verlex-0.23.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL verlex-0.23.0-cp310-cp310-macosx_10_9_universal2.whl
Size 4.0 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4516c2578ac1a6f1a4d854eed8dff3294c9a3f13fe50cf458665918d68f9a863
BLAKE2b-256 checksum
How to use checksums
aca9eaa25bf1d530d827cdb0badaa9d44331c239e5e99bd7ce86e8b2bccaca74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
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