colander
colander copied to clipboard
A serialization/deserialization/validation library for strings, mappings and lists.
Closes #347 As discussed in the linked issue, here’s a first stab at the `DataURL` validator. Locally I added `py39` and `py310` to https://github.com/Pylons/colander/blob/048fb24eeb6c3df21831413943dbf89d7b5776e4/tox.ini#L5 and perhaps that should also be...
Colander provides a [`colander.url`](https://docs.pylonsproject.org/projects/colander/en/latest/api.html#colander.url) regex that validates only http/s and ftp/s schemes: https://github.com/Pylons/colander/blob/048fb24eeb6c3df21831413943dbf89d7b5776e4/src/colander/__init__.py#L610-L629 A [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) would be rejected as invalid. Any interest in adding support for data URLs? Or...
If I deserialize a dictionary containing `None` as value for a boolean node, Colander falls back to `True`, which is absolutely wrong... a default for a boolean must **always** be...
I am confused about the way Colander handles None values (or not handles None values) during the deserialization. For example: ``` class Person(colander.MappingSchema): name = colander.SchemaNode(colander.String(), missing=None) schema = Person()...
Not sure this is the right object to start from, but since python has not so much support for unicode, maybe this is the right start? Our use case is...
Hi All! I have been using colander for year now, but I've never come across this one. I am using Colander to validate some incoming JSON and then flatten that...
Hi, it would be great if meta-validators (All, Any and so) could be nested in each other. For example: ``` validator=colander.All( colander.Any( first_validator, second_validator ), third_validator ) ``` The latest...
Currently when you serialize values, there is no preparer step before passing it off to the sub-types (in the case of the MappingSchema) https://github.com/Pylons/colander/blob/141263a3f61bed7c3af92c3a8d293ca7e10732e8/colander/__init__.py#L2276-L2293 this means we can not influence...
I'd like to have something that sits opposite the `preparer` that I can use to modify the `appstruct` after the validation has been run.