Extensions to `colander`, particularly useful as part of REST API validation.
Project description
This package is a set of extensions to colander especially useful when implementing REST APIs.
Strict types
The colander_tools.strict module includes a series of strict types. Those types follow the Postel’s law: they are strict on serialize and loose on deserialize.
Included are:
Integer
Float
Boolean
String
Mapping
Byte types
The colander_tools.bytes module includes types serializing / deserializing encoded binary data.
Included are:
Base16Bytes
Base32Bytes
Base64Bytes
URLSafeBase64Bytes
Open mappings
The colander_tools.mapping module includes two Mapping subclasses that allow and validate arbitrary keys in addition to the values.
Included are:
OpenMapping: a mapping that allows you to specify the type of keys and the type of values separately;
SortedOpenMapping: an extension of OpenMapping that conserve the order of keys by deserializing to collections.OrderedDict.
Network addresses types
The colander_tools.netaddr module includes a series of types that serializes and deserializes network addresses (IP addresses, MAC addresses, etc.), powered by the netaddr package.
Null types
The colander_tools.null module includes a wrapper type that allows None as a value.
Serializable classes
The colander_tools.serializable module includes tools to bind Python classes to their schema.
Schema inheritance / sub-schemas
The colander_tools.subschema module includes tools to build schemas of things that can have different types / classes.
Timezone type
The colander_tools.timezone module includes a type for serializing and deserializing timezone identifiers like Europe/Amsterdam or Asia/Hong_Kong, powered by the pytz package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file colander_tools-0.13.0.tar.gz
.
File metadata
- Download URL: colander_tools-0.13.0.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0eb89f426d207514c31b5d1927e8729f740956552d1bb295844194560da45bf |
|
MD5 | e7dd30f8f0b715b98d7bad1794883bf4 |
|
BLAKE2b-256 | bbbe894cce3d1ee234941e1eb7f853dc935fb30fa1c59631104357630282dba5 |
File details
Details for the file colander_tools-0.13.0-py2.py3-none-any.whl
.
File metadata
- Download URL: colander_tools-0.13.0-py2.py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bf6bae174dae88706c30ebe243f76f3d0f03c799f21debe40c8f660aae54252 |
|
MD5 | 7154e6f9002e416bac57381b480ed350 |
|
BLAKE2b-256 | 58d1834359a8b659416418b2ca659d926a40f19966e108696eaf820bf9ee2e6d |