Vatify – Official Python SDK
EU VAT validation, rates, and calculation with one API.
- Website: https://vatifytax.app
- Docs: https://vatifytax.app
Install
pip install vatify
Set your API Key
export VATIFY_API_KEY="your_api_key"
Quickstart (sync)
from vatify import Vatify
client = Vatify(api_key="YOUR_API_KEY")
# 1) Validate VAT number
res = client.validate_vat("DE123456789")
print(res.valid, res.country_code, res.name)
# 2) Calculate VAT rate (by country, type, date)
res = client.calculate(amount=100, basis="net", rate_type="reduced", supply_date=str(date.today().isoformat()),
supplier={"country_code": "DE", "vat_number": "DE811907980"},
customer={"country_code": "FR", "vat_number": "FR40303265045"},
supply_type="services", b2x="B2B", category_hint="ACCOMMODATION")
print(res)
# 3) Get rates for a country
rates = client.rates("DE")
print(rates)
client.close()
Quickstart (async)
import asyncio
from vatify import VatifyAsync
async def main():
client = VatifyAsync(api_key="YOUR_API_KEY")
res = await client.validate_vat("DE123456789")
print(res.valid)
await client.aclose()
asyncio.run(main())
Quickstart (cli)
vatify validate DE123456789
vatify rates DE
Error Handling
All API/network issues raise VatifyError with optional status_code and details.
from vatify import Vatify, VatifyError
try:
Vatify(api_key="x").validate_vat("DE123")
except VatifyError as e:
print("Failed:", e, e.status_code)
Contributing
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" # (optional if you add dev deps)
pytest -q
Build and upload
pipx run build
python -m pip install --upgrade build twine
python -m build
twine upload dist/*
Metadata
Release files for vatify 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| vatify-0.1.5.tar.gz | 6.7 kB | Without provenance | Details for vatify-0.1.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| vatify-0.1.5-py3-none-any.whl | Python 3 | none | any | Details for vatify-0.1.5-py3-none-any.whl |
Total release size: 12.7 kB
Release files / vatify-0.1.5.tar.gz
| Download URL | vatify-0.1.5.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9296aca358f2ae4d7736a0cb9a329efa1f93fbd995cf050d2b0055810cbd945
|
|
BLAKE2b-256 checksum How to use checksums |
880fde04aca93e573ab732fd41dbfc5473fe1797ccde5cee9be2cdc052300daf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / vatify-0.1.5-py3-none-any.whl
| Download URL | vatify-0.1.5-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67174ef415377e5cc316c53f614cf0d1d09a1559b153f5cb95f8c535d40c804c
|
|
BLAKE2b-256 checksum How to use checksums |
31fa30da73d709db8d342f55e3e31374bc11d6d5b17e752fb30da0241bd884e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for vatify 0.1.5
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.