about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA')
-rw-r--r--.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA243
1 files changed, 243 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA b/.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA
new file mode 100644
index 00000000..330c5d25
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/sqlalchemy-2.0.39.dist-info/METADATA
@@ -0,0 +1,243 @@
+Metadata-Version: 2.2
+Name: SQLAlchemy
+Version: 2.0.39
+Summary: Database Abstraction Library
+Home-page: https://www.sqlalchemy.org
+Author: Mike Bayer
+Author-email: mike_mp@zzzcomputing.com
+License: MIT
+Project-URL: Documentation, https://docs.sqlalchemy.org
+Project-URL: Issue Tracker, https://github.com/sqlalchemy/sqlalchemy/
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Topic :: Database :: Front-Ends
+Requires-Python: >=3.7
+Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: importlib-metadata; python_version < "3.8"
+Requires-Dist: greenlet!=0.4.17; python_version < "3.14" and (platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))))
+Requires-Dist: typing-extensions>=4.6.0
+Provides-Extra: asyncio
+Requires-Dist: greenlet!=0.4.17; extra == "asyncio"
+Provides-Extra: mypy
+Requires-Dist: mypy>=0.910; extra == "mypy"
+Provides-Extra: mssql
+Requires-Dist: pyodbc; extra == "mssql"
+Provides-Extra: mssql-pymssql
+Requires-Dist: pymssql; extra == "mssql-pymssql"
+Provides-Extra: mssql-pyodbc
+Requires-Dist: pyodbc; extra == "mssql-pyodbc"
+Provides-Extra: mysql
+Requires-Dist: mysqlclient>=1.4.0; extra == "mysql"
+Provides-Extra: mysql-connector
+Requires-Dist: mysql-connector-python; extra == "mysql-connector"
+Provides-Extra: mariadb-connector
+Requires-Dist: mariadb!=1.1.10,!=1.1.2,!=1.1.5,>=1.0.1; extra == "mariadb-connector"
+Provides-Extra: oracle
+Requires-Dist: cx_oracle>=8; extra == "oracle"
+Provides-Extra: oracle-oracledb
+Requires-Dist: oracledb>=1.0.1; extra == "oracle-oracledb"
+Provides-Extra: postgresql
+Requires-Dist: psycopg2>=2.7; extra == "postgresql"
+Provides-Extra: postgresql-pg8000
+Requires-Dist: pg8000>=1.29.1; extra == "postgresql-pg8000"
+Provides-Extra: postgresql-asyncpg
+Requires-Dist: greenlet!=0.4.17; extra == "postgresql-asyncpg"
+Requires-Dist: asyncpg; extra == "postgresql-asyncpg"
+Provides-Extra: postgresql-psycopg2binary
+Requires-Dist: psycopg2-binary; extra == "postgresql-psycopg2binary"
+Provides-Extra: postgresql-psycopg2cffi
+Requires-Dist: psycopg2cffi; extra == "postgresql-psycopg2cffi"
+Provides-Extra: postgresql-psycopg
+Requires-Dist: psycopg>=3.0.7; extra == "postgresql-psycopg"
+Provides-Extra: postgresql-psycopgbinary
+Requires-Dist: psycopg[binary]>=3.0.7; extra == "postgresql-psycopgbinary"
+Provides-Extra: pymysql
+Requires-Dist: pymysql; extra == "pymysql"
+Provides-Extra: aiomysql
+Requires-Dist: greenlet!=0.4.17; extra == "aiomysql"
+Requires-Dist: aiomysql>=0.2.0; extra == "aiomysql"
+Provides-Extra: aioodbc
+Requires-Dist: greenlet!=0.4.17; extra == "aioodbc"
+Requires-Dist: aioodbc; extra == "aioodbc"
+Provides-Extra: asyncmy
+Requires-Dist: greenlet!=0.4.17; extra == "asyncmy"
+Requires-Dist: asyncmy!=0.2.4,!=0.2.6,>=0.2.3; extra == "asyncmy"
+Provides-Extra: aiosqlite
+Requires-Dist: greenlet!=0.4.17; extra == "aiosqlite"
+Requires-Dist: aiosqlite; extra == "aiosqlite"
+Requires-Dist: typing_extensions!=3.10.0.1; extra == "aiosqlite"
+Provides-Extra: sqlcipher
+Requires-Dist: sqlcipher3_binary; extra == "sqlcipher"
+
+SQLAlchemy
+==========
+
+|PyPI| |Python| |Downloads|
+
+.. |PyPI| image:: https://img.shields.io/pypi/v/sqlalchemy
+    :target: https://pypi.org/project/sqlalchemy
+    :alt: PyPI
+
+.. |Python| image:: https://img.shields.io/pypi/pyversions/sqlalchemy
+    :target: https://pypi.org/project/sqlalchemy
+    :alt: PyPI - Python Version
+
+.. |Downloads| image:: https://static.pepy.tech/badge/sqlalchemy/month
+    :target: https://pepy.tech/project/sqlalchemy
+    :alt: PyPI - Downloads
+
+
+The Python SQL Toolkit and Object Relational Mapper
+
+Introduction
+-------------
+
+SQLAlchemy is the Python SQL toolkit and Object Relational Mapper
+that gives application developers the full power and
+flexibility of SQL. 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.
+
+Major SQLAlchemy features include:
+
+* An industrial strength ORM, built
+  from the core on the identity map, unit of work,
+  and data mapper patterns.   These patterns
+  allow transparent persistence of objects
+  using a declarative configuration system.
+  Domain models
+  can be constructed and manipulated naturally,
+  and changes are synchronized with the
+  current transaction automatically.
+* A relationally-oriented query system, exposing
+  the full range of SQL's capabilities
+  explicitly, including joins, subqueries,
+  correlation, and most everything else,
+  in terms of the object model.
+  Writing queries with the ORM uses the same
+  techniques of relational composition you use
+  when writing SQL.  While you can drop into
+  literal SQL at any time, it's virtually never
+  needed.
+* A comprehensive and flexible system
+  of eager loading for related collections and objects.
+  Collections are cached within a session,
+  and can be loaded on individual access, all
+  at once using joins, or by query per collection
+  across the full result set.
+* A Core SQL construction system and DBAPI
+  interaction layer.  The SQLAlchemy Core is
+  separate from the ORM and is a full database
+  abstraction layer in its own right, and includes
+  an extensible Python-based SQL expression
+  language, schema metadata, connection pooling,
+  type coercion, and custom types.
+* All primary and foreign key constraints are
+  assumed to be composite and natural.  Surrogate
+  integer primary keys are of course still the
+  norm, but SQLAlchemy never assumes or hardcodes
+  to this model.
+* Database introspection and generation.  Database
+  schemas can be "reflected" in one step into
+  Python structures representing database metadata;
+  those same structures can then generate
+  CREATE statements right back out - all within
+  the Core, independent of the ORM.
+
+SQLAlchemy's philosophy:
+
+* SQL databases behave less and less like object
+  collections the more size and performance start to
+  matter; object collections behave less and less like
+  tables and rows the more abstraction starts to matter.
+  SQLAlchemy aims to accommodate both of these
+  principles.
+* An ORM doesn't need to hide the "R".   A relational
+  database provides rich, set-based functionality
+  that should be fully exposed.   SQLAlchemy's
+  ORM provides an open-ended set of patterns
+  that allow a developer to construct a custom
+  mediation layer between a domain model and
+  a relational schema, turning the so-called
+  "object relational impedance" issue into
+  a distant memory.
+* The developer, in all cases, makes all decisions
+  regarding the design, structure, and naming conventions
+  of both the object model as well as the relational
+  schema.   SQLAlchemy only provides the means
+  to automate the execution of these decisions.
+* With SQLAlchemy, there's no such thing as
+  "the ORM generated a bad query" - you
+  retain full control over the structure of
+  queries, including how joins are organized,
+  how subqueries and correlation is used, what
+  columns are requested.  Everything SQLAlchemy
+  does is ultimately the result of a developer-initiated 
+  decision.
+* Don't use an ORM if the problem doesn't need one.
+  SQLAlchemy consists of a Core and separate ORM
+  component.   The Core offers a full SQL expression
+  language that allows Pythonic construction
+  of SQL constructs that render directly to SQL
+  strings for a target database, returning
+  result sets that are essentially enhanced DBAPI
+  cursors.
+* Transactions should be the norm.  With SQLAlchemy's
+  ORM, nothing goes to permanent storage until
+  commit() is called.  SQLAlchemy encourages applications
+  to create a consistent means of delineating
+  the start and end of a series of operations.
+* Never render a literal value in a SQL statement.
+  Bound parameters are used to the greatest degree
+  possible, allowing query optimizers to cache
+  query plans effectively and making SQL injection
+  attacks a non-issue.
+
+Documentation
+-------------
+
+Latest documentation is at:
+
+https://www.sqlalchemy.org/docs/
+
+Installation / Requirements
+---------------------------
+
+Full documentation for installation is at
+`Installation <https://www.sqlalchemy.org/docs/intro.html#installation>`_.
+
+Getting Help / Development / Bug reporting
+------------------------------------------
+
+Please refer to the `SQLAlchemy Community Guide <https://www.sqlalchemy.org/support.html>`_.
+
+Code of Conduct
+---------------
+
+Above all, SQLAlchemy places great emphasis on polite, thoughtful, and
+constructive communication between users and developers.
+Please see our current Code of Conduct at
+`Code of Conduct <https://www.sqlalchemy.org/codeofconduct.html>`_.
+
+License
+-------
+
+SQLAlchemy is distributed under the `MIT license
+<https://www.opensource.org/licenses/mit-license.php>`_.
+