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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11Windows x86-64

verlex-0.15.2-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.2-cp311-cp311-musllinux_1_2_aarch64.whl (11.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

verlex-0.15.2-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.2-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.2-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.2-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

verlex-0.15.2-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.2-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.2-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.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: verlex-0.15.2-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.14

File hashes

Hashes for verlex-0.15.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7ebba588c862e71ac93d619f9d2b9a1152af1d6a310be5e8401e396a363bd9c4
MD5 9baa06b354cfb3a7e1a2afb862b29126
BLAKE2b-256 44e64331384514438da1fc569bf35472eddacfb5c7e8e0339b1b0a619014a12c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05e1de174215616d3f2d7ed10b1eb5b519d05a98d565fd7b3885e9a364fbfa7d
MD5 0b6b6e4df2f8a1e69c374c5b8a86b047
BLAKE2b-256 944f8730741921b399ee9e889f9ba14fa43f9b88ddbd795066209cf768955bbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fca1be492c98fef8de4a77fba911e26e0bfe6e49c759a6a6f94aae23970ca533
MD5 afc094699f18f656c42c1e74dd6a1414
BLAKE2b-256 9b05c520a4966c2a7130e13bf7887d53be2c869d68852ba924c3eb4aa2e849f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1858dad63bc92ddaba9711f33ae6da67033ad5a6c3e2fe41dba87a12868bc85
MD5 de59808948bf040b3e372560306f637a
BLAKE2b-256 ee6f1489569de45e26c36967d99c3463bb616bc682332ac35c9994784f0b56f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60cd14ef1f31b58bb22433907051d9c438a933e00a7b44a85717c34e1194a952
MD5 028cbe53be64ef3393932f6428cadb88
BLAKE2b-256 23ed091aeee681a8e13eea8b652a8e30aa8984a139be15f2e9fbf4b134fc4426

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 494ea9a6c6229d0bd58b34d37cd983106e21b3ad328656e57ee2b6462d1ee799
MD5 75af385fc48e2d3416420161e3951d56
BLAKE2b-256 f529be8696aa01cc6d88fcd4049d80e72fd878f0b01291577492d7c02262e652

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.2-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.14

File hashes

Hashes for verlex-0.15.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 da35395ef2cb78d255b4db25d8528a534bd5d6e2181011cd4f9716ea21399005
MD5 987d6d0c4e41ec7dea382d9fd9bb1104
BLAKE2b-256 649f0c1a4a40b3bf6c4bb18a33b54d105e8ce519856d10676369b8afaf3baba4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fb8c26384c0b3f94473bd25680f8856995ee5d152cc52a30e42cf11a8f2966b
MD5 3db88ccb974f0ce16b7aea1833bf5d1a
BLAKE2b-256 aa4aa24480ecbcfb70bd5bae30e9f61f338419d7e190e675de036523ad98f6f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d59d5bfb6b040383c33a3c2778c5f02bb10ee2aaed7d9d353b6460e2b902b9f
MD5 038b458f20d6dd4105e865dcb01c61e2
BLAKE2b-256 4b6e487d4099d90cbd1a4213463a9f0bbd0c2910e06f2aca5fd8777cae5e2d5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48d9450e44b40d2559c9bd94e77ce4d27131258282b3d6595f8cb603ef49cbb5
MD5 48b865b89ff40b7dfd057fc5a5479f12
BLAKE2b-256 3756aad079ff4cb5bbac87da30daad901a781ff82763dd346b04359c956fa472

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bb7a11a72f5de6e0202b6479f9bb7fa7484270d0790605e48653873a0e9aba54
MD5 29a135692bafdaf43f47f88cf7d51c4c
BLAKE2b-256 7e6b74c8c3caa5297e9af6cc5eb1e4d0c298fd4d2b8ffb465e69370a3435f92e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 152685f3c9fac087428880c2801a8e84ac6b2c62f765aaa0927cde7c5f92d4ac
MD5 1702c9be02571409b791533cf8607aea
BLAKE2b-256 12d1c46df28b990bf369b966e8825fc5d4757657e1cfd8ecc37f7a87b3e2e254

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.2-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.14

File hashes

Hashes for verlex-0.15.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8a1f1c6991399f3efbabdd82c699ff375650a731852181945098daeb455b99cc
MD5 5f5c4f26dfe06665ac35c944702fcc58
BLAKE2b-256 30fe72d14473853bc9454eadacea60acf2fa1c02a2a93457c9d489d59c285b96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bab03595df721c517a0fb6e6af0080413a08cb9b1ca65a44f5570cc8adbc7eb1
MD5 f6910c7f97c13a3719c70f6b5205db69
BLAKE2b-256 a1a3222d8d400aaa33eec76e9337965b24e8a57095f82c9ba4c43ec1e6cc48f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d8919ca976c9a5981d8d0e411f5edc452d4fd817f419883a7a474a9d5ac94dac
MD5 365bc652a0c04aa0e486d25176d1e240
BLAKE2b-256 87469ca5f1b560858408e802854cb4549279fc4c066a57bf6782544b6334598f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98ee5aa4072914356aece7ee6e6b76068f61eedbd027bff9c40a53918ad73be5
MD5 096f04c9ffb02d92640166245217fe7d
BLAKE2b-256 b4f881640c26a9d1fc8e6196f8967e1082eea663d9c34bb218bc5433c07cbd17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4a341bc64e08a459661e0e1356758cdc59a9b0e29049635a8bdce07d7ad601f
MD5 109836203b88b0e7456017461d3d56dc
BLAKE2b-256 36152050081a5d77e367d85360808e654e6a24299055cdd821e1cca9a5c7c58a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 60c083f65e53dd6f7775ae65c32623e62027f2d57bed60b7bd907f6ebce46cf3
MD5 b6d536783728491b407fe66c68241f65
BLAKE2b-256 510d4e0aa41d9bc129809ac49ea93be27135e99a12f3ae2ae3122ac91887f271

See more details on using hashes here.

File details

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

File metadata

  • Download URL: verlex-0.15.2-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.14

File hashes

Hashes for verlex-0.15.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 61a2212db519917b140e46add25add6d2a611cf8ce211db3ceaf7f1573dbec4f
MD5 810d74a8ce659f215b9ab40aa9c22e4a
BLAKE2b-256 edb57732598208d44857a288cb192e8dbf49983e5ee0c956ab9730db7c441bfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ce28a07d346fb26be0110aa9f8b916c3823fc2e67b3f809bcca8fa8a61e366b1
MD5 826e8a68b75e4c0ae43dc9d5c722715e
BLAKE2b-256 1818f8969d8539ebe1b2ff8d0814199bce227049c45ba1ba2b7c76ddee68eebc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 44a6a0b8e18625d8329a34781c502207a013502ff293ac05893dae2def35d7ab
MD5 a7295a180c94543ddcca9f59200abfe2
BLAKE2b-256 09ee4738ef427380b4015f4413a27cbddd1970349c96032b0882f31bf404be41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea40181ac4884598beb66ea2564accd1d0adcb6a2b2acfa3a1f8d7e4311829a0
MD5 8a07f84eb81009c4e68cff445063204d
BLAKE2b-256 b24535a0536b854a572dabb1c4372c304a70d5f462492a728a523ceb447858cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 21235cb474dc267504bdd963dcbf8d476261d2f626f9630b04cc33f56a7b1e28
MD5 7de809a278f31552d7cd6e0ea5a3b01b
BLAKE2b-256 bf368d7c4bb3c283a1b0f1a8bbb579ccb900389cbdde3c325d96fd675d00cce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for verlex-0.15.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 92326821f4229b794eeede2e43e2e8bd1012c658eb4129a6c40356527cec6c6b
MD5 bec601ce56ffd23ccb49f7e9c28c167e
BLAKE2b-256 154e030b62a74cb2bd0f9fe27047c2164c097c1379e7ec3bf8ea836b9c75c8f5

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

This release

0.15.2 This release

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