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 11 VM clouds, and runs it on the cheapest one. If a provider fails or stocks out, the job restarts on the next cheapest, automatically. Four additional serverless lanes handle eligible short jobs. No hardware picking or cloud-account setup.
The provider's GPU price passes through at cost. Verlex adds a fixed service fee per GPU-hour, prorated per second. That is the whole model: no percentage markup, no hidden margin.
Installation
pip install verlex
Requires Python 3.10, 3.11, 3.12, or 3.13. Grab your API key from the dashboard.
Quick Start
import verlex
# Define your function
def train_model():
import torch
model = torch.nn.Linear(100, 10)
# Your training code here...
return {"accuracy": 0.95}
# Run it on a cloud GPU - that's it!
result = verlex.cloud(train_model, gpu="A100", api_key="gw_your_key")
print(result)
Basic Usage
Pass your API key
Every function accepts api_key directly, no context manager needed. Set VERLEX_API_KEY in your environment to omit it entirely.
import verlex
result = verlex.cloud(my_function, api_key="gw_your_key")
Passing inputs
args= holds your function's inputs and kwargs= its keyword arguments. Every other keyword configures the job and never reaches your function, so a function parameter called timeout or memory can never be mistaken for a job option.
# No inputs
verlex.cloud(train_model)
# Positional inputs
verlex.cloud(square, args=[5])
verlex.cloud(train, args=[dataset, epochs])
# Keyword arguments for your function
verlex.cloud(train, args=[dataset], kwargs={"epochs": 5})
# One input that is itself a list
verlex.cloud(total, args=[[1, 2, 3]])
Inputs are checked against your function's signature before anything is uploaded or billed. The older form verlex.cloud(train, [dataset]) still works when unambiguous and warns with the exact rewrite. Each run prints its job id at submit and a summary line at the end; verlex.last_job() returns the job id, status, cost, provider, GPU, duration and downloaded outputs.
Specifying resources
Every hardware field is optional, and only the fields you set are pinned. Whatever you leave out is sized from your code and chosen for cost and availability. Asking for a GPU and nothing else is the normal case.
def fit(data):
...
# One GPU pinned; cpu, memory and provider are chosen for you
result = verlex.cloud(fit, args=[data], gpu="A100")
# Pin more when you need it; each field is independent
result = verlex.cloud(fit, args=[data], gpu="H100", gpu_count=8)
result = verlex.cloud(fit, args=[data], cpu=4, memory="16 GB")
gpu= takes one GPU name; leave it unset and Verlex picks one for you. gpu_count above 1 puts that many GPUs (up to 8) on one machine and needs the Performance plan; your code uses them itself, for example with torch.nn.DataParallel.
Values are checked in your process, before anything is provisioned: a misspelled option answers did you mean gpu=?, and gpu="64 GB" tells you it belongs in memory=.
The full set of job options:
result = verlex.cloud(
fit,
args=[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)
spot=True, # interruptible capacity
timeout=7200, # total seconds from submit to result
pip_packages=["numpy==1.26.4"], # extra packages, always installed
python_version="3.11", # match your local Python
)
Every option, default and environment variable is listed in the configuration reference.
Execution Modes
One flag controls your price-speed tradeoff.
| Mode | Flag | Behavior |
|---|---|---|
| Performance | fast=True |
Fastest start, at a higher per-GPU-hour fee. Best for time-sensitive workloads. |
| Standard | fast=False (default) |
Picks the cheapest qualified machine. Best for batch jobs and cost-sensitive work. |
# Performance mode, fastest start
result = verlex.cloud(my_function, api_key="gw_your_key", fast=True)
# Standard mode (default), 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. Both modes share one queue; Performance speeds up machine selection and launch, not queue position. verlex.estimate_cost(..., fast=True) prices it before you run.
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 for 30 minutes, or it finishes. The optional
timeoutargument is the total time from submit to result, including queueing and provisioning; when it passes, the SDK cancels the job.
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 11 VM clouds (AWS, GCP, Azure, Verda, RunPod, Vast.ai, JarvisLabs, Hyperstack, TensorDock, Lyceum, Lambda Labs) plus four serverless container lanes (Beam, Northflank, Novita, Cerebrium), and routed to the cheapest machine that fits. Capacity and maintenance state change, so GET https://api.verlex.dev/v1/providers is the live source of truth.
import verlex
# Default: priced across 11 VM clouds, routed to the cheapest machine that fits
result = verlex.cloud(train_model, gpu="A100", api_key="gw_your_key")
# Provider list: cost comparison and failover stay inside your subset
result = verlex.cloud(
train_model,
gpu="A100",
provider=["runpod", "gcp", "verda"],
api_key="gw_your_key",
)
# Hard pin: one provider, no cross-provider failover if it is out of stock
result = verlex.cloud(train_model, gpu="A100", provider="aws", api_key="gw_your_key")
- Automatic failover. If a launch fails or a region is out of stock, Verlex fails over: nearby regions first, then other providers, then substitute GPUs, always cheapest first. Your job does not fail because one cloud ran out of capacity.
- Pinning. A single provider pins hard with no failover. Prefer a provider list, which keeps cost comparison and failover inside your chosen subset.
- Serverless. Small jobs route to serverless container lanes (billed per second) when that is cheaper than a VM. This happens automatically; nothing to configure.
Files & Workspace Sync
Send local files up to the VM before your job runs and bring generated files back when it finishes. Pass a Workspace to any cloud call. Auto mode mirrors your project root (respecting .gitignore) and returns whatever your code creates or changes; or list explicit Upload and Output specs for full control.
import verlex
from verlex import Workspace
def train():
from pathlib import Path
Path("runs").mkdir(exist_ok=True)
Path("runs/loss.json").write_text('{"loss": 0.42}')
Path("model.pt").write_text("weights")
return {"status": "done"}
# Auto mode mirrors your project root up to the VM, then returns
# new and changed files to the same paths locally
result = verlex.cloud(train, workspace=Workspace(), gpu="A100", api_key="gw_your_key")
# ./runs/loss.json and ./model.pt now exist locally
Your function runs inside the synced workspace, so relative paths like open("data/train.csv") work unchanged. Import Workspace, Upload, and Output from the top-level verlex package.
Dependencies
Verlex scans your function's source, pins the versions of imported packages installed locally, and bundles local .py modules automatically. When you need certainty, pass pip_packages: those packages are authoritative, always installed, and a failed install fails the job loudly instead of continuing silently.
result = verlex.cloud(
train,
api_key="gw_your_key",
pip_packages=["torch==2.3.1", "numpy==1.26.4"],
python_version="3.11", # 3.10, 3.11, 3.12, or 3.13
)
Pre-warming
Kill the cold start before it happens. verlex.prewarm(fn) analyzes your function, boots the right hardware, and hands you back a handle once the machine is ready. Calling the handle runs your function with no provisioning wait, and the machine stays attached between calls, so every call is warm.
import verlex
def train(batch):
import torch
...
wf = verlex.prewarm(train, gpu="A100", api_key="gw_your_key") # A100 starts booting NOW
data = load_and_clean() # local preprocessing runs meanwhile
result = wf(data) # runs train(data) on the warm machine
more = wf(other_data) # still warm, the VM stays attached
wf.release() # or use `with verlex.prewarm(train, gpu="A100") as wf:`
Automatic Cloud Offloading (experimental)
This API is experimental. 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]'.
Interactive Sessions
verlex.session() keeps one VM and model process warm across turns. The
handler loads once, replies stream token by token, and the machine stops when
the context exits or the idle timeout expires.
import verlex
from verlex import serve_loop
def serve():
model = load_model()
def reply(prompt, history):
return model.stream(prompt)
serve_loop(reply)
with verlex.session(serve, gpu="T4") as session:
for token in session.send("Explain gradient checkpointing"):
print(token, end="", flush=True)
This API is experimental. Use verlex chat for the equivalent CLI workflow.
AI Assistants (MCP)
Install verlex[mcp] and run verlex mcp serve to connect an MCP-compatible
assistant. The connector supports jobs and logs, live pricing and billing,
held GPU nodes, file transfer, output artifacts, inference endpoints, and
opt-in team tools. See
the MCP guide
for client configuration and safety limits.
Inference Endpoints
Deploy a Hugging Face model or a prior Verlex job output as an always-on
endpoint from Python, the CLI (verlex deploy create MODEL), MCP or the
dashboard. Decoder language models expose an OpenAI-compatible API; other
supported tasks expose /predict and a self-describing /schema. Endpoints are
billed per GPU-second until stopped, not per token, so set idle_timeout or
call stop().
import verlex
endpoint = verlex.deploy("Qwen/Qwen2.5-0.5B-Instruct", idle_timeout=1800)
reply = endpoint.chat("Hello!")
print(reply["choices"][0]["message"]["content"])
endpoint.stop()
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 (its path is in the GATEWAY_CHECKPOINT_DIR environment variable on the machine) 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"). Verlex finds the cheapest available instance across all 11 VM clouds. Common catalog types include T4, L4, A10, V100, A100, L40, L40S, H100, H200, and B200; additional types appear as providers expose stock. If you don't specify a GPU, Verlex auto-detects your code's needs and picks the best option. GET https://api.verlex.dev/v1/hardware/gpu-types returns the currently schedulable public catalog.
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
The key is looked up in this order: api_key=, verlex.auth(), VERLEX_API_KEY, GATEWAY_API_KEY, then the key saved by verlex login.
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 import (
VerlexError, # Base class for all Verlex errors
ConfigurationError, # Bad input or option (also a ValueError), raised before submit
AuthenticationError, # Missing, invalid, frozen or paused credentials
InsufficientCreditsError, # Not enough credits, or no payment method
PlanUpgradeRequiredError, # Feature needs the Performance plan
GPUUnavailableError, # Pinned hardware has no capacity (alternatives are printed)
ProviderMaintenanceError, # Pinned provider is under maintenance
JobFailedError, # Your code or the platform failed the job
JobCancelledError, # The job was cancelled elsewhere
JobTimeoutError, # Your timeout passed
OutputDownloadError, # A required output could not be downloaded
SerializationError, # Function or result could not be (de)serialized
NetworkError, # Connection to Verlex API failed
RateLimitError, # Too many requests
)
An exception raised by your function keeps its type:
try:
verlex.cloud(train, args=[data])
except ValueError as e: # a ValueError raised on the machine
print(e.remote_type, e.job_id)
Every error, its cause and its fix are listed in the errors guide.
Links
- Website: verlex.dev
- Documentation: verlex.dev/docs
Contact
- Support: support@verlex.dev
- Sales: sales@verlex.dev
- General: contact@verlex.dev
License
Apache 2.0
Metadata
Release files for verlex 0.23.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 244.4 MB
Release files / verlex-0.23.0-cp313-cp313-win_amd64.whl
| Download URL | verlex-0.23.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ef684ba1f4da38c62dc9b3bed6f118c00be89954fad0e42360af962a8881e903
|
|
BLAKE2b-256 checksum How to use checksums |
58879a6e89e58f0f3eeebd0fbebb7cc5d392d3c09d703ba6a59f4e6b64f62eb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | verlex-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ea22e31f9c400773747e80aa9cca4942f320bf0f09054f293cc3dccfe24aa456
|
|
BLAKE2b-256 checksum How to use checksums |
132aedbefc72f9031088c1f3340288cfef8c9e92766cfc86132cae977ea44ed1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | verlex-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
234db90863261ba33a38ee60932e36eab9c2fab7e02d05dd0770f39f51c5d71f
|
|
BLAKE2b-256 checksum How to use checksums |
05614eb9138e6d14d16ba15789ba8a2f59d141338e7254ead641c7368b6adff5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | verlex-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e9f067178b60f8cc762a578259449612eb4fe54f7662da121e4ad49263a50a78
|
|
BLAKE2b-256 checksum How to use checksums |
e35ad57badb8f1035562be5c4e8cf42b16c8a8823183983714bca8975baf75bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | verlex-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 13.3 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
829c96dc62309f539d5b3456e7866db942a37c9959ef33d3d8175db9b0b7d339
|
|
BLAKE2b-256 checksum How to use checksums |
32b4e8ab6751b333a9abd1d5a565053f4cb465799a31a9aaf03118054fa71a8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | verlex-0.23.0-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
bde74bec57c7947e816e8cb92e0e4c13a05c315bd9d9a0bd19ffcfd3b8edfe57
|
|
BLAKE2b-256 checksum How to use checksums |
e529a4163658e1df6384bd3d9a5a5797351da6b37f1c6ee48195bc1cb326f961
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-win_amd64.whl
| Download URL | verlex-0.23.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a6b71482ae3f1bb670b15475c650450d03bd754f298febc28c81c98b7bf51cdd
|
|
BLAKE2b-256 checksum How to use checksums |
49a17fc353dc90235e512583e5ae26f53dbf36b8b0c99ec0c88b264441ee98d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | verlex-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff4cd66d9052a3c5b5b0e4071ed9c369d344acae493841a0eef444ee01fadf68
|
|
BLAKE2b-256 checksum How to use checksums |
67edcc8358a5a25b32dda553276f1655697f8d7a491290474cfa286574630d2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | verlex-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
21a318c49f348ed18d0992e1af184a34207a6bc2bebd3ff0350cddcfc4576711
|
|
BLAKE2b-256 checksum How to use checksums |
711e27cefee7843f949e09f0be5cadef9eac4887ccb870d4b72bdf70a5b99af3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | verlex-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c07f00ea6236dae2305922d27af384a237ace2d888e29f612370f505a293c1ec
|
|
BLAKE2b-256 checksum How to use checksums |
d7245e73b23f1e13cf0492c48ee92bf057a89117ed527cfacee7c6ec4d6d3855
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | verlex-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 13.4 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
8423fca4ae062f3ddd9e8b6ca4f19e6538ba4572b079d333e3eb55558e739d5f
|
|
BLAKE2b-256 checksum How to use checksums |
caa4889246c443492e41286f5d9024f3690d7f4df874eb310c3cd133ea711e25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | verlex-0.23.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
9844de890445aa3292c7992533ac1be4b2d3936252038ccb28877f71aa2c9f18
|
|
BLAKE2b-256 checksum How to use checksums |
3950fe54ebe5494e4460b20c7ef3fd19feb5d9c16ec39ee65996b5a366ea1d6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-win_amd64.whl
| Download URL | verlex-0.23.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
543b45f585767ccf95d955b9a7d35e93a30cff4c74f9af316b7c0df3b6c7b05b
|
|
BLAKE2b-256 checksum How to use checksums |
d813092bddfb4cf62d12b5aa46881763f78fddd2b7eab7cc43e9956ccdd40972
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | verlex-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 15.0 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3cec4319399149602e3735163034c00881da9e3a5cc887c04fa1ebf5fc40ba68
|
|
BLAKE2b-256 checksum How to use checksums |
15dd5fd2f700ffa81081d3d25ae9fe1215f0e83807f3f2809579b5e107057c1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | verlex-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 14.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
87803cf148ab66399573bed59c9b1b3cad9be34df1333093f58d724b1ff92af5
|
|
BLAKE2b-256 checksum How to use checksums |
7f2add7e81334bc759c84c3f124f5949a174d4fb615d580497482c77ab281b64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | verlex-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 14.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
13488006af6f0ab03129e1e860a65d6457f5a09ad5c035ea07982f303ba40b10
|
|
BLAKE2b-256 checksum How to use checksums |
ba08660fb953d5bbfa0ec9329d36e5e8144329c6aa6e0407034c5f1b355ff069
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | verlex-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.5 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7f2df726ac9576ed6a7f981f45b089eef0406a7e8988bac3201a4df6ec8a8a65
|
|
BLAKE2b-256 checksum How to use checksums |
f13ad943f66242ac70d6f108e1de2a4d3f3ca06a6167b7bb57ec5a5fd21b4458
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | verlex-0.23.0-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
d5559d6dfe82c23b6ea0778954fa93716eb3e13753935af45eab94dfa6d00cc2
|
|
BLAKE2b-256 checksum How to use checksums |
2d607ff138c57b0575915fd4311ab4681ef0d91ec424bcab793b47f4b96a523b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-win_amd64.whl
| Download URL | verlex-0.23.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
df7783978e0bfe6cf06cf441ba06a8763a8a9cefd27fa1e6cc6885540df1c366
|
|
BLAKE2b-256 checksum How to use checksums |
cd37c63bd658acc46ee0ed11ac664329516a2495ae853a3ef11efa87fc30f118
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | verlex-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 14.3 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f81762046828ddea9039152f4239135cb0a298b7b6686c311833f8821e96993d
|
|
BLAKE2b-256 checksum How to use checksums |
f83ac14bfc8b1e1142dc051214559df7a97e55411d652cb4b7a09d7cc639e748
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | verlex-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
a7467685b36cfd691f3531fc427cfcb3108f51a5d18701b90d6118faa5f2ae53
|
|
BLAKE2b-256 checksum How to use checksums |
cfcdbae2a8a4dbeff10be9bc0069776c40235e45a25787add0aee6968d55923a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | verlex-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 13.9 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
775abf02330e40c934580bbf29aaf7635a07415dd49b5a64d978e6e567b8dc02
|
|
BLAKE2b-256 checksum How to use checksums |
dd18c7838700cb24135ebaa65648002746dc125cea97d989e30c56cf5875c9de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | verlex-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 13.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
29f1ce8fd5d2c5aa613f45d8fe829efc785986583020aedc145c4e7f76aad645
|
|
BLAKE2b-256 checksum How to use checksums |
f6bb22b87f4b6c824cff63b4f67bfa3a383d0a93c592b507e4e5df0c50700f47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / verlex-0.23.0-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | verlex-0.23.0-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
4516c2578ac1a6f1a4d854eed8dff3294c9a3f13fe50cf458665918d68f9a863
|
|
BLAKE2b-256 checksum How to use checksums |
aca9eaa25bf1d530d827cdb0badaa9d44331c239e5e99bd7ce86e8b2bccaca74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|