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.1-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

verlex-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl (11.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.22.1-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.1-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.1-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.1-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.22.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl (11.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.22.1-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.1-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.1-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.1-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.22.1-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.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.22.1-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.1-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.22.1-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.1-cp310-cp310-musllinux_1_2_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.22.1-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.1-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.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: verlex-0.22.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 06403d19bd8cb46cc626ae7a3fae8c3660561b7000fff0d81bcb0aeea08a7bd6
MD5 91603629d65c1cd36665a6d7634718dd
BLAKE2b-256 d011e0710ac796dbf8050c5c4a7ea58c304409448e4c5e5c613816f762417601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9d2fa04aaecd01487755fdc9378e05d51df1e0210cb734618270dfe13bbdbdb1
MD5 972849e53bab8dc52dc90d352389520c
BLAKE2b-256 4c35ca23cdfa5accba1e15deb391f2dd57da423a5868f401df16b9da4a922958

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 51b7d38cb000adee903b408fee6cda50eef6b677f8a49742cca94530d56ce36d
MD5 1aa0ef9eea6b15bfea9d7fbcb8e9f677
BLAKE2b-256 ef46eeb331f1df9fe05cf8ac61acc844249124b5ffd8559fc9fb9a2420bdafaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7c47a6218d051a200cc29797d66c95cf16d06654054796da61a83fbfa3e77ac
MD5 6cc5346058c4fe2ffdf547d94ffdee2f
BLAKE2b-256 4b349dc95b94c27109e5113c01df178692b69a824861e176d272a49d3383eea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b131b0418b13a6c9894296387b45a7b80ea8067deab1510cab80f709c74a8e15
MD5 4a742b33ee8e1fc5e31d633427bff06f
BLAKE2b-256 40a5457865360197ac06566e174421ce63962605eef8586211b52bc3b35bc2b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 812041b17783913e12cf378d42c361e343a287f9ceb05247857a18065c9f3f24
MD5 9ba25d9e1fefad1cd9b0479a33e5c8f3
BLAKE2b-256 677ae7a3edbaa7e111b3d66fdc201928af8383bd8a4feb769b430ab5c030f1aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a4a747fee7bf618fe3282a9a33171294e419bcabd3674e639f277eaefe6f2d44
MD5 c44793d9d763031131490231d8c38ec8
BLAKE2b-256 dc8a16ca031b09b3fb464a6edbc61195dceb0985e38ccf43b39deeac85de8a24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7f49d2726749de5e06dde9e670b79ec468d39129134d705bc956397e7cebfc91
MD5 c69f7acb1d3aa79cb3c1f5f30ed77ced
BLAKE2b-256 38a04fdb34308a29eebef7c3dbb341e2758459123825cebc5b0de2d9f06ceeeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 27eb5cc4c303a7117788a0d47886ca32e92146fd6825e511013a6f7d9d4e7198
MD5 83269e244f436408666056da5879caac
BLAKE2b-256 ad1425c0226b40b9292f7e8e08efa9db2dac5840939b5779b918d8059226cc76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 499604be1b8facf1ea412d0a81b4886e8fa96b48c5521cb0a659eb917d4774bc
MD5 49ed294aea03e70ff50c85bc6f780b0d
BLAKE2b-256 164a27d3c20c1e265043a5bff0826350182d515f6feb4388cde6db8dfec13ba7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d2a07f916a068e968fa7477dce0162cc056ed3523756bfc9b4adbd69e661ee6
MD5 ac3203b7b75b6098b31716b4c81e89d2
BLAKE2b-256 33ee0a6f4d6b65b5edd73578a747f8001516204e8ab1a36391b2f74f7f0d6fce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ce976954174eae5c0db41cb12c78afb9814b450f7c7f204f2c52fdfbe92258b9
MD5 d162c732a851190242dabe39b14681b7
BLAKE2b-256 b6491be84aacc6ddc3da72fc5bfcf01e245e096ec162e5e6f0becdc3afffd1ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5486da70d7c902b31c2f453c1d440699a4f118ca33bdbfb12af545be1d8d8f31
MD5 412c9e19e09b83274979b3bba14a593c
BLAKE2b-256 26d1810f9b597331f2b45214441c8288d77d2806c8d4994e5e1177006821cb41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0dddb0364aa2594510e45b9e94243abab0b8408d66992f85ff6fc07b566871d
MD5 6f1c10bb5433b54973efee3c566c6891
BLAKE2b-256 856ed687181e9de7b582e1c81f7d8a0c19308b2e8104713a0ebfc161cf8545b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 16bfa953eeaed1bec2302e1ad72f806eb3eb0b641412bccbb53b4ae5c19a4a1e
MD5 63d6cf3fad96453d6faa171bdb31a833
BLAKE2b-256 e7db7202ddfdaa85b1d85fe76b1499e3724f05175f254c9641de74e756861e00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d08123ed86d13f41254f34e1e4a354ab79adf4fc262a54fe1eeb7ce20a77f490
MD5 f4562912c7e049a2a21dda6c80abeb07
BLAKE2b-256 2697607a463fe7d895ba770984f63f5b9f2f74795c11c7f71f21244daef78d8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3f14c4ff0cb7ba2dc7bdb62d6d2576a031152a4df7c081f8d703a6fe3dee58e
MD5 8f3bea4771ec420e28b4a7d6f37bd1de
BLAKE2b-256 bd5d4ecd19e65201cff9a5e777e6e171eb2230f9864b735913391d764a235710

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 24846f6a79fa63c425e568781e9e240864d1a3cecd4c524afbab0bb2207004b4
MD5 0b6a131ba07fe57914281d8aedd38b00
BLAKE2b-256 affc0d9e0f585a150e461dcd0f9b3c8ee9929d22da56e86ce10f7f4e5e3ec5d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 24b7a5da6da3fdc63d5ea227f838d3aba13959bb0ee6cb1431aefce31f5b0e9d
MD5 a39fed5e514cc7ea831beb54c75686d3
BLAKE2b-256 5f56dc3eddc79e1a9441bcb5148df668168abe867f85dc4883905968f9e7e10e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 28644f157a1ed46cb8087bf4376e9436e8266773e745b821aac5c7a9d199c7fb
MD5 658d5a0cdb32feaad7ccdd6ffb5bd69d
BLAKE2b-256 2941ec2f4dff0d685934ce10d02d7005b1cdce903353cc19224888bbca8c4682

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 13d64c8fa096b1683ba94232a4eadb2eda91de8b9815504eb3e3acb9c433ecec
MD5 ccd86787cbb0e0245cfb802852040def
BLAKE2b-256 304bc65fa853be47b01ffaed82c79dd70522792fa481fd17cd0d2aa6adec7294

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e372ea030376298cf1bcceacab2194e465a3241d6d7da29de3fbf4cb4130eade
MD5 fd041e0c5eb2b81c6f9315aa7864829e
BLAKE2b-256 26b62ef02932b47baeaf3461dbe2fd35136ea141ba0bdfb50bf477be5a0ee657

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 157de5801b0e2040f4e6ddd9eb554824aa8980e850e1f4334b600c0ba322c5ee
MD5 0e7c3d9f899162d71d987c9006f20b8b
BLAKE2b-256 bd9d72201c13a04746930188ea8296b1360c90ccfc8b35fdeb7c8fb94d960491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 150e6bb5e401e4828e5921cbc38800bea8700e2ce1cb706fad051d0bfc64cf1b
MD5 c94199e77315fce9df61042f70c5b259
BLAKE2b-256 ebe9a5e1e7614e88cf93fc37acd8cb6e0cdfba93f5f8563585618f0902350766

See more details on using hashes here.

Release history Release notifications | RSS feed

0.22.3

24 files

This release

0.22.1 This release

24 files

0.22.0

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