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

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

Uploaded CPython 3.13Windows x86-64

verlex-0.17.2-cp313-cp313-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.17.2-cp313-cp313-musllinux_1_2_aarch64.whl (11.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.17.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.17.2-cp313-cp313-macosx_10_13_universal2.whl (3.4 MB view details)

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

verlex-0.17.2-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.17.2-cp312-cp312-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.17.2-cp312-cp312-musllinux_1_2_aarch64.whl (11.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.17.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.17.2-cp312-cp312-macosx_10_13_universal2.whl (3.4 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

verlex-0.17.2-cp311-cp311-musllinux_1_2_x86_64.whl (13.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.17.2-cp311-cp311-musllinux_1_2_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.17.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.17.2-cp311-cp311-macosx_10_9_universal2.whl (3.5 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

verlex-0.17.2-cp310-cp310-musllinux_1_2_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.17.2-cp310-cp310-musllinux_1_2_aarch64.whl (11.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.17.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.17.2-cp310-cp310-macosx_10_9_universal2.whl (3.5 MB view details)

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

File details

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

File metadata

  • Download URL: verlex-0.17.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.17.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 55847cb00f32d5ed881f2b88103e13d1703ce397e055eaf3f52d1601860809a2
MD5 3901624002cfa77d57abaf9c11500a83
BLAKE2b-256 6134afece255f311cdfb70731102e6c946204ef3e5e0d290ddffc0a073ed8dfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7486e72da1dc7423e864cdcd5402008d5f49cf5ac2b1b56fb3b9932fe81440ef
MD5 f128125cc90e49fe6ed41cc530842ae2
BLAKE2b-256 7be913cf6396c19acc0858e29baf5cbab0957bd18c66e258a2bf967d16a4f820

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b28885875f7e73e0e813cd30a873934ec3813d558a49aa36c0a547f7a8807a73
MD5 738195a50287d886f7843930b2ec2b1a
BLAKE2b-256 ea0f42109c669e014dbd54d6ecdb2d7e3a68050270172a6bfb38d4208fbee8b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d722f183d2cd885fd03c700a2dc82790ba32da9ba0762d6dff7550003e631a9f
MD5 3e26d8740423ca1cc83c0746e5be690b
BLAKE2b-256 d43b186c5ab4df512f012f5de38af6e7c92829908fc660132fd1e5c767aef0ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7ef7b7237f99e13e8f80add5db7095da4e520d528abe3d2287ea6a67d09f6c3
MD5 03f2a6fd6f79435183c5b39d23ead77e
BLAKE2b-256 78da6aa744c7346a0054079e158f965cf7149c02760645576426ee3c01cbba92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3245cf1beb801b195abe18a5a6ccc71b3962fdef3564b16bb671be131bee0498
MD5 e5f7b2c8165adbd99ce4a87b9b09aa5e
BLAKE2b-256 aa1380ebd279ea527bf26b608960216db84c43d67bb3d0a8c516b92985f6bfba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.17.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.17.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7e7e020334b452d2871b5be0f6dd4bafb59fbf97e8c5ebd66bcdc86546505640
MD5 63c4b9461d196ef46771e1694fbed966
BLAKE2b-256 feb2d5647444c908c8e4e220eacc618261e0b86e92a8e0bef4766c6ec76a40bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e999f374b07fd6b34c23bab655272a48dcdc3b8c1af64967cd6009440398abd6
MD5 7a38e85420c1442d5c0459fec0bb3205
BLAKE2b-256 701bfdde803655e547649f0b6792114290158a6a76f82ac1775ce11538e91481

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5f576ee371e4c3cab0120dc40bbeb41824063bc8d58785bcd6a3c52739f3c4e1
MD5 8ceccbbaeb591148613ce6dbf48c0a6d
BLAKE2b-256 f929871a1c0b7d4c9ddc3046764d575f5152c39637c599948837ad2bc9c364bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2a9296997f727c7fd1de67f16ac295cb7ce67fed0488cca5ea935b77d50efe4
MD5 0cc0a62db3d5676fe1c001eb0be096d1
BLAKE2b-256 9649f4cc6785c920c477620a9e5eb9884907b744723013805021cf4b2aab66e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 70053c2b016bc6e02474eb730b15d1fea064934bc2e90da41f8df60fafee2c21
MD5 1d11c418e2dde0a8dfb6ecfd69ca9250
BLAKE2b-256 35ecde7c78f30b4adac467aa69c560f64d15fbda6c99923247c042865998bc4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4d4c33f7dc5a49e392b58095fcb7cd4e133298a15b5ac0d7087b53c515d2f754
MD5 1f3c0ff44f02c49b8a26f41296982120
BLAKE2b-256 2fad56fcb5ceacd4dfd4907167f85d57493f6147ea500a65fe5f1cd7732def3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.17.2-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.17.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8f41cffa5884f11b9f044cb4c69e89a108281ab42cdef2f6d21160b112e931b1
MD5 6605e0acc1f5e69f8017271421174cfe
BLAKE2b-256 3443a7d7f367c0c61d7ed6cde4abc92983bc1d6079855302e1a6c4b2e7fddad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 de5b34227ddb7244e72d802fd4b93b73dbb492fb16181cd2002283582a60c2ed
MD5 bc7564d7751df4e2c67e7c8663986a7f
BLAKE2b-256 76e1a6f18fd258241a8a5383a00e3333ae2d60853abc2fc5633450cab17a92c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ffc3ba93d0416ee77d34e55e84b301a66e8040e7f590ff2392360c73b1c948bd
MD5 c60acc7a6378baf4b948841455c3790a
BLAKE2b-256 f04ab6d5d8a59656b3f3bade5fad027495372aa603416eb5d759660666c7b26d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 caebdc5ecf4fe695fcb891e41c3ee81aef5bf94fb9ecea49201d1a7859dca110
MD5 583122f5830288cf7b81047afc04fb06
BLAKE2b-256 30e8f0f35d2a19f3579316a3c11db4d37fb28287dae85446079316df264a739c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 554fc7bccdde6a43392c18a58d979dbf251cc9b2ee1a2a8c7c332d05b6dadf4e
MD5 ada29660998af651e1e8e8a02cc77e41
BLAKE2b-256 77b59ed26bd2e3cc9700e27d04c6f3482268b74f580a4e46d169638265ed2b6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2fc6baadd82eabadcc25e4ea28cd5475f676ea5246e2f66f7d172d4e329b4a1c
MD5 56e059a4ed391c1d7c314640167ab9d9
BLAKE2b-256 377863328fb3801b60e32fa155b1afd4e20f07f8ce3e0d89134aa426fef29faa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.17.2-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.17.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2631a23dc95b858b6ca94f49c9890dc86b0efa965e47df9fcf5934c625a2ae0e
MD5 ad3ed9bf8ef37ad60405c778ca6c45a6
BLAKE2b-256 7df12a878c4ea435a8c1432a53b8da655c971e4265238001b0de69448bfc8fd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e09bdceae10f88b7fb9a5858bdcd7b377d09f21eed63375b223ee898da3f4ed
MD5 33f8e3df498efcd6dab22768fde4aee6
BLAKE2b-256 c1b92dbca4d383d4a0d7feca4489d766129af4ff949b66d390cb1a191b35600c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 eef980b01f043e7e34bb2e342663e7372e253a67b9f60830f62f6a2471e61f02
MD5 fe8426beac12f2608c03ba9adc5165fe
BLAKE2b-256 2b0b0413e57d84c54d6abb976ef7b2565db23a5c29b39128aa0acb709c035eef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e29a260bc323fe1ef87a3ee0022caa7543a96a22c6956ecdd7453812a37c619
MD5 a7e1cb0dc8092f4eb54b344dceb6b5aa
BLAKE2b-256 8b3075b9a3dae460f91a148a7f83ebe6feea1981804e7b640cbed7af1cb561e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d1773e965eb0119c6c73d21d398d367cb783bc4db666ce594f77e6ea7e7cc958
MD5 916744b0056d4524dce4b1bc7c6fdd3b
BLAKE2b-256 3e63d35f1970d109e4237dec0d02b79f392d92352e9e03fbea35bede0ec122e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.17.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8fa285628e24dc49577e830568b71182f83b64b770ae9cc85dd9a0898a568561
MD5 73620544706a597b5c0bae8284abbf45
BLAKE2b-256 d63e2efec11961b123d0f03701c28837620c557ff1df7b9617bff729fdf3242b

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

This release

0.17.2 This release

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