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, or 3.12. 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

Override auto-detected resources by listing what you need after the inputs. Each value is recognized by its shape, so the order never matters.

# 4 vCPUs, 16 GB RAM, one L40S; units make each value unambiguous
result = verlex.cloud(train_model, [data], "4 vCPUs", "16 GB", "L40S")

# Pin to a provider (a provider name is recognized by shape)
result = verlex.cloud(train_model, [data], "H100", "runpod")

# Offer alternatives: Verlex uses whichever is cheapest and available
result = verlex.cloud(train_model, [data], "H100", "A100")

Prefer explicit keywords? They work too, and take precedence over loose values.

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.05/hr $0.10/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, or 3.12
)

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

Or log in from the CLI:

verlex login

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

CLI

verlex login                    # Authenticate
verlex run train.py             # Run a script in the cloud
verlex run train.py --gpu A100  # Run with a specific GPU
verlex jobs                     # List recent jobs
verlex status <job_id>          # Check a specific job
verlex logs <job_id> --follow   # Stream job logs
verlex cancel <job_id>          # Cancel a running job
verlex whoami                   # View account info

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

Uploaded CPython 3.13Windows x86-64

verlex-0.14.0-cp313-cp313-musllinux_1_2_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.14.0-cp313-cp313-musllinux_1_2_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.14.0-cp313-cp313-macosx_10_13_universal2.whl (2.4 MB view details)

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

verlex-0.14.0-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.14.0-cp312-cp312-musllinux_1_2_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.14.0-cp312-cp312-musllinux_1_2_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.14.0-cp312-cp312-macosx_10_13_universal2.whl (2.4 MB view details)

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

verlex-0.14.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.14.0-cp311-cp311-musllinux_1_2_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.14.0-cp311-cp311-musllinux_1_2_aarch64.whl (9.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.14.0-cp311-cp311-macosx_10_9_universal2.whl (2.5 MB view details)

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

verlex-0.14.0-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.14.0-cp310-cp310-musllinux_1_2_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.14.0-cp310-cp310-musllinux_1_2_aarch64.whl (8.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.14.0-cp310-cp310-macosx_10_9_universal2.whl (2.5 MB view details)

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

File details

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

File metadata

  • Download URL: verlex-0.14.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.14.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5adef9563cb3b6d5bed3ea300b448fa9a9a6610c2844ccb06978c8e08e968389
MD5 b1db7881130ffb756712287f834e0598
BLAKE2b-256 e83a086727585a0fd880e0b13f98a2c5d26270cc424d32d2ede07823657f234e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e48a8a780bdf072abf11dce27e3b21f696e4c2908bf5f8e446998c3506b7aa9
MD5 38d8ffd445da352f15471ce06a6bd3ea
BLAKE2b-256 93a7227372fc0b13a96573d590a612710aec577d0f57da68ae32972bb6229a82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8f51947b487482c83df166369c8fa8d8395b542f4878176c863aca2e42e02472
MD5 2b11dde48c950899c0365b1f37f4949c
BLAKE2b-256 a002f6eaa3b45e70955f017b6425b7a089799f1d1e5fa6f679fb797163480fa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dd7d0cf69f7b4df2ccd6899f6d4b98fa82818fcd00aab76fe16ae89b8f6ab55
MD5 bee97c6f0af7273aaa4452e6ad52cd10
BLAKE2b-256 d0bedc25fe3ba6cfe1b938d75a2c05d8fd88be11aae1c3b31fa652a1b7a1cc14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1d5f5862ce4fb35f92c6fe2a1b069d1c43a882a7a1f9449a1fe5062d4c62fe0
MD5 98f855b56cf18868b245529f699d3ec2
BLAKE2b-256 65be1da4a56806353fdfd1c67bf23bdfb760f37e4f0aaf5249e384548c4edf33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3b2f8b4f970adb328c6ecf2c550930977698d78e95d51c6675cdb29613eb2133
MD5 332745e0647c98e39b17602111c0bd16
BLAKE2b-256 6ee7853115665ecd85e1acabc20e5183fd07d26b5986035b28e4af8a50e8cf7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.14.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6ea6ad8a606a488c42d2813d8190ad4b44ff1a18759ee90de94682e75fd100a9
MD5 a960949372fb3b87c1bc54256d2498a0
BLAKE2b-256 8fc256dd1192a7ec5adf1037ee6db7b3af7596db31179c29007857143aecfc44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 951b09ebf4c3c2c85b92dfa0e00563a61e1ac6202693e642494b50aa9ad06557
MD5 f6d3af0ce54801622f368e3f727a5a99
BLAKE2b-256 55ed3d5b033f8e34dc5a7ae8040c1d7b866f8bc9af0ebfe5335ddc447dec3795

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dbeb83ecb46c82ac7fecaa01345ec6b17266ece0e0c0c967135b6665de00f648
MD5 4345111b26129ef4b28f75ac92bcedd7
BLAKE2b-256 37bd12dc339a0a01967d2aa4dca6c95d9b77e9025d5532c88b28b5ee4b1acd4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c02692b0fa030475cbdd7c10742e4f81f6ff49c3c2152a076f97c1b4dc196b9e
MD5 0429b2773a1cdd495bc8a50304528579
BLAKE2b-256 f48be2d2280cec4cf42a149e39aa5e34b3c9d74d540f74b9d1fbe0dbbcbecb22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24de969222892db37e7447623832ebc8abbed9d76739b6befd2854af78f1aca2
MD5 89042a526508af9577d9e445c6ca46a6
BLAKE2b-256 0a65691bf4ab239801ea29785e07149cff33ad9cc01b717022e148830ba82ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 eaa14a7a2e70cb1b5f8647b8fe53b97647351de12cf56791cf964a0773606862
MD5 1d9c7d04763954a4798f44ffd9fcac0f
BLAKE2b-256 419b5b529ac4fe3d197f2c64737eed5bf6dd99fb1ea492b8395b8b6601ec50c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.14.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.14.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 462aaf7cc0333299daa43a4fec21b2b8b1f1787fb7868f55ce442ab588fa69ea
MD5 01f36b342ecfc93a3eb6c49ed846c607
BLAKE2b-256 a6e6e233e59284c348a12de367820423ea1deb64652abe4967c5f16ec5d04a17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87ff70e68eb7c55b6fb6f2b7345197c73444635753f8fa5ce160da31e5e8ee4b
MD5 7d466c8d5d4fe9ba2f1bd1179782f8df
BLAKE2b-256 7c879d1a2f45219ec69433a904b168fb5dd9e26d455dafec151ffa76dbceaca8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6e1185aebe93f8b68540307cfb86aadb7870c35953fc64ad5438910be2dd00b3
MD5 8de08180aa5977ff0f4cae4e7867b6e2
BLAKE2b-256 ac16ddd8853b294ac65adfe11dd8968a0094e25ce5f7b39f393d3a40ea904d6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c33c7231851a24179e4b35428f4cb47271d4c02889e434bd78e72b8819e0f07
MD5 67497482db47cf2e9903d7d7a6499228
BLAKE2b-256 071e565f73d7718e75935ab77d273854fd329e036d38cbfbc3773f31734eb7a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bf49cfaa207186ae58db900450560e5bab73959d0ff5ce53464c75ccb35f75d7
MD5 7a228100c9184d9e4880cec4fbafb32b
BLAKE2b-256 5be544fa7e02eb6c56a68f53829bd5d37225e0c24a6d57c0c0620f8f3df6693a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ea61a56c8871d8a29b7d55aae8e0f60bd236a875cb419250ded39a05d3d638a0
MD5 88425695d7a13d0c8b7134bd048dbd00
BLAKE2b-256 cc5a716e32e171ae5b872dae6f16a04f8f22d2008c51595f2dddb9247f885a47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.14.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.14.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 da202138d4ac2aa64ebc1290be8a1a6203e6e1d4ec440885f49952e40a69b09f
MD5 4adbbee7fc2437fa06d563954af54549
BLAKE2b-256 6a689110dbe1c48c68a75a3e016e12f709527520180247dda67ecf09420d6e4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 32d6dabb94a42d6d4e4feda7f06989f8e9e9955e66902588af972885dd8fddb0
MD5 a4ff0238d52540939b2f4076d7dd245b
BLAKE2b-256 2e5dba9e0630671df4c46f9a076ce225fb593df081e41cca4a68ff6eee7844e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c5e5fba6dd2180b9fb6ebeda57b53ad0885e9814a922b04ca1209aa9cce37fed
MD5 2578d651974cbc2d3779d65307bcbf07
BLAKE2b-256 d84d8105738dce05c6d16a5527c5a55fb021565eb34ec40395abccd03bc38bca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 471dfd2ab7bda4c86d640e8b28cdca6372dea8001a8e5bc515a1a633f69ae754
MD5 37a86e2255e6a9d3228f713f6d0ae4fc
BLAKE2b-256 929f7fb6cd583958390cd28868935fddc80b785fa34a511c0640e7dec0b544b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 985855e8cd855c867bb07e8278a2f0018a845f25698861ffc863e94a57568f85
MD5 1ab8ad15c164648854f81d683a78aeac
BLAKE2b-256 40107f2dbac9b998b16987b34a471f873880da9d0b8bef50a1d96fcd9dd80828

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.14.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 861e1697b1b945728f453953e695971d1be270eea29ce22249fb8eaf5342ce77
MD5 56263e1c62122260c690dc6b2687189a
BLAKE2b-256 13d2325b11013ed1fd4d649ea920c1221b058a38d3d0a5631672a6b02162e2c9

See more details on using hashes here.

Release history Release notifications | RSS feed

0.22.3

24 files

0.22.1

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

This release

0.14.0 This release

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