Ravenports generated: 21 Apr 2020 22:22
[ravenports.git] / bucket_F9 / python-SQLAlchemy
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               python-SQLAlchemy
4 VERSION=                1.3.16
5 KEYWORDS=               python
6 VARIANTS=               py38 py37
7 SDESC[py37]=            Database Abstraction Library (PY37)
8 SDESC[py38]=            Database Abstraction Library (PY38)
9 HOMEPAGE=               http://www.sqlalchemy.org
10 CONTACT=                Python_Automaton[python@ironwolf.systems]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            PYPI/S/SQLAlchemy
14 DISTFILE[1]=            SQLAlchemy-1.3.16.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[py37]=            single
17 SPKGS[py38]=            single
18
19 OPTIONS_AVAILABLE=      PY38 PY37
20 OPTIONS_STANDARD=       none
21 VOPTS[py37]=            PY38=OFF PY37=ON
22 VOPTS[py38]=            PY38=ON PY37=OFF
23
24 DISTNAME=               SQLAlchemy-1.3.16
25
26 GENERATED=              yes
27
28 [PY37].USES_ON=                         python:py37
29
30 [PY38].USES_ON=                         python:py38
31
32 [FILE:3944:descriptions/desc.single]
33 SQLAlchemy
34 ==========
35
36 The Python SQL Toolkit and Object Relational Mapper
37
38 Introduction
39 -------------
40
41 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
42 that gives application developers the full power and
43 flexibility of SQL. SQLAlchemy provides a full suite
44 of well known enterprise-level persistence patterns,
45 designed for efficient and high-performing database
46 access, adapted into a simple and Pythonic domain
47 language.
48
49 Major SQLAlchemy features include:
50
51 * An industrial strength ORM, built
52   from the core on the identity map, unit of work,
53   and data mapper patterns.   These patterns
54   allow transparent persistence of objects
55   using a declarative configuration system.
56   Domain models
57   can be constructed and manipulated naturally,
58   and changes are synchronized with the
59   current transaction automatically.
60 * A relationally-oriented query system, exposing
61   the full range of SQL's capabilities
62   explicitly, including joins, subqueries,
63   correlation, and most everything else,
64   in terms of the object model.
65   Writing queries with the ORM uses the same
66   techniques of relational composition you use
67   when writing SQL.  While you can drop into
68   literal SQL at any time, it's virtually never
69   needed.
70 * A comprehensive and flexible system
71   of eager loading for related collections and objects.
72   Collections are cached within a session,
73   and can be loaded on individual access, all
74   at once using joins, or by query per collection
75   across the full result set.
76 * A Core SQL construction system and DBAPI
77   interaction layer.  The SQLAlchemy Core is
78   separate from the ORM and is a full database
79   abstraction layer in its own right, and includes
80   an extensible Python-based SQL expression
81   language, schema metadata, connection pooling,
82   type coercion, and custom types.
83 * All primary and foreign key constraints are
84   assumed to be composite and natural.  Surrogate
85   integer primary keys are of course still the
86   norm, but SQLAlchemy never assumes or hardcodes
87   to this model.
88 * Database introspection and generation.  Database
89   schemas can be "reflected" in one step into
90   Python structures representing database metadata;
91   those same structures can then generate
92   CREATE statements right back out - all within
93   the Core, independent of the ORM.
94
95 SQLAlchemy's philosophy:
96
97 * SQL databases behave less and less like object
98   collections the more size and performance start to
99   matter; object collections behave less and less like
100   tables and rows the more abstraction starts to matter.
101   SQLAlchemy aims to accommodate both of these
102   principles.
103 * An ORM doesn't need to hide the "R".   A relational
104   database provides rich, set-based functionality
105   that should be fully exposed.   SQLAlchemy's
106   ORM provides an open-ended set of patterns
107   that allow a developer to construct a custom
108   mediation layer between a domain model and
109   a relational schema, turning the so-called
110   "object relational impedance" issue into
111   a distant memory.
112 * The developer, in all cases, makes all decisions
113   regarding the design, structure, and naming conventions
114   of both the object model as well as the relational
115   schema.   SQLAlchemy only provides the means
116   to automate the execution of these decisions.
117 * With SQLAlchemy, there's no such thing as
118   "the ORM generated a bad query" - you
119   retain full control over the structure of
120   queries, including how joins are organized,
121   how subqueries and correlation is used, what
122   columns are requested.  Everything SQLAlchemy
123   does is ultimately the result of a developer-
124   initiated decision.
125 * Don't use an ORM if the problem doesn't need one.
126   SQLAlchemy consists of a Core and separate ORM
127   component.   The Core offers a full SQL expression
128   language that allows Pythonic construction
129   of SQL constructs that render directly to SQL
130   strings for a target database, returning
131   result sets that are essentially enhanced DBAPI
132   cursors.
133
134
135 [FILE:103:distinfo]
136 7224e126c00b8178dfd227bc337ba5e754b197a3867d33b9f30dc0208f773d70      6085722 SQLAlchemy-1.3.16.tar.gz
137