A simple schema-based serialization and deserialization library
Project description
Colander
An extensible package which can be used to:
deserialize and validate a data structure composed of strings, mappings, and lists.
serialize an arbitrary data structure to a data structure composed of strings, mappings, and lists.
Please see http://docs.repoze.org/colander for further documentation.
Changes
0.6.2 (2010-05-08)
The default encoding parameter value to the colander.String type is still None, however its meaning has changed. An encoding of None now means that no special encoding and decoding of Unicode values is done by the String type. This differs from the previous behavior, where None implied that the encoding was utf-8. Pass the encoding as utf-8 specifically to get the older behavior back. This is in support of Deform.
The default err_template value attached to the colander.Date and colander.Datetime` types was changed. It is now simply ``Invalid date instead of _('${val} cannot be parsed as an iso8601 date: ${err}'). This is in support of Deform.
Fix bug in colander.Boolean that attempted to call .lower on a bool value when a default value was found for the schema node.
0.6.1 (2010-05-04)
Add a Decimal type (number type which uses decimal.Decimal as a deserialization target).
0.6.0 (2010-05-02)
(Hopefully) fix intermittent datetime-granularity-related test failures.
Internationalized error messages. This required some changes to error message formatting, which may impact you if you were feeding colander an error message template.
New project dependency: translationstring package for internationalization.
New argument to colander.String constructor: allow_empty. This is a boolean representing whether an empty string is a valid value during deserialization, defaulting to False.
Add minimal documentation about the composition of a colander.Invalid exception to the narrative docs.
Add (existing, but previously non-API) colander.Invalid attributes to its interface within the API documentation.
0.5.2 (2010-04-09)
Add Email and Regex validators (courtesy Steve Howe).
Raise a colander.Invalid error if a colander.SequenceSchema is created with more than one member.
Add Function validator.
Fix bug in serialization of non-Unicode values in the String class.
Get rid of pserialize in favor of making serialize always partially serialize.
Get rid of pdeserialize: it existed only for symmetry. We’ll add something like it back later if we need it.
0.5.1 (2010-04-02)
The constructor arguments to a the colander.Schema class are now sent to the constructed SchemaNode rather than to the type it represents.
Allow colander.Date and colander.DateTime invalid error messages to be customized.
Add a pos argument to the colander.Invalid.add method.
Add a __setitem__ method to the colander.Invalid class.
The colander.Mapping constructor keyword argument unknown_keys has been renamed to unknown.
Allow colander.Mapping type to accept a new constructor argument: partial.
New interface methods required by types and schema nodes: pserialize and pdeserialize. These partially serialize or partially deserialize a value (the definition of “partial” is up to the type).
0.5 (2010-03-31)
0.4 was mispackaged (CHANGES.txt missing); no code changes from 0.4 however.
0.4 (2010-03-30)
Add colander.DateTime and colander.Date data types.
Depend on the iso8601 package for date support.
0.3 (2010-03-29)
Subnodes of a schema node are now kept in the children attribute rather than the nodes attribute.
Add an sdefault property to colander.SchemaNode objects.
Add a clone method to colander.SchemaNode objects.
Add a __str__ method to the colander.Invalid exception that prints an error summary.
Various error message improvements.
Add colander.Length validator class.
0.2 (2010-03-23)
Make nodetype overrideable.
Add __getitem__ to SchemaNode.
Fix OneOf message.
Capitalize node titles.
Deal with empty strings in String, Boolean, and Float types.
Introduce description; make title the same as name.
Remove copy method from schemanode.
Allow schema nodes to have titles.
The term “structure” is too overloaded to use for schema purposes: structure -> schema node.
Make Sequence more like Tuple and Mapping (it uses a substructure rather than a structure parameter to denote its type).
Add __repr__ and copy methods to structure.
Add accept_scalar flag to Sequence.
0.1 (2010-03-14)
Initial release.
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.