Skip to main content

ColanderAlchemy

https://travis-ci.org/stefanofontanelli/ColanderAlchemy.png?branch=master https://readthedocs.org/projects/colanderalchemy/badge/

ColanderAlchemy helps you to auto-generate Colander schemas that are based on SQLAlchemy mapped classes.

Such Colander schemas can be used with libraries like Deform and helps remove the need for duplication of schema definitions.

Documentation

Latest documentation is at: Read The Docs.

Installation

Using pip command:

pip install ColanderAlchemy

License

ColanderAlchemy is distributed under the MIT license.

Development version

Fork the development version on GitHub.

The branch ‘0.1’ contains the old version of ColanderAlchemy: 0.1x The branch ‘master’ contains the new version of ColanderAlchemy: 0.3x

Support

Please use Github Issue System for support requests (bug report, feature requests, other kind of help requests).

Follow me on Twitter @stefontanelli to receive notifications about new releases.

Change Log

0.3.4 (2020-03-03)

  • no functional changes; updates to tests and supported versions

0.3.3 (2015-07-20)

  • Allow recursive schema creation (PR #81). [Ademan, offlinehacker]

  • Allow includes, excludes and overrides to be specified in __colanderalchemy_config__ and applied to the SchemaNode. [davidjb]

  • Clarify documentation for quickstart. [davidjb]

0.3.2.post1 (2015-03-11)

  • Only apply declaratively defined settings to the outer Sequence when mapping an SQLAlchemy relationship. Previously, overrides were applied to both the Sequence and Mapping nodes, leading to unexpected behaviour. [davidjb]

  • The order in which fields are added are now properly maintained (issue #45) [uralbash]

  • Added ability to override fields on their own (PR #69, #70) [uralbash]

  • Allow setting ColanderAlchemy options in sqlalchemy type. [pieterproigia]

  • Make it possible to set the unknown colander.Mapping option using __colanderalchemy_config__ (PR #78) [elemoine]

0.3.1 (2014-03-19)

  • maintain the order of SQLAlchemy object attributes in the Colander schema [tisdall]

  • use Colander defaults wherever explicit settings are not given [tisdall]

  • added tests for confirming documentation examples [tisdall]

  • added fix and test for issue #35 (thrown exception on encountering synonym() ) [tisdall]

  • made changes to accommodate SQLAlchemy >= 0.9a [tisdall]

  • allows “children” override (issue #44) [tisdall]

  • no longer call callable SQLAlchemy defaults to fill in colander default values (issue #43) [tisdall]

  • fixed some minor issues with colander default and missing values to ensure transitive relationships (such as dictify/objectify) [tisdall]

  • require colander 1.0b1 or greater to support colander.drop (issue #52) [tisdall]

0.3 (2013-11-04)

  • Add objectify function on SQLAlchemySchemaNode – use this to recreate SQLAlchemy object instances from the configured mappers. This new method is the opposite of dictify. [davidjb]

  • Colander’s DateTime now defaults to using a naive datetime when no timezone is provided, similar to SQLAlchemy. [tisdall]

  • fixed defaults for SchemaNode.default and SchemaNode.missing [tisdall]

0.2 (2013-05-16)

  • No changes.

0.2a1 (2012-04-09)

  • Ensure relationship mapped schemas have a name. This ensures correct usage with Deform.

  • Ensure missing schema node information correctly maps to SQLAlchemy structures.

  • Map missing information for “required” relationships based upon the join condition. This can be further customised by given relationships setting missing=colander.required within their respective configurations.

  • Read Colander node init settings for a mapped class using the __colanderalchemy__ attribute. This allows for full customisation of the resulting colander.Mapping SchemaNode.

  • Allow non-SQLAlchemy schema nodes within SQLAlchemySchemaNode. Previously, the dictify method would throw an AttributeError.

  • Fix setup.py for python 3k

0.1b7 (Unreleased)

  • Ensure relationships are mapped recursively and adhere to ColanderAlchemy settings for mappings.

  • Remove dictify method in SQLAlchemyMapping.

0.1b6 (2012-10-17)

  • Fix minor bugs.

0.1b5 (2012-09-19)

  • Fix bug in MappingRegistry.__init__: pkeys is a list of property keys instead of column name

  • Add support to specify schema node ordering.

0.1b4 (2012-08-06)

  • Fix bug related to ‘ca_include=False’.

  • Change tests to cover that bug.

0.1b3 (2012-08-02)

  • Fix issue related to mapped class inheritance.

  • Fix minor bugs.

0.1b2 (2012-06-14)

  • Added support to use ColanderAlchemy declaratively.

0.1b (2012-05-19)

  • Added SQLAlchemyMapping.dictify method.

  • Updated tests with checks needed to test SQLAlchemyMapping.dictify.

0.1.0a2 (unreleased)

  • Mentioned supported Python versions in trove classifiers.

  • Updated tests to run with current colander versions.

  • Made compatible with Python 3.2.

0.1.0a (2012-03-24)

  • Initial public release.

Metadata

Release files for ColanderAlchemy 0.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ColanderAlchemy 0.3.4
File Size Uploaded
ColanderAlchemy-0.3.4.tar.gz 12.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ColanderAlchemy 0.3.4
File Interpreter ABI Platform
ColanderAlchemy-0.3.4-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 25.5 kB

Release files / ColanderAlchemy-0.3.4.tar.gz

Download URL ColanderAlchemy-0.3.4.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
740d435e6a97c483e3ce0196a36e02e35be99b0174e09554dd7c6a019963dc00
BLAKE2b-256 checksum
How to use checksums
cb6b21c34465df8ebacd875f4fb8ae407870bd5b357b90122275aff34f353b78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

Release files / ColanderAlchemy-0.3.4-py2.py3-none-any.whl

Download URL ColanderAlchemy-0.3.4-py2.py3-none-any.whl
Size 12.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
abebdbe091d1ff8b30a6ab2a8dc744ba73fddd5f5fb0e60a67038c2165add456
BLAKE2b-256 checksum
How to use checksums
6d001f9f81cece2effa018795d7d81f9ac21c131876b1f91bb06d4bd047a4730
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page