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

Uploaded CPython 3.13Windows x86-64

verlex-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12Windows x86-64

verlex-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.22.3-cp312-cp312-macosx_10_13_universal2.whl (3.7 MB view details)

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

verlex-0.22.3-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.22.3-cp311-cp311-macosx_10_9_universal2.whl (3.7 MB view details)

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

verlex-0.22.3-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl (12.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.22.3-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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: verlex-0.22.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 90cb8ae6308e4127faf7732dfb7bcf8c01f261bfbb5346eed95af298902a3aa2
MD5 747937c704c9db6cc1590dc4dd35853c
BLAKE2b-256 670078afe9a7d27bfe1c0f525783cf4ac30c6f99b3317786d179add55cbd8954

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 85982070f60f7602955c29ced9df703715e18521c574c177b865d0cee16bca34
MD5 971f8d94e93430d2f47eabc386810eee
BLAKE2b-256 90d61f968e096db0d4ee52045ddcfa1c8b0a7b65d09c8c3dffe97173a535c1eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ea53b756dcaeba383a303c25bf18346d3003129c9f42c9a023d20c0fcd956797
MD5 ab390e1cae9a282d783813eeae51e026
BLAKE2b-256 fadc9aa8d1a8146d3161e0f52b4394fc451215d7ba899ed4581e7545326d4920

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b9db52940e69b1c99d262286599a404dcc5223385e23f9e47d47699aba8851a
MD5 448209b9ddc4f3bc911745add5c2a44a
BLAKE2b-256 75d4852fb8884e84e07c000c50d77c4afbac2df38918b775f80136b138ae4e67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9c4c02362e7fcc56405b4968348e710b530dea7cd609abf5d76a103848e8febc
MD5 df91fca8de1a5b92af0847bc4491a06f
BLAKE2b-256 d3fede1120fa3386f06ad3bdf64c3fe02896f7f4de2aa1fffbda9622596003f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 fb376c2db5054ff7b1c2b89573015fdae078a2d08c5a46b4cb24bd5816d2a048
MD5 388c9d6f14e50fe2b2f630ba0445e38e
BLAKE2b-256 f26ec846687c631427e0395c1817a6d0946a9e79f42e0106b4bcc0cb221d4ced

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b1267329a19556da277fea3b44af71d045cfc071b4890e40572a0d0b77af573a
MD5 7fde80c739d9963e95f2064e694a0799
BLAKE2b-256 e38b7127187c4d7cba5a7e5c7953f69fc7f56553a154d31c775833a186a705d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a6a121fd629580e7492f66e79ab2ed2d47edf353284e661666bfe515d14784ac
MD5 808aaaca2fa047b92ae7ab71a220bc6a
BLAKE2b-256 7af92f88227454a8ed5a35650c43ef48f90718054b54c18b4706b8594a095773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1bed7a90ed5853e7d3a0ad14205d3befa7f9d144bffa5abedf66f488073dcb74
MD5 e8930bf7527d708b017dc2a04a345822
BLAKE2b-256 cfb37a979dd332008aa63c5fcecf73829ae9837173b5d8ce4b226ce6624afda0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6f880f492854e225a503fd9c2e6984591300ae6f546785f6b740e6e9a6774c1
MD5 212bc7961856c3bebe5c6f36a40317f2
BLAKE2b-256 20630217dc39fd323a760e5fd4c31618a1df6ae748385d7efded58e1beac735f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c2a8ef4d63a283b907a54d56c5432adf5f3b962a69502b13ac77f3bff228a40
MD5 adad607746444f746e4e90e189a3010c
BLAKE2b-256 4670499e0a00d7b9d6e31e85ca2fb4a8d4b0c896461d4967acc16a54d4931560

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2a18f3d8e0084debd6f8afbe3d7c1eb1b5e0324161d34106890680167d506b13
MD5 4eaf04e68ebffd57038d50543d71fee9
BLAKE2b-256 519add08ed41acab4a83cd732a1514a179eaa68d4ac5862a21997620d095e645

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 973b6ca6596c3b51a9e611193ccb8c80ba2a78e3948e9aef312ba678844bc2b3
MD5 d7c113e0e184b7bbf67c3dfe5f4e5d47
BLAKE2b-256 2fcdb02fe503fad14f32a136e257846ac84cf427d7c6f4d7ed6ead36e93ab37e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a3fa199fcdf069d41fd3e900e3f980df447c468688fc25714b14ee7ead4a5c02
MD5 5f9ec0f2c239ec7b418013c7d73b80d1
BLAKE2b-256 267f83475a933c29d6133a07ca6e7105971b83bbc39f863bc26d53bc1e86f898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1f3efa03006c1ba2f84e98be6538cd91df228175f9e8e3ef4b0f5bce88b0169f
MD5 392c029983a8503439e6c2885f5a2477
BLAKE2b-256 647ab177cc2c573fdf24a43cc5f8ca2fa2d61c58c490075d6f2e82a9df162514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30321019472b873b5c823f8786f35cdf9c935528f44cfed7880ff42e20fabfd7
MD5 0ae1be818db6ff5f3246c97ce5b9d96b
BLAKE2b-256 bf847d55f223b4b1ad25c6e9c997eed2ddfff0f00f29553c9444f8fd3694a383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8e0ca5c32510f1d760b9fbe45dce7d6d10ede06b54928d3a6ff8022a5f6687ca
MD5 964e170a66366409a321a906dcecbc95
BLAKE2b-256 3fbe68112eaeb1f4abd215dbef254b3136826b7a4afb5171360158d9a6670b5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 04e1788170e8af915edbbea3c808e46393a671b224efd2ccbe00cb093f6489bd
MD5 4d97fb4ae3e0b67fce06128ebc6ebccd
BLAKE2b-256 cc59afc7de9e2788d46b31a4415a0f16264e0ae8608666968b35a048571c1916

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.22.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1682de1667e5c24ada19242a9ac3d0e784f013a63fb0133ecd565142204ae5b4
MD5 b9c12e2886e5bf00cccf964a2713ad3f
BLAKE2b-256 6e5a462df27dd4ced084605dc0d398b641b1f6947eb73bca19dfe2780405987f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ed17e8767f83b53f4150204723dd35ebd896125bbad3e197ee5dbf3ec2b7a2b8
MD5 3e744068355d1b5df3ab63087859546d
BLAKE2b-256 8b287010ab6cf27c1a8fc62aa0d3a11244c8150141b9af3a83cec6c594136af2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4ac5e432c7f30b174dc4a79f0f5c0a443cf59c61885d57db6ae4952b6b24a1a
MD5 cb1f38082e410bbb3193260af20baea2
BLAKE2b-256 ad5f6620fd450934b9073707e6fef780e04c329d3acd64269de170528558dca4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9193024e9428a81243babe167315b9afe36b7f7e39c3b17dd3bfc9b3f0d130aa
MD5 089f24dfe952c9279bccc6dcc984e408
BLAKE2b-256 023fd24071ebb8f9705a7a743c46ada7e9bbdf2a49dee57a6b367a9da368afa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 472cbb5ff790883b9067a7893416aba63ad1efc2af7e83d42a13dbbf3646138b
MD5 0dbe3238d9a9421658156907b37cab09
BLAKE2b-256 ebfbd6e76260d857be993558e728bc36d12f9f8003da2726149bd7d58966e5a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.22.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4a1f6579f20c37027ca208e185e6eff84df909fdc2a554bd9780d3e0842dad8b
MD5 ea4729ab11b40992a6631eda6313967b
BLAKE2b-256 d5dffea6e44a3bcf538fa978a193e236e9db02b1936c091aef333c244e369c34

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.22.3 This release

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

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