Pre-release
This release is a pre-release and may not be stable for production use.
Pydentic
Pydentic is a thin wrapper over python-stdnum to facilitate the use of its extensive collection of validators and formatters in Pydantic models.
pip install pydentic
Features
Automatic validation and formatting.
from pydentic.strings import Iban
from pydantic import BaseModel
class User(BaseModel):
name: str
iban: Iban
user = User(name='John Doe', iban='es1000750080110600658108')
print(user)
#> name='John Doe' iban='ES10 0075 0080 1106 0065 8108'
# note the extra last character
user = User(name='John Doe', iban='es1000750080110600658108Ñ')
# raises
...
pydantic.error_wrappers.ValidationError: 1 validation error for User
iban
es1000750080110600658108Ñ (type=value_error.format; error=invalid literal for int() with base 36: 'Ñ')
Title and description in the JSON Schema.
{
"title": "User",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"iban": {
"title": "IBAN",
"description": "International Bank Account Number",
"type": "string"
}
},
"required": ["user", "iban"]
}
The classes Isan, Isbn, and Issn include a urn property that, not
surprisingly, returns their URN.
from pydentic.strings import Isbn
from pydantic import BaseModel
class Book(BaseModel):
author: str
title: str
isbn: Isbn
book = Book(author='D. Hofstadter', title='GEB', isbn='978-0-465-02656-2')
print(book.isbn.urn)
#> urn:isbn:9780465026562
Identifiers
The list below contains some available international identifiers. There are around 200 more identifiers included (see the python-stdnum docs for the complete list.)
Release files for pydentic 0.0.1.dev3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydentic-0.0.1.dev3.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydentic-0.0.1.dev3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / pydentic-0.0.1.dev3.tar.gz
| Download URL | pydentic-0.0.1.dev3.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c5ee9c260e3cbcdb2a2d725b1d98046cb2b5298e6d6154449a685cf4cca85ec
|
|
BLAKE2b-256 checksum How to use checksums |
f82ef14d8bc4141b680db8e8b175c167c38ff02c67569ac276f461a02f300cdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1
|
Release files / pydentic-0.0.1.dev3-py3-none-any.whl
| Download URL | pydentic-0.0.1.dev3-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b37f690f262e02e781deae8588a411c596489bc2837701fbb5e8c59b31b4236e
|
|
BLAKE2b-256 checksum How to use checksums |
87cc91315af0dd1248fff43ce8e94bb19a7b480962115a632d59bc3f9f85f92c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.1
|