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

Uploaded CPython 3.13Windows x86-64

verlex-0.15.0-cp313-cp313-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

verlex-0.15.0-cp313-cp313-musllinux_1_2_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

verlex-0.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.15.0-cp313-cp313-macosx_10_13_universal2.whl (3.1 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

verlex-0.15.0-cp312-cp312-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

verlex-0.15.0-cp312-cp312-musllinux_1_2_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

verlex-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

verlex-0.15.0-cp312-cp312-macosx_10_13_universal2.whl (3.1 MB view details)

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

verlex-0.15.0-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.15.0-cp311-cp311-musllinux_1_2_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

verlex-0.15.0-cp311-cp311-musllinux_1_2_aarch64.whl (11.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

verlex-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

verlex-0.15.0-cp311-cp311-macosx_10_9_universal2.whl (3.1 MB view details)

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

verlex-0.15.0-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

verlex-0.15.0-cp310-cp310-musllinux_1_2_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

verlex-0.15.0-cp310-cp310-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

verlex-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

verlex-0.15.0-cp310-cp310-macosx_10_9_universal2.whl (3.2 MB view details)

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

File details

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

File metadata

  • Download URL: verlex-0.15.0-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/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.15.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cd2f5c8e5686726153ae4a959af4a25863eed603f50fab3c0e772cc8acdf1657
MD5 e55362a35592876d9ba2a187c8baee98
BLAKE2b-256 2dee58c51640780ed1e9a59d85f01d8479ba4e7fdcc07644e80f58375fb738e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12f6dcacae3dfcef272a024281c92b7207afd34bbe80f23eac75f08d57918106
MD5 e5c23ac8d8739cdc76e1021fe7584165
BLAKE2b-256 a96f0a4862a0d2609f7feb325d1e59369cccf17602957660828c34650c17ead7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3b2490ad6f4e05da72707806307d551d9377aff1907968543b647a1b294470e5
MD5 269313a073c9791dd564df6394356f7b
BLAKE2b-256 0f2d4a593ea3856bcbbfa7fcb26324aa837a05e4e3b136c7597843d1ed4b163b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4b4146c6dc8c3db8503f2646e04c803da262dada1690ee9cea11f618c165078
MD5 53b924321f413ecc1b20253931931b8e
BLAKE2b-256 104c0f4ea23cf89c534443c971e8ca4c7e7b3463ca1f9a888aa39e8355007501

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 630322c63dbea2335655911600d17cdd19923618f76da85295e5242a3d1132d0
MD5 929a27a81a1e0f16ec0e843a7dad5966
BLAKE2b-256 1a38fcf99a480f7343d39f2cfd02ad07118a4a5f8d560192a6b6bdbbb7155a9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f5a4a89ea28e94f6cb44341f68b33528d15b29cd5f0d62c993dcdf9818d73522
MD5 7848dba331c35a00b72ca33912e5607f
BLAKE2b-256 4a5d43c9e2a3067341ecee3fd9f27c8ad0cd5019344a02c196432e3d87f48e9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.0-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/6.1.0 CPython/3.13.12

File hashes

Hashes for verlex-0.15.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d1d7010aa34cbb3990d12195959fb1ea0324c92b4c46d6e39ab9dc027c9f7a62
MD5 9a11bf91d00bff8037d939d3e35c9285
BLAKE2b-256 06d74a6565578d1631d0df17ca8f1fa4a3ff5fbf7bea3f29241150c8e9955f64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49f6ca450eb88223cf832bf665f87ab442212985b16b5f360b01e41125abbe4e
MD5 329f979d40b955a499fe9da4e9e4e44c
BLAKE2b-256 459abc3be20a01d0c731d5a96dbcabb5bce8582b10cecbadff5b4ce1d12dfcf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 79536b8371895913c3a22d92fe570c5bd13d0c518d0b6bd05d09b897d965744c
MD5 48b6919f190c04568a952a0c5eb087d8
BLAKE2b-256 099f653cd345c0e459369ce4ee759d98ea7b1e046cd4faa6bb07f77a32972dc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f29a08ed1d51ad61cc5838425f6bd3bf0d56a8be49797d353938531774792bb
MD5 c5af47d26cd4dfe4c9e807ae6b648a4f
BLAKE2b-256 23204065c82cfb57c2ce7e8a49734f4eba2884b260337b55772d969a70b55dfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bf18047cf4a51c50daa8eb288607788a2a65ddcd28966b0c79ac451449d26219
MD5 f95c0ceee3e7d7e1fb99bb303d03742c
BLAKE2b-256 f44e052276df99b769e989f86622931692e06795a7c4560a4c521bda523eb2e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3b5f8e1218d3bdec1fff010e8d869c531d1ffec72d318b932bb533f67b43b454
MD5 1d318ce4034374d7b558ad32407241a1
BLAKE2b-256 a937c6acb1f34eec175f1a5bc8a11e98c83dfb75a2c9965aaccff0fd87c37aea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.15.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 069b41a8fe73fc1d0a185795f840e1f962621eee961cecf2b01829c6b95df8d4
MD5 f639b73a56c445fb1cd24cb6ea8b44ab
BLAKE2b-256 3f3ad11d2b972f0a2fd0072283a221c46e9f6fdfab241f66a6c55e7687e4b619

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c0c0f86c3fea54a4e4f15dcf922e316bc34ad0044119268d66109a31bf9fa26
MD5 57d045e44273716f710148123819bbf8
BLAKE2b-256 5bd506f223503b3de6eec03756c35249a2e81d6c3be0a356e5bb4beb17f3fe4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dcbf9eb223a6eec77a161be012061d0cc8c494b363a217fddc5ebb9377c794a3
MD5 008146df426f1b4dc7997428f757d324
BLAKE2b-256 1afccfbf6b341da530876da8ae990e04962ca107de31de2b4fb7a338807f07c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4be8da94be7ef7a8e35bffa30a1179bda58e56480e786991e79c85d76b9494f
MD5 a6a5f0592128091a6ae45d095af2aec4
BLAKE2b-256 98c5b8502e534f59e3fa61716eb7e32b020556540a7b3c2e8a18c4b50ef5e7ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 36656cefbff47db0fb0551cd5868180a3935e72616765242870b94482909669b
MD5 97b938b14ef08d6924c8b5973395b4dd
BLAKE2b-256 83a43b8f4bc6acc27d559603da53313ade47834352c29cb7ca5a053b6b035008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 20ffa88c16e916962ff3e24694688be85eb0086fddc039b9d71b85935b12f2ab
MD5 12dd70276cf0383a7e3a0a61290cfee0
BLAKE2b-256 b6b6fb6ac3eab7862df8fb13807582c9f49ac348aef6b2108fcf81f93e96365d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.3 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.15.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c8df711a36b45b9e17a85740d4676cfdbae193615c79880fd9f61dd9d98a67b7
MD5 b8900446e29564a50da4cbc458e4d85b
BLAKE2b-256 306988ec6a36215eaa6123a76a9ffb7c1aea196cd8248e6436221d79b62f7e5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d16114ce087bf99b279e977e794ce2c8c0ec1e7d70f521a424ba32e373f1fda8
MD5 2873cd0c7d398d29efcc53663ab27e14
BLAKE2b-256 48554bcac54dbc0aec6b5fd47bdf1c68832a106745e683e492b3b15ae5028937

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4740c43bddc6df5295152163dd6069b235677fb475bf98c66b18aa14e9616666
MD5 ac9ace41b43f5105f4db01e7d695207f
BLAKE2b-256 9f937afb941777419958b0b396f6a4c698947372e0b794984a9b928b60e2fa59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfabaac9293cf9e681c46a63ac82147002e697466919768e9c0726723bdde48f
MD5 3ef72adb473de525d7f5d4ce268c3b92
BLAKE2b-256 a4af86cf285c6905f08e27b047ed7a2d7cbb04f4988e71e4ad77f49a392da8ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17230ddf3a5e1da01f3aec6a4da53f47c1b2d3630665c3f78cddf9e951ed6fb5
MD5 56fa5ae7a2af74456fed9b8ce741072b
BLAKE2b-256 6dd949564544681036f2b625d32c5ee2798e85a361e4c3ebfce49532770d7fde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0fddadb1425111ca8e625dada9f3c1eea2b02b52cc220aafaf2fa43ae0b4ebdc
MD5 1c825129f539c6d60e8e55f94791abac
BLAKE2b-256 105a3a5dfb40024ec81c4dc4741a4526f6537c6b1f6bdbd377be48b3f458322a

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

This release

0.15.0 This release

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