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

Uploaded CPython 3.13Windows x86-64

verlex-0.15.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

verlex-0.15.1-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.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

verlex-0.15.1-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.1-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

verlex-0.15.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

verlex-0.15.1-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.1-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.1-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.1-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

verlex-0.15.1-cp311-cp311-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.15.1-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.1-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.1-cp311-cp311-macosx_10_9_universal2.whl (3.2 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

verlex-0.15.1-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.1-cp310-cp310-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.15.1-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.1-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.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

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

File hashes

Hashes for verlex-0.15.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8321640b26c5a971f3491a986dc9c5482e7348112423cb4d10855c0dd0b4ad7e
MD5 11279e5cc50d98e8584a8a127fffd15f
BLAKE2b-256 17e5ce48de062e77423d5b0b8666c97c4e991b1b22a16eedb91b6aa526c4c8a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a866f942b4c90c972e2b5e7d2ab09372eccfa8e97edb51889bda3da87eac871b
MD5 14a71a1462dc39e7da1fe03086f58d99
BLAKE2b-256 2d038a7de83518c80f14eca1425dae3522ee04c285d27087834bf916f44be5bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 46e3f9a585d21c94caaddc112bd1b0813930e4e35c32455b631a3d111d637760
MD5 659a4f3979a19641e2801c3ac9ccb5c3
BLAKE2b-256 5273b715be0dd7171a939a930d04e7f2c1a8617b0d34a79fb7c543f023c4da5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e6220827d9950c0dd5092d566a93179ddee8c202a9a29f82c35767067748bb5
MD5 9c9d4ba5cfda49e479b54d77b31cd0f8
BLAKE2b-256 48e8172c2c3d0181a1fa493b5634543867b1e63479135ccf04e4a0053fafbea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 46b4feeaba2fe38dee5c962d37b728be86a6c804fb2d87331d4b22a05426c13d
MD5 a6098bfbcdd11e74fd2d77b76712f127
BLAKE2b-256 e8e4bfe255cb67e11041fabc13e007c5782807cd2444e913a55ce6c360c2ae65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a091dad4d5f1ceefeff9df9649f57bd917f3b16ff622ba8ca43d4d307c2eab8a
MD5 60d69cd7ecb34fd6731e4926fa06d944
BLAKE2b-256 4ee0ad2cc2662ccce221e53f4ad2f3b35d4fd32856e4a80d98e7326231aeadd7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for verlex-0.15.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4fa59483a1e93a0e7c9b5c601c21019cabc5504778dacdc2acefb81190d998aa
MD5 58f305a9b58d9dd66edb2b74a3d15425
BLAKE2b-256 ba58ce8777a045fba30093104776f737f9c6d88f6e918d0fc01fa060ac6d6ffe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 db2351765b4e5c68eaf98fa80ab074a69cb4bb835141b0ae91394b53ef92bab8
MD5 7a1df8d416f2a9844aa12598d8a9d0f9
BLAKE2b-256 e8d77984df5e303becddaf109af9f5f6fb4211aed66a8862fcaa3419438e1579

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e130c17e4754e120b4f9592cedb11c5fecee7fa096c49326e6a427bd861b21be
MD5 617dc1d578fd85efff149584c5e61a01
BLAKE2b-256 4c0f03754e4f9b8c141e72ddbb1660e25cd72459e6d209aab450658cd3bf85e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ee5cf0006400c058ed218878937f8f963b69f7ec5a739e1d1bc171520dc6f44
MD5 19bcf0b8829b9d4af03d2557e13f70d5
BLAKE2b-256 a9c2cf019ef82d4cbdc553ffb26a9f9ae8d077e5c58d1dd529850baff29b98f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7126cdf1881266c0b25a04049d19a2b7bbd23bd7c49051cad8bdf387e3e12622
MD5 301f52de5ea02f3d16f1ed4274f9f647
BLAKE2b-256 fc8f0abd8d3294872e2b114b266aaaa77e2292bb546d040c5869f01749669148

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7571ec76459e39dfca92389b3bcc9ec4b6ad025b31db833179117afe6beca211
MD5 55eb57cc8917e153a3dbdfa7d3f26c86
BLAKE2b-256 7c72c87781aed7619a073daac591c6c4ff386db7609b41a8eeb5db9979b40015

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d5bb0695bd250be8fbf162e02fec2152bafc8a554091af63893d4c58b9e2a554
MD5 b01920cbd7fce4e437486585861d1375
BLAKE2b-256 3620c4189aba8767eb0cb31e0165eaf0d9d251fb4382e11142cf0277572bb94f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 20eb0fc6b656a3d08e4413f40b39c6f1225298f97847c8b64694daab537d1bb9
MD5 8da3203a87b715c83fedcd1681247065
BLAKE2b-256 67d1694c6c1b1de8293e564ceab54c9a32cade56db7659d49f03ea7248045ba2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9869840503b7409a342840a555d7b606f072eea1018204f1ab39886410e2c31b
MD5 295401d97c6a8f7718a8b263e3d1b5b6
BLAKE2b-256 738e5a6dbb585ae189b6264b9cfb3e430e1ae14bb6d6844ffcd8ffeb51056e6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21b52a592b8a04f4659c8d1ee94592df1870c7b3a90afc6b7eeff473d11790cd
MD5 8ed6a968c43a03393347779871c9f16e
BLAKE2b-256 1c2238c0aeb3ba20eed37ebbfa8aa1b48c14517d7ac269a5b7c726eb5fe11302

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 255217aaca28fb1658c862af655d3c145fc185d73d4cee5e016878e4a0196955
MD5 8bdf426c43ae072866b3c3a22443c2a1
BLAKE2b-256 7f9a37e73296e8b35cde2cfb578eca7c7a68f056fd3371c3975c533b1661cdb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 178ffa31996df9cb879fc4927a6d2fa748a41cc44791c2e15b8ea91d0d22fa67
MD5 9afb77fffade6d32e030395c0c357128
BLAKE2b-256 aca2098572a67827a7494609daacc81552f8e61aa0ec26d4cf0c1f495a340168

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 31111b47b0202713431f5dea53bf9a102aff57beec03e1ec56c5e358a9a6a7df
MD5 8223f797d8d90b93abf64457412d5398
BLAKE2b-256 e36144811a20751851afb213d15bbadb0da48d223fe757385634344ec7a18291

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2830df365f45e2e9d4ad08f423393c14ee32e75ef72c2c0fd4ed17bc6e4ee610
MD5 e9bb2433f83286d9d0792394b9119532
BLAKE2b-256 cdfc84fc955c3417b24d172612c013714c2a0978d325f0bfa321177e27f0b160

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c14dd7a2dcbf4bd3cf46d5bb480c9a8cb014ddbd17baf341beb5903c2e645fbe
MD5 92f5b1154c29a43f0fc5f7fecf6f9698
BLAKE2b-256 22a3434ae2a06c7d191b63c2a642b7366e8754765dac066150691732e8712d2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c5c0e6a0fcd8f3ab3ec913a33e34234118d7a6af8fc3069003af5fd18fb1549
MD5 90b2bca94c971d11b812d1c3def563d8
BLAKE2b-256 f094cdfc14313ebf1c6c6f7c5d4e5fa493ae3f525cdbbb0fd375f420a7534752

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 77fdc81788f7bb9d034bb729f3fb16b336fec2d1f4bb6d9c106bdb8505467144
MD5 0d33c6a1211cad05fa17cd28feff4c9a
BLAKE2b-256 f4bb7fdd6c3e922f9fabee5432c3848f8a235824d7dd1c24df1d419c385ebec2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 037f37d365ff547e8e02e0e3e99f947cb5704f234350b8801b09233950d42135
MD5 7a2b3907462d9757e0d9dfc8092eca59
BLAKE2b-256 4bb607ccfea2cac29b589ff88b720ba5591a9ebdd820dde0e7eeea2c7a4c4275

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

This release

0.15.1 This release

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