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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size colander_tools-0.8.0-py2.py3-none-any.whl (11.2 kB) | File type Wheel | Python version 2.7 | Upload date | Hashes View |
Filename, size colander_tools-0.8.0.tar.gz (6.3 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for colander_tools-0.8.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c637b6097877cd8fa7250fdfcd51548b9cf71a7f39928edbf0b6202b1ce6baf3 |
|
MD5 | 7088bdd9f30ca09ac449cbe2aac7dc79 |
|
BLAKE2-256 | ec65fe40c4f00d88527a2052ffc9ba46a4af1a4e56bf99db7cbb5bbc09094e43 |