PageRenderTime 47ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/SQLAlchemy-0.7.8/lib/SQLAlchemy.egg-info/PKG-INFO

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