Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         Package creation for SQLAlchemy
    1.2. Name of Document Author/Supplier:
         Author:  Shweta Phabba
    1.3  Date of This Document:
        25 September, 2009
4. Technical Description
===============================================
ARC PROPOSAL FOR SUNWblacs Package Porting
===============================================


1 . Introduction
    ------------
  
   1.1 Project Working Name :  
       Package creation for SQLAlchemy
       (SQL toolkit and Object Relational Mapper for Python)

   1.2 Name Of  Document Author :
       Shweta Phabba (shweta.phabba at sun.com)

   1.3 Date Of this Document :
       Aug 17 2009

   1.3.1.Project started on 10th August  

   1.4 Name Of Major Document Customer(s)/Consumer(s)
   1.4.1. The PAC or CPT you expect to review your project:Solaris PAC
   1.4.2 Sponserer For SUNWblacs : 
   1.4.3 Name Of Business unit   : Systems 
   1.4.4 Team Name               : Sun Grid Engine & HPC        

   1.5 Email Aliases :
   1.5.1 Responsible Manager  :  manjunath.basappa at sun.com
   1.5.2 Responsible Engineer :  shweta.phabba at sun.com


 
2.  Project Summary
    ---------------

    2.1 Project Description  :

        The SQLAlchemy SQL Toolkit and Object Relational Mapper is a 
comprehensive
        set of tools for working with databases and Python. It has several 
distinct
        areas of functionality which can be used individually or combined 
together.
        Its major API components, all public-facing, are illustrated below:

        +-----------------------------------------------------------+
        |             Object Relational Mapper (ORM)                |
        +-----------------------------------------------------------+
        +---------+ +------------------------------------+ +--------+
        |         | |       SQL Expression Language      | |        |
        |         | +------------------------------------+ |        |
        |         +-----------------------+ +--------------+        |
        |         | Dialect/Execution     | |    Schema Management  |
        +---------------------------------+ +-----------------------+
        +----------------------+ +----------------------------------+
        |  Connection Pooling  | |              Types               |
        +----------------------+ +----------------------------------+

       Above, the two most significant front-facing portions of SQLAlchemy are 
the
       Object Relational Mapper and the SQL Expression Language. These are two
       separate toolkits, one building off the other. SQL Expressions can be 
used
       independently of the ORM. When using the ORM, the SQL Expression 
language is
       used to establish object-relational configurations as well as in 
querying.
    
    

    2.2 Risks And Assumptions :

        Assumptions:
        1. SUNWPython
           SUNWmysql-python
           SUNWpysqlite
           SUNWpython-setuptools
           Should be available on system Generally it comes with Opensolaris 
           default installation.

        
3.Technical Description :
  ----------------------- 

   3.1 Technical Description For SQLAlchemy

       ( Using SQLAlcehmy 0.5.5 ) 
         =======================  

       1. SQLAlchemy is an SQL database abstraction library for Python.
        SQLAlchemy provides a full suite of well known enterprise-level
        persistence patterns, designed for efficient and high-performing
        database access, adapted into a simple and Pythonic domain language.

        2. Extremely easy to use for all the basic tasks, such as: accessing
        thread-safe and pooled connections, constructing SQL from Python
        expressions, finding object instances, and commiting object
        modifications back to the database.

        3. Powerful enough for complicated tasks, such as: eager load a graph
        of objects and their dependencies via joins; map recursive adjacency
        structures automatically; map objects to not just tables but to any
        arbitrary join or select statement; combine multiple tables together
        to load whole sets of otherwise unrelated objects from a single
        result set; commit entire graphs of object changes in one step.

        4.Built to conform to what DBAs demand, including the ability to swap
        out generated SQL with hand-optimized statements, full usage of bind
        parameters for all literal values, fully transactionalized and
        consistent updates using Unit of Work.

        5.Modular. Different parts of SQLAlchemy can be used independently of
        the rest, including the connection pool, SQL construction, and
        ORM. SQLAlchemy is constructed in an open style that allows plenty of
        customization, with an architecture that supports custom datatypes,
        custom SQL extensions, and ORM plugins which can augment or extend
        mapping functionality.   

   3.2 Information About SQLALchemy

       1. Written in Python.
       2. Supports Many Databases as MySQL,SQLite,postgres,Oracle,Firebird,
          Sybase,MS-Access etc.
       3. With ORM This produces the maxiumum efficiency and transaction 
safety,  
          and minimizes chances of deadlocks.
       4. Function-based query construction allows SQL clauses to be built via 
          Python functions and expressions.
       5. Database mapping and class design are totally separate.
       6. Whole graphs of related objects can often be loaded with a single 
query 
          that is automatically generated to join the appropriate tables 
together, 
          known as eager loading.
       7. Composite Primary Key .
       8. Explicit support is available for single-table, concrete-table, and 
          joined table inheritance. Polymorphic loading (that is, a query that 
          returns objects of multple descendant types) is supported for all 
three 
          styles.
       9. Pre  and post procesing of data.


   3.3 Security Impact:
        
       None.


   3.4. Interfaces:

        Exported Interface

SUNWsqlalchemy python library will be ported to /usr/lib/python2.6
as well as /usr/lib/python3.0

Interface                               Classification    Comments
-----------                            ---------------    ---------- 
SUNWsqlalchemy                          Uncommited        Package Name 
/usr/lib/python2.6/vendor-packages/     Uncommited        Directory For 
sqlalchemy  
  sqlalchemy                                              library      
/usr/lib/python2.6/vendor-packages/     Uncommited        Directory for         
  SQLAlchemy.egg-info                                     sqlalchemy library
/usr/lib/python2.6/vendor-packages/     Uncommited        Object relational 
mapping 
  sqlalchemy/orm                                          library directory.
/usr/lib/python2.6/vendor-packages/     Uncommited        
  sqlalchemy/ext 
/usr/lib/python2.6/vendor-packages/     Uncommited        
  sqlalchemy/engine
/usr/lib/python2.6/vendor-packages/     Uncommited        
  sqlalchemy/sql
/usr/lib/python2.6/vendor-packages/     Uncommited        Directory for 
different 
  sqlalchemy/databases                                    database support by 
                                                          sqlalchemy
/usr/lib/python2.6/vendor-packages/    Uncommited         Directory for 
sqlalchemy
  sqlalchemy/SQLAlchemy.egg-info                                           

And all above mentioned directories will have python libray files .


Imported Interfaces
Interface                           Classification   Comments
----------------                   ---------------  ----------------
SUNWPython                         Commited          LSARC/2005/734
SUNWmysql-python                   Commited          PSARC/2008/081
SUNWpysqlite                       Commited          LSARC/2009/203
SUNWpython-setuptools              Commited          LSARC/2008/207 


4. Resources and Schedule: 
   ----------------------- 

    4.1 Product Approval Committee requested information : 
          
    4.1.1 Consolidation or Prject Name :SFW / SUNWsqlalchemy
    4.1.2 Type of CPT Review and Approval expected :   FastTrack
    4.1.3 ARC review type  :   FastTrack

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                SFW
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open

Reply via email to