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 10 clouds, and runs it on the cheapest one. If a provider fails or stocks out, the job restarts on the next cheapest, automatically. No hardware picking. No quotas. No DevOps.

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

Your function's inputs come right after the function. A function that takes a single input accepts a bare value; a function that takes two or more inputs must receive them as one list.

# No inputs
verlex.cloud(train_model)

# One input, a bare value is fine
verlex.cloud(square, 5)

# Two or more inputs, pass them as a single list
verlex.cloud(train, [dataset, epochs])

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.

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

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

# A list offers alternatives: the cheapest available wins
result = verlex.cloud(train_model, [data], gpu=["H100", "A100"])

Reusing the same machine? Wrap it in a Hardware object — identical meaning, one value.

from verlex import Hardware

big = Hardware(gpu="H100", gpu_count=8, memory="512 GB")

result = verlex.cloud(train_model, [data], big)          # positionally
result = verlex.cloud(train_model, [data], hardware=big) # or by name

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=. A Hardware and a keyword that disagree about the same field raise rather than one silently winning.

The full set of job options:

result = verlex.cloud(
    train_model,
    [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)
    timeout=7200,      # 2 hour timeout
    pip_packages=["numpy==1.26.4"],  # extra packages, always installed
    python_version="3.11",  # match your local Python
)

Execution Modes

One flag controls your price-speed tradeoff.

Mode Flag Behavior
Performance fast=True Immediate execution. Best for time-sensitive workloads.
Standard fast=False (default) Up to 10 min wait for the lowest price. Best for batch jobs and cost-sensitive work.
# Performance mode, immediate execution
result = verlex.cloud(my_function, api_key="gw_your_key", fast=True)

# Standard mode (default), wait for the 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.

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, or it finishes. The optional timeout argument is a client-side wait bound.

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 10 clouds (AWS, GCP, Azure, Verda, RunPod, Vast.ai, JarvisLabs, Hyperstack, TensorDock, Lyceum) plus four serverless container lanes (Beam, Northflank, Novita, Cerebrium), and routed to the cheapest machine that fits.

import verlex

# Default: priced across 10 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, "A100") as wf:`

Automatic Cloud Offloading

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]'.

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 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", or as a spec value). Verlex finds the cheapest available instance across all 10 clouds: T4, L4, A10, V100, A100, L40S, H100, H200, B200, B300, and consumer RTX cards. If you don't specify a GPU, Verlex auto-detects your code's needs and picks the best option.

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

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.errors import (
    VerlexError,              # Base class for all Verlex errors
    AuthenticationError,      # Invalid or missing credentials
    InsufficientCreditsError, # Not enough credits to run the job
    ProviderMaintenanceError, # Pinned provider is under maintenance
    JobFailedError,           # Job execution failed in the cloud
    JobTimeoutError,          # Job exceeded its timeout
    SerializationError,       # Function could not be serialized
    NetworkError,             # Connection to Verlex API failed
    RateLimitError,           # Too many requests
)

Links

Contact

License

Apache 2.0

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

verlex-0.22.0-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

verlex-0.22.0-cp313-cp313-musllinux_1_2_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.22.0-cp313-cp313-musllinux_1_2_aarch64.whl (11.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.22.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.22.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.22.0-cp313-cp313-macosx_10_13_universal2.whl (3.6 MB view details)

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

verlex-0.22.0-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.22.0-cp312-cp312-musllinux_1_2_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.22.0-cp312-cp312-musllinux_1_2_aarch64.whl (11.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.22.0-cp312-cp312-macosx_10_13_universal2.whl (3.6 MB view details)

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

verlex-0.22.0-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.22.0-cp311-cp311-musllinux_1_2_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.22.0-cp311-cp311-musllinux_1_2_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.22.0-cp311-cp311-macosx_10_9_universal2.whl (3.6 MB view details)

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

verlex-0.22.0-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.22.0-cp310-cp310-musllinux_1_2_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.22.0-cp310-cp310-musllinux_1_2_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.22.0-cp310-cp310-macosx_10_9_universal2.whl (3.7 MB view details)

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

File details

Details for the file verlex-0.22.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: verlex-0.22.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verlex-0.22.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7d212c0b55c1b4a82541dcaba3b4fc2398050b2bfe85758fe6a50bc1c4028e45
MD5 77815d8c324bb970d4759933ccec7f32
BLAKE2b-256 62234ffd6d7ed0c903e32529fc94cf1c684d97891416d262ba1065349f337226

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 716b646fd43bd343b809f57e2ecac9e20680f71d2cd1571c90be141967823695
MD5 33886c53eef4fb6d88a0ee7634872699
BLAKE2b-256 4faa798f991dc3c4de81fc3a3d715cd8fe5672169e5a87c749d57f632f15492d

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 01feddbd7b64a6f741d6225b06b4434ae313b9e6ef1a32da49a67ca495caf86f
MD5 a74ea0380c5d159899c18029331255a8
BLAKE2b-256 86524b75a0d7cdd2f86b41ef153847a06e57806c150e7fe17a652408f10c1701

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78cb2a9352028c004a5c86abb4ef739cb505eba51cc33823e5031776269c9aa9
MD5 d1f889e553531fb716a66c2959d71414
BLAKE2b-256 786466878d0db75c657b83c4eb9698a77318aaac015c498cdc535562d4c94b6f

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 95ce2395ad881bcc228e8b85696ad0b9c9f3bec148c09f1ae4d3f99e9d798372
MD5 62c1dd1c1499c899a6ae8ab7f5447e32
BLAKE2b-256 ad3954639aa8b0f8c3a729ed65964028bfc8162f4833dd85f1e751c5df7610f3

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a19d9a958dbe9c30dd2a6eb7d5f32e9e3238a72365e394489091c0eef7cfd136
MD5 612c75f2826aea1f6f8848dcb544cc38
BLAKE2b-256 1ee1ce94a248555736d487b1c07d7844e54cc44658b908ce4d4133db6d4b37de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verlex-0.22.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e2245cbd0df2186aeb91ae9b175be7d883b9907f18fc826a5cb60b3e0cfd8741
MD5 732e9a791f589207bf48cf7c07855cae
BLAKE2b-256 31c90e4af14187eb1848950640d55f074f9c62216dbe248058834f708bf3034f

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d584e1e91fd2fac25e29005ffcbebd4693d2c345f864ccd6348d02aed23a21e
MD5 a229fefce12f905adb81c2294efe0a3a
BLAKE2b-256 79285ab6a497f49ded9c9747f76d94b57e0e333f09b670a5d3e5d6555eee3206

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 26194f8b55e3a218999eef8b2bee37554f23db0ad043c3f6d563145cbe0bf6cf
MD5 52f0b806d0935d3d697f4b6205c93ac7
BLAKE2b-256 19cd0251f796ea2ca79d6c09df57d8357b220ecf6b95f2748e5403bf794cb7c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 122f7a8fe9269affe106e9ce650b2b829f40dff3b14f069ab95b0f7e43a62646
MD5 16128c9bfbfdc3e2c0b59d8ad9eec5ea
BLAKE2b-256 58fdf1544841b7f34f84a3c04f80f3d1111f3ffce97ae86480634b24ae626108

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ffb14abfd7b03caac3236cd5a8ae6a6e50f9e9e048d2ada1dd18e0a517c4d60a
MD5 9b7c682b1fdf039c958bf8e757765591
BLAKE2b-256 17f491e3bc95c00a6030f5eb64b7c97b0c0d3fc2741c444c8ef8b6645222fcff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ae38e5470ed61721936813eeeb775326e04147bee6e3e305be1aed90367b45a7
MD5 8145d9a7ea54394ece61c77ac4456afc
BLAKE2b-256 002c70b8c0c0a694540d70b4be987477d0b848738abc1caafebcb5aff7545742

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verlex-0.22.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d4311c05a1f567215ee7f192ac323be58f4db029a7188464cb2cab1f1a79865e
MD5 fe34d1bc5fdfd74e43c2c57fcf84d1df
BLAKE2b-256 c4d61fd5cc2c47f155fda087784c17c28fc96bb93eb0ca436d7c75a068752df9

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6935de64fc39b1ee339fc7f9d1e3c4016cf2f4f56bd987aab844d6fa9f69b9a2
MD5 3378904f1abfe349bfed54156b36fea1
BLAKE2b-256 4d830b5099ae89cd2500a6e7eea018a4e1e9beb731b0fb9d59a727ca58db132c

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 891368c4dfeedec9e74c98b80c3c7e64ff2c6248a9004729b2049a580f9d43da
MD5 799da763763c1ba0a4f42bb052ca56a0
BLAKE2b-256 3814841a79aeb15db4e9a2c4080717a3098a62631734dd0518a2e6b3b6191a0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16f1e6da555ddde8599b8cc790eaa3aa76652b8f46452f86f88854eadac14400
MD5 9a7b157dadf0cec068dd40104d089d73
BLAKE2b-256 dd36b4a38de21852558f3890dd69aef4d5a914562dd89be3d2f92b183af7e913

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 695270f81d0ddc263c5e10545deed025d783c56ce560dbfd19250597c60fc56d
MD5 230083a0e55241b16d933390f84d8451
BLAKE2b-256 614a1a02bd1a59e6248cd9f2fd89770bfa9d83a74412543f8cbf8a2eed288d76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bceb74f0f80f05e76db77e16d6da508cae28124d1bb7f6e856c70f9af120a22c
MD5 8b22efb6c2ab67609ba1639a69764e10
BLAKE2b-256 fd9a9885fe806dfb7f1eae8e4d44f0fc2cb3e7bf43cfe7b922c69e9915e8fe95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for verlex-0.22.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a851350f13fb9fc9e12a84ed6b28c1c3b7010c1e560ec04200a49012c0b87e2f
MD5 44c59961b4fdf4a308ab1528ca617eed
BLAKE2b-256 43275df1ff04d6f005fb78acf20c6784619f2c8e7ecd49a86d146349e4b05b52

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4e9c135e9e1497d9b17ba43e9fdc9fd90976af45669ab4f86c2a0e48ce5d3882
MD5 b3ac65da7c65755a14e8cb950170d9e6
BLAKE2b-256 39b8efa1eaca173f1052937df01e29b41ce4881437af2db8f454e2071cd88d39

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e703b4298e4b1c979503d7fb1f35829ef5349098d87cec98299e8f234544a533
MD5 6200e935a8b31e1b67bc52783a4ed8b0
BLAKE2b-256 4392f66b8a9836f5704ddd704a7dceddedcd9cb7d39ac0cbabd262aeab5c9bbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bba813f4bce4e989e70278cac814a9ad22e8c6bb1c7412762dd2780a65b8c68d
MD5 1f71e188dacd89d375ee4e0b4567dd88
BLAKE2b-256 ff9ec65d326fafb5b33f46b41ab6c455ff33717c68581c79702a7de5e928c1ec

See more details on using hashes here.

File details

Details for the file verlex-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for verlex-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c77d007df3c6af2b6f876a011486c7ecf6530af793123a19149a5b05c108bfb
MD5 ae0e5ef3b8262eff24039cb5932d0621
BLAKE2b-256 d1b72c745fa1832262f2ba620f824f36ae329b5e137e7daa728fe417e81b6255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3c0d42115cbdb578c59ab6e68b69c7c9f2980b51400bb8812257cf04d43a1707
MD5 f83850557a640bb152dca391f209f693
BLAKE2b-256 6fe62def97652ba4c668b7e307befd27655a51c1600a524f55f53faa3aebb5dd

See more details on using hashes here.

Release history Release notifications | RSS feed

0.22.3

24 files

0.22.1

24 files

This release

0.22.0 This release

24 files

0.21.0

24 files

0.20.2

24 files

0.20.1

24 files

0.20.0

24 files

0.19.0

24 files

0.18.1

24 files

0.18.0

24 files

0.17.2

24 files

0.17.1

24 files

0.16.1

24 files

0.16.0

24 files

0.15.3

24 files

0.15.2

24 files

0.15.1

24 files

0.15.0

24 files

0.14.0

24 files

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