Skip to main content

A set of tools which enhances ORMs written in Python with more features

Project description

https://badge.fury.io/py/architect.svg https://img.shields.io/pypi/dm/architect.svg https://img.shields.io/travis/maxtepkeev/architect/master.svg https://img.shields.io/coveralls/maxtepkeev/architect/master.svg

Architect is a set of tools which enhances ORMs written in Python with more features and simplifies different database related complex tasks.

Features

  • Supported ORMs

    • Django

    • Peewee

    • Pony

    • SQLAlchemy

  • Supported DBs

    • PostgreSQL

    • MySQL

  • Supports Python 2.6 - 3.4

  • Extensively documented

Dependencies

Architect has no required external dependencies except for the ORM it will be used with.

Installation

To install Architect, simply:

$ pip install architect

or:

$ easy_install architect

Documentation

Documentation is available at http://architect.readthedocs.org.

Contacts and Support

I will be glad to get your feedback, pull requests, issues, whatever. Feel free to contact me for any questions.

Donations and Sponsorship

If you like this project and want to support it you have 3 options:

  1. Just give this project a star at the GitHub repository.

  2. You can express your gratitude via Gratipay.

  3. Become a sponsor. Contact me via tepkeev at gmail dot com if you are interested in becoming a sponsor and we will discuss the terms and conditions.

Changelog

0.3.0 (2015-04-05)

  • Added: Documentation rewritten from scratch

  • Added: Introduced completely new API (almost 80% of Architect code was rewritten from scratch). All functionality is now provided by an architect.install decorator which dynamically injects requested feature, e.g. partition, into a model under the architect namespace, e.g. model.architect.partition. No more mixins, inheritance and nested classes with settings that pollute model’s namespace. More information is available in the docs

  • Added: New operation feature which provide an abstraction layer to execute raw SQL statements which will work with any supported ORM, see docs

  • Fixed: Issue #8 (cannot import name string_literal error with PonyORM and PyMySQL if pymysql.install_as_MySQLdb() was used)

  • Fixed: Issue #7 (SQLite dummy backend was completely broken)

  • Fixed: Issue #4 (autocommit cannot be used inside a transaction error with Django if a model was used inside with transaction.atomic() block)

  • Fixed: Issue #2 (partition command was unable to find module with models to partition)

  • Fixed: Issue #1 (relation already exists error when trying to insert data into non-existent partition simultaneously from several queries) (thanks to Daniel Kontsek)

0.2.0 (2014-07-19)

  • Added: MySQL range partitioning support

0.1.0 (2014-07-13)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

architect-0.3.0.tar.gz (14.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page