This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

ColanderAlchemy

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

Release History

0.3.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.2.post1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2b2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2b1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2a1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1b

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0a

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ColanderAlchemy-0.3.3-py2.py3-none-any.whl (24.8 kB) Copy SHA256 Checksum SHA256 3.4 Wheel Jul 20, 2015
ColanderAlchemy-0.3.3.tar.gz (21.9 kB) Copy SHA256 Checksum SHA256 Source Jul 20, 2015

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