Skip to main content

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.

Source Distribution

colander_tools-0.13.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

colander_tools-0.13.0-py2.py3-none-any.whl (11.9 kB view details)

Uploaded Python 2 Python 3

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

Hashes for colander_tools-0.13.0.tar.gz
Algorithm Hash digest
SHA256 f0eb89f426d207514c31b5d1927e8729f740956552d1bb295844194560da45bf
MD5 e7dd30f8f0b715b98d7bad1794883bf4
BLAKE2b-256 bbbe894cce3d1ee234941e1eb7f853dc935fb30fa1c59631104357630282dba5

See more details on using hashes here.

File details

Details for the file colander_tools-0.13.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for colander_tools-0.13.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5bf6bae174dae88706c30ebe243f76f3d0f03c799f21debe40c8f660aae54252
MD5 7154e6f9002e416bac57381b480ed350
BLAKE2b-256 58d1834359a8b659416418b2ca659d926a40f19966e108696eaf820bf9ee2e6d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page