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

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

Uploaded CPython 3.13Windows x86-64

verlex-0.16.1-cp313-cp313-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.16.1-cp313-cp313-musllinux_1_2_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.16.1-cp313-cp313-macosx_10_13_universal2.whl (3.2 MB view details)

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

verlex-0.16.1-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.16.1-cp312-cp312-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.16.1-cp312-cp312-musllinux_1_2_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.16.1-cp312-cp312-macosx_10_13_universal2.whl (3.2 MB view details)

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

verlex-0.16.1-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.16.1-cp311-cp311-musllinux_1_2_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.16.1-cp311-cp311-musllinux_1_2_aarch64.whl (11.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.16.1-cp311-cp311-macosx_10_9_universal2.whl (3.3 MB view details)

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

verlex-0.16.1-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.16.1-cp310-cp310-musllinux_1_2_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.16.1-cp310-cp310-musllinux_1_2_aarch64.whl (11.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.16.1-cp310-cp310-macosx_10_9_universal2.whl (3.3 MB view details)

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

File details

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

File metadata

  • Download URL: verlex-0.16.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.16.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 42c46145c3cfcc9a5369e864205cc2c70da897856af0f5670d29e21b2c7004fe
MD5 f92d2b3446fde9ae985061b30b53331a
BLAKE2b-256 266de9b2a6a8865c95b69dcfa144fff12934ed36647af27144323067490c7e3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 64e8f44e92df3ff6b9b3dedb7c55dd984ce105b683f1601733286c48e207a3c3
MD5 fecd7258c7ca01a2a082430a4c3e7c98
BLAKE2b-256 cbd311a8f007e324d0547a871f72e8ad66f4174b4a5d36e043348216cfb749bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2b795c7dd4823b9f520871db2e9122cf5d5259698800d0652134b01391ac16dc
MD5 4ba40abd809172f1240ebfc2d9daddbf
BLAKE2b-256 4cd217f8efe939bf474878cc45ba8cab82af725b0e4e2ab32a25eed5a36cb3cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7aedfb5e50d4e4d80fa2b550f13f7f9fc54e55f333edf79e21fbdc38a9aa9d0d
MD5 8784d692d408d713e70f2b58d6e28eb6
BLAKE2b-256 3f5089fa995337dfbc0dec657ee1edb80deca65709b29ce87f2ee876cb0b830a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1475b45023311326ec23c908bd097c50dd127c3001ad704353f9ebd97a53fefe
MD5 5d537f182107de6071c008c1733b9f83
BLAKE2b-256 82f3454123ee748b4eaf7cefcb1304d9da650c17213ff87d626417c693f92fde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d6420c7294b4e0c9d22d6d7056c65c2bc65977a9459009a937dff8bf30942621
MD5 1abf54afdc2c334f239802f8ee64c1e5
BLAKE2b-256 fb7f4823a45bc746d8e340d464fe13a0a1dc87ff0bf3e94f69ee5ff35ed1c13f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.16.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.16.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c78c4e406f541502b9febf3e1141af975bbe230793bc6a495dbfc657b91e6371
MD5 59dc9a14c42453fb51f44695f1272930
BLAKE2b-256 edb6489674c4a3476f95c3712c22dc8dbcc042ec11f5b9cf941a0c6a3b1a91ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9f3f3ee06743b33d2ad0295d257e3d343786d673ed82a9d4374e70ea635f8f5a
MD5 ae57450e55619345ea3943d14f3e7fee
BLAKE2b-256 fdfe91eb538e6a8131e5743cbf815b663ab61d03ee31197cbb7bce93b3416011

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 854d312a9e52b4d9f84682508be270229232e505265cc51fb8facd0302d34739
MD5 6885040e75df3a4bc4499265c36acf8b
BLAKE2b-256 82e0175d4050e0e60694258b899b303a86b0c8dcd9bdf379163ba3a741a990ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8780b4d64e6d031795cf9a66e177145ad6b7dedad0323b7eae95b6dcf4534a20
MD5 1d56d51a31e474179697865f8f20b366
BLAKE2b-256 f6628b2bdfd4fe478950131dfc4050daca2bab926a8f97aebf1b4db3ada26053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba6aa9ad507b16e5af356e8e2ae0e72211cf1d5387e0b39b78885cc399a2442d
MD5 51f8202e0a42c519d64d4d4e3a9185ce
BLAKE2b-256 79abe7e8b52c01ee3065766915a94159395d9473ee2a7d851d024114c8c4e5e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4f08517a6e57c9a10ba167f701aaa8dcfda7137103d0dba98387a791c30aa924
MD5 994c1667f8fe7fe58ca7c7a96b1753b2
BLAKE2b-256 c93888a021f0fc50dfd5806700d96e56b893b128abf2eed63c5f670d1e6f15b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.16.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.16.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 314268bae623d545c5f6cd1642eaf1c9db2937aa80dee13293922028f91e814c
MD5 a3293f19708a05b4d2fb95673500c71e
BLAKE2b-256 cb44798c292a1594fba6a29b913d780010c307a05fa6681210c6114fa1f67e18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19d2806ac6090430c9ed998d1fdb45db762290aa66940d721861430a87aac926
MD5 233b582ed5d17bfe2644fdfe3739388b
BLAKE2b-256 74278627a5ad7c614ba04253a274fc4972b2ef361bfb1f5ef5523f82a0e06125

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aba0c50864d3ccca37c6a40d6d9bd55e5006c65a9eb38381cba214db7cefdeca
MD5 4cb97f45abc59df093e5a0bc6ba91372
BLAKE2b-256 294b92e91ef6e8eb949272d2668828e2f68d56cca3e07deb35676b8a16571060

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b85d8295ba9b6e3ef490ebf49bf647b0f3e8d03d981f351d5e32aad42d53db55
MD5 fd9ac09fdbb051ee6d0e72dc6129ed4a
BLAKE2b-256 fe9e37452aaafe13dea91b69fff3551a2b34a10e13b26dabf6393c2a0c727c14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6bafe1e47563567ea6d1e3a71c0ec09365d51222dd5aa9be2f55b86da054a34a
MD5 787f46f93851efe294749cbf85e924f7
BLAKE2b-256 96283d706563028577dd4b00a2efc0cb39af1d82b6ba79afe1a26af8d414f24d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 71371b7940ef9b050233d40c2a7f308dd485ffac8fade57ff415d82a8629fb14
MD5 ee88d4d01c6da21274b8f0693ae6a8c2
BLAKE2b-256 69b851a6602ed64bc7bd4fd47c8614bbd902d6be5778e9b7c62262e06409e01e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.16.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.16.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c6c92b1b03437c612a135c735586fb253b47e45a85d7314cd0b761455cf41743
MD5 bc6442bc3a763ac8b8d118f5f501ed74
BLAKE2b-256 82bc8213c89482c4f7d794d4258ce13cd970aa44108e34e81cb81bea248d9bf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ed7c364b942f465bdf99e8d0309aad94b299e7a750869595077047cfdf43ca44
MD5 9412559a5afa872ddb6d531d74809688
BLAKE2b-256 34dce29f3418918b13cee71f58cb60f3173b44cc3fd2388234d7700914b56a1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e57fa254100e5bb173aadf3d2c775e1af21eca6379805b8121d5a8d0aa387276
MD5 fcc125afe81499f51c78896bc78e1cc3
BLAKE2b-256 e6be71dee87acf2656a16bcd3236dacc5994dbd91e70a1797e3f11f67247e5e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 803fb930c5ee00a9f4cb605f9d34bdd03cf9b5b2e11e3c23f1d383677ebf101d
MD5 3b20de2bf056f5c42f7c732fea342764
BLAKE2b-256 5902ae9b011cc49c1c30dc9bb20758c72bf443c30baf9b859bb244fed501d019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d47c1e22cb945303111ec5d7cb2c8193d0839f9e17408fa361e649187f37fda2
MD5 d0f68d239795c94886907b91760ca5dc
BLAKE2b-256 ad1f70162a46302653d8a1f9b1abf801c752e7b27ca506148ea2740d117fd08b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.16.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d04f18f9a254e49c04c2917a4ce690e3d26aa1968b772decca014999453eb2b1
MD5 d20cb32bdd6c041a0d0a0b556ab40b5f
BLAKE2b-256 04336a5729684c7fdf64a03ce2c469d3a1d44041a064a34eab6eacb698f6f25a

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

This release

0.16.1 This release

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