Metadata-Version: 1.0
Name: sqlamp
Version: 0.3
Summary: sqlamp is an implementation of Materialized Path for SQLAlchemy.
Home-page: http://sqlamp.angri.ru
Author: Anton Gritsay
Author-email: anton@angri.ru
License: BSD
Download-URL: http://sqlamp.angri.ru/sqlamp-0.3.tar.gz
Description: 
        :mod:`sqlamp` --- Materialized Path for SQLAlchemy
        ==================================================
        
        :mod:`sqlamp` is an implementation of an efficient algorithm for working
        with hierarchical data structures --- `Materialized Path`. :mod:`sqlamp`
        uses (and depends of) `SQLAlchemy <http://sqlalchemy.org>`_.
        
        `Materialized Path` is a way to store (and fetch) a trees in a relational
        databases. It is the compromise between `Nested Sets` and `Adjacency
        Relations` in respect to simplicity and efficiency. Method was proposed
        by `Vadim Tropashko`_ in his book `SQL Design Patterns`_. Vadim's
        description of the method can be read in his article `Trees in SQL:
        Nested Sets and Materialized Path (by Vadim Tropashko)`_.
        
        Implemented features:
        
        * Saving node roots --- if no parent set for node. The tree will have
        a new `tree_id`.
        * Saving child nodes --- if node has some parent. The whole dirty job
        of setting values in `tree_id`, `path` and `depth` fields is done
        by `sqlamp`.
        * Fetching node's descendants, ancestors and children using the most
        efficient way available (see :class:`MPInstanceManager`)
        * Autochecking exhaustion of tree size limits --- maximum number of
        children, maximum nesting level (see :class:`MPManager` to learn
        more about limits fine-tuning) is done during session flush.
        * Rebuilding all trees (see :meth:`MPClassManager.rebuild_all_trees`)
        and any subtree (:meth:`MPClassManager.rebuild_subtree`) on the
        basis of Adjacency Relations.
        
        Moving of nodes is not yet implemented.
        
        Known-to-work supported DBMS include `sqlite`_ (tested with 3.6.14),
        `MySQL`_ (tested using both MyISAM and InnoDB with server version 5.1.34)
        and `PostgreSQL`_ (tested with 8.3.7), but sqlamp should work with any
        other DBMS supported by SQLAlchemy.
        
        .. _`Vadim Tropashko`: http://vadimtropashko.wordpress.com
        .. _`Sql Design Patterns`:
        http://www.rampant-books.com/book_2006_1_sql_coding_styles.htm
        .. _`Trees in SQL: Nested Sets and Materialized Path (by Vadim Tropashko)`:
        http://www.dbazine.com/oracle/or-articles/tropashko4
        .. _`sqlite`: http://sqlite.org
        .. _`MySQL`: http://mysql.com
        .. _`PostgreSQL`: http://postgresql.org
        
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Database
