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.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.