/SQLAlchemy-0.7.8/lib/SQLAlchemy.egg-info/PKG-INFO
#! | 152 lines | 134 code | 18 blank | 0 comment | 0 complexity | 4ed0d663ddf511570ca6aec8a4547e75 MD5 | raw file
1Metadata-Version: 1.0
2Name: SQLAlchemy
3Version: 0.7.8
4Summary: Database Abstraction Library
5Home-page: http://www.sqlalchemy.org
6Author: Mike Bayer
7Author-email: mike_mp@zzzcomputing.com
8License: MIT License
9Description: SQLAlchemy
10 ==========
11
12 The Python SQL Toolkit and Object Relational Mapper
13
14 Introduction
15 -------------
16
17 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
18 that gives application developers the full power and
19 flexibility of SQL. SQLAlchemy provides a full suite
20 of well known enterprise-level persistence patterns,
21 designed for efficient and high-performing database
22 access, adapted into a simple and Pythonic domain
23 language.
24
25 Major SQLAlchemy features include:
26
27 * An industrial strength ORM, built
28 from the core on the identity map, unit of work,
29 and data mapper patterns. These patterns
30 allow 100% of object persistence behavior to
31 be defined declaratively. The domain model
32 can be constructed and manipulated naturally,
33 and changes are synchronized with the
34 current transaction automatically.
35 * A relationally-oriented query system, exposing
36 joins, subqueries, correlation, and everything
37 else explicitly, in terms of the object model.
38 Writing queries with the ORM uses the same
39 techniques of relational composition you use
40 when writing SQL. While you can drop into
41 literal SQL at any time, it's virtually never
42 needed.
43 * The most comprehensive and flexible system anywhere
44 of eager loading of related collections and objects.
45 Collections are fully cached within a session,
46 and can be loaded on individual access, all
47 at once using joins, or by query per collection
48 across the full result set.
49 * A Core SQL construction system and DBAPI
50 interaction layer. The SQLAlchemy Core is
51 separate from the ORM and is a full database
52 abstraction layer in it's own right, and includes
53 an extensible Python-based SQL expression
54 language, schema metadata, connection pooling,
55 type coercion, and custom types.
56 * All primary and foreign key constraints are
57 assumed to be composite and natural. Surrogate
58 integer primary keys are of course still the
59 norm, but SQLAlchemy never assumes or hardcodes
60 to this model.
61 * Database introspection and generation. Database
62 schemas can be "reflected" in one step into
63 Python structures representing database metadata;
64 those same structures can then generate
65 CREATE statements right back out - all within
66 the Core, independent of the ORM.
67
68 SQLAlchemy's philosophy:
69
70 * SQL databases behave less and less like object
71 collections the more size and performance start to
72 matter; object collections behave less and less like
73 tables and rows the more abstraction starts to matter.
74 SQLAlchemy aims to accommodate both of these
75 principles.
76 * An ORM doesn't need to hide the "R". A relational
77 database provides rich, set-based functionality
78 that should be fully exposed. SQLAlchemy's
79 ORM provides an open-ended set of patterns
80 that allow a developer to construct a custom
81 mediation layer between a domain model and
82 a relational schema, turning the so-called
83 "object relational impedance" issue into
84 a distant memory.
85 * The developer, in all cases, makes all decisions
86 regarding the design, structure, and naming conventions
87 of both the object model as well as the relational
88 schema. SQLAlchemy only provides the means
89 to automate the execution of these decisions.
90 * With SQLAlchemy, there's no such thing as
91 "the ORM generated a bad query" - you
92 retain full control over the structure of
93 queries, including how joins are organized,
94 how subqueries and correlation is used, what
95 columns are requested. Everything SQLAlchemy
96 does is ultimately the result of a developer-
97 initiated decision.
98 * Don't use an ORM if the problem doesn't need one.
99 SQLAlchemy consists of a Core and separate ORM
100 component. The Core offers a full SQL expression
101 language that allows Pythonic construction
102 of SQL constructs that render directly to SQL
103 strings for a target database, returning
104 result sets that are essentially enhanced DBAPI
105 cursors.
106 * Transactions should be the norm. With SQLAlchemy's
107 ORM, nothing goes to permanent storage until
108 commit() is called. SQLAlchemy encourages applications
109 to create a consistent means of delineating
110 the start and end of a series of operations.
111 * Never render a literal value in a SQL statement.
112 Bound parameters are used to the greatest degree
113 possible, allowing query optimizers to cache
114 query plans effectively and making SQL injection
115 attacks a non-issue.
116
117 Documentation
118 -------------
119
120 Latest documentation is at:
121
122 http://www.sqlalchemy.org/docs/
123
124 Installation / Requirements
125 ---------------------------
126
127 Full documentation for installation is at
128 `Installation <http://www.sqlalchemy.org/docs/intro.html#installation>`_.
129
130 Getting Help / Development / Bug reporting
131 ------------------------------------------
132
133 Please refer to the `SQLAlchemy Community Guide <http://www.sqlalchemy.org/support.html>`_.
134
135 License
136 -------
137
138 SQLAlchemy is distributed under the `MIT license
139 <http://www.opensource.org/licenses/mit-license.php>`_.
140
141
142Platform: UNKNOWN
143Classifier: Development Status :: 5 - Production/Stable
144Classifier: Intended Audience :: Developers
145Classifier: License :: OSI Approved :: MIT License
146Classifier: Programming Language :: Python
147Classifier: Programming Language :: Python :: 3
148Classifier: Programming Language :: Python :: Implementation :: CPython
149Classifier: Programming Language :: Python :: Implementation :: Jython
150Classifier: Programming Language :: Python :: Implementation :: PyPy
151Classifier: Topic :: Database :: Front-Ends
152Classifier: Operating System :: OS Independent