1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= python-SQLAlchemy
7 SDESC[py310]= Database Abstraction Library (3.10)
8 SDESC[v11]= Database Abstraction Library (3.11)
9 HOMEPAGE= https://www.sqlalchemy.org
10 CONTACT= Python_Automaton[python@ironwolf.systems]
13 SITES[main]= PYPIWHL/1b/0e/282e3574aaf7852d3028458f677be0edcdf27ab3d0d261963bebadf538cb
14 DISTFILE[1]= SQLAlchemy-2.0.5.post1-py3-none-any.whl:main
19 OPTIONS_AVAILABLE= PY310 PY311
20 OPTIONS_STANDARD= none
21 VOPTS[py310]= PY310=ON PY311=OFF
22 VOPTS[v11]= PY310=OFF PY311=ON
26 DISTNAME= SQLAlchemy-2.0.5.post1.dist-info
28 CPE_PRODUCT= sqlalchemy
29 CPE_VENDOR= sqlalchemy
32 [PY310].RUN_DEPENDS_ON= python-typing-extensions:single:py310
33 [PY310].USES_ON= python:py310,wheel
35 [PY311].RUN_DEPENDS_ON= python-typing-extensions:single:v11
36 [PY311].USES_ON= python:v11,wheel
38 [FILE:3699:descriptions/desc.single]
42 |PyPI| |Python| |Downloads|
46 :alt: PyPI - Python Version
48 :alt: PyPI - Downloads
50 The Python SQL Toolkit and Object Relational Mapper
55 SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
56 that gives application developers the full power and
57 flexibility of SQL. SQLAlchemy provides a full suite
58 of well known enterprise-level persistence patterns,
59 designed for efficient and high-performing database
60 access, adapted into a simple and Pythonic domain
63 Major SQLAlchemy features include:
65 * An industrial strength ORM, built
66 from the core on the identity map, unit of work,
67 and data mapper patterns. These patterns
68 allow transparent persistence of objects
69 using a declarative configuration system.
71 can be constructed and manipulated naturally,
72 and changes are synchronized with the
73 current transaction automatically.
74 * A relationally-oriented query system, exposing
75 the full range of SQL's capabilities
76 explicitly, including joins, subqueries,
77 correlation, and most everything else,
78 in terms of the object model.
79 Writing queries with the ORM uses the same
80 techniques of relational composition you use
81 when writing SQL. While you can drop into
82 literal SQL at any time, it's virtually never
84 * A comprehensive and flexible system
85 of eager loading for related collections and objects.
86 Collections are cached within a session,
87 and can be loaded on individual access, all
88 at once using joins, or by query per collection
89 across the full result set.
90 * A Core SQL construction system and DBAPI
91 interaction layer. The SQLAlchemy Core is
92 separate from the ORM and is a full database
93 abstraction layer in its own right, and includes
94 an extensible Python-based SQL expression
95 language, schema metadata, connection pooling,
96 type coercion, and custom types.
97 * All primary and foreign key constraints are
98 assumed to be composite and natural. Surrogate
99 integer primary keys are of course still the
100 norm, but SQLAlchemy never assumes or hardcodes
102 * Database introspection and generation. Database
103 schemas can be "reflected" in one step into
104 Python structures representing database metadata;
105 those same structures can then generate
106 CREATE statements right back out - all within
107 the Core, independent of the ORM.
109 SQLAlchemy's philosophy:
111 * SQL databases behave less and less like object
112 collections the more size and performance start to
113 matter; object collections behave less and less like
114 tables and rows the more abstraction starts to matter.
115 SQLAlchemy aims to accommodate both of these
117 * An ORM doesn't need to hide the "R". A relational
118 database provides rich, set-based functionality
119 that should be fully exposed. SQLAlchemy's
120 ORM provides an open-ended set of patterns
121 that allow a developer to construct a custom
122 mediation layer between a domain model and
123 a relational schema, turning the so-called
124 "object relational impedance" issue into
126 * The developer, in all cases, makes all decisions
127 regarding the design, structure, and naming conventions
128 of both the object model as well as the relational
129 schema. SQLAlchemy only provides the means
130 to automate the execution of these decisions.
131 * With SQLAlchemy, there's no such thing as
132 "the ORM generated a bad query" - you
133 retain full control over the structure of
134 queries, including how joins are organized,
135 how subqueries and correlation is used, what
136 columns are requested. Everything SQLAlchemy
137 does is ultimately the result of a developer-initiated
142 621e92ace804e19da2e472e349736d7ba5e2e4a14d41c4de9e2474e5f40a11ed 1800454 SQLAlchemy-2.0.5.post1-py3-none-any.whl