Skip to main content

verinum

High-performance validation and reference data library with a compiled Rust core, exposed to Python via PyO3.

  • Identifier validation — IBAN, BIC, credit card, ISBN, ISSN, ISIN, LEI, EAN, EU VAT numbers
  • Reference data — countries, subdivisions, currencies, languages, VAT rates
  • Check digit algorithms — Luhn, Verhoeff, Damm, ISO 7064
  • Offline-first — all validation and lookup works without network access
  • Zero-allocation hot paths — is_valid() functions are standalone, allocation-free implementations in the Rust core

Installation

pip install verinum

Prebuilt wheels are provided for Linux (manylinux + musllinux, x86_64 and aarch64), macOS (Intel and Apple Silicon), and Windows (x64). On other platforms pip will build from the sdist, which requires a Rust toolchain.

Usage

import verinum

# Validators
verinum.iban.is_valid("GB82 WEST 1234 5698 7654 32")   # True
verinum.vat.validate("DE123456789")
# {'is_valid': True, 'compact': 'DE123456789', 'country': 'DE', ...}

verinum.credit_card.validate("4111111111111111")
# {'is_valid': True, 'brand': 'visa', ...}

# Reference data
verinum.countries.get(alpha2="DE")
verinum.currencies.get(code="EUR")
verinum.vat_rates.get("DE")

# Algorithms
verinum.algorithms.luhn_validate("4111111111111111")

# Client (optional wrapper)
from verinum import Client
v = Client()
v.iban.validate("GB82WEST12345698765432")

Validation semantics

  • is_valid(input) — offline format/checksum validation. Fast path, zero allocations. Standalone implementation, not a wrapper around validate().
  • validate(input) — offline structured validation with normalization, typed error codes, and validator-specific metadata.
  • verify(input) — future live registry validation (scaffolded, raises NotImplementedError in v1).

Supported validators

Validator Format Checksum
IBAN Country + check digits + BBAN Mod 97-10
BIC/SWIFT 8 or 11 alphanumeric Structural
Credit Card 12–19 digits Luhn
ISBN ISBN-10 / ISBN-13 Mod 11 / Mod 10
ISSN 8 digits Mod 11
ISIN 12 alphanumeric Luhn (letter expand)
LEI 20 alphanumeric Mod 97-10
EAN EAN-8 / EAN-13 Weighted checksum
EU VAT 28 country formats Country-specific

Links

License

MIT OR Apache-2.0

Metadata

Release files for verinum 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for verinum 0.2.0
File Size Uploaded
verinum-0.2.0.tar.gz 44.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for verinum 0.2.0
File
verinum-0.2.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
verinum-0.2.0-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
verinum-0.2.0-cp38-abi3-musllinux_1_2_aarch64.whl CPython 3.8 abi3 Linux musl 1.2+ ARM64 Details
verinum-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
verinum-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
verinum-0.2.0-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
verinum-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 2.2 MB

Release files / verinum-0.2.0.tar.gz

Download URL verinum-0.2.0.tar.gz
Size 44.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f156b412dab6144acb831390392ff5622d5145c02582ecb22cceab0eed101c42
BLAKE2b-256 checksum
How to use checksums
f020e36fed050e94719a8663f587f358826a58e01a9265c1f8219baa9460da9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-win_amd64.whl

Download URL verinum-0.2.0-cp38-abi3-win_amd64.whl
Size 143.7 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6850ca7c9e89e8b6daf8d708ad4db77e89d206eaf71da75ef99b1c53532fa1d2
BLAKE2b-256 checksum
How to use checksums
20776218384ff240ee8c9abeb34cbb49e7eaee305dfabb1141dcf1e92da209ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-musllinux_1_2_x86_64.whl

Download URL verinum-0.2.0-cp38-abi3-musllinux_1_2_x86_64.whl
Size 489.8 kB
Tags CPython 3.8 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
b9d0d6f8f6614f8e6a65d1dc072bacb2c256abf1fd34c07f8d89a479504b44bf
BLAKE2b-256 checksum
How to use checksums
ed3b66f7bd542e4b8ca354904eb104122f8fd218f5e6b677fba3f1bf1c91e982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-musllinux_1_2_aarch64.whl

Download URL verinum-0.2.0-cp38-abi3-musllinux_1_2_aarch64.whl
Size 462.3 kB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
d314ed206976e3d2236e388d6b51e64e8372af66073e7bae3df46583931e61e2
BLAKE2b-256 checksum
How to use checksums
36f4c4f8592b8367d1bf6a3c540421a0d71d804edcea3edf608f129aefa6bd89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL verinum-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 282.9 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
4e3aa68e3a0d4c171a959ed3fb4ac6ef31ee0b5c064bf88165bca496542b6ef3
BLAKE2b-256 checksum
How to use checksums
4bba15687a4bd48170308a4145ef7e2486604c344052cd519525d70ddace16f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL verinum-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 286.1 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
27d9b77b48b5aa159945ad13658efc684c09388d9dc75c2ac58cb78b72e25d73
BLAKE2b-256 checksum
How to use checksums
cd7571c1d8dd20bf7429c54b314e8a625d57d7fbf63ec8b31e6c915940adfec4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-macosx_11_0_arm64.whl

Download URL verinum-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
Size 249.3 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dbbc637da47d02307f825c7fe9e11ca686cb20dc4574bbdd30f8e32b656b2f93
BLAKE2b-256 checksum
How to use checksums
954d080b4de541070b34ce448ba1e5222764977bce04793b2bbe572137156657
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release files / verinum-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl

Download URL verinum-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl
Size 250.8 kB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3752e9a8207bef860af371be9fdb2f7baec879f70c916445a3e9110d739e7fc9
BLAKE2b-256 checksum
How to use checksums
acd9010ac32d3be7d28e6e1aee0d2ae57defda107ec9bf7bb62d5ecc640673a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

8 release files

0.1.1

8 release files

0.1.0

8 release 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