Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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.

Release History

Release History

This version
History Node

0.8.0

History Node

0.7.0

History Node

0.6.1

History Node

0.6.0

History Node

0.5.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
colander_tools-0.8.0-py2.py3-none-any.whl (11.2 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Aug 5, 2016
colander_tools-0.8.0.tar.gz (6.3 kB) Copy SHA256 Checksum SHA256 Source Aug 5, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting