Home
last modified time | relevance | path

Searched +hist:5 +hist:f8ee392 (Results 1 - 19 of 19) sorted by relevance

/sqlalchemy/test/ext/mypy/files/
H A Ddataclasses_workaround.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
H A Dother_mapper_props.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
/sqlalchemy/doc/build/orm/extensions/
H A Dmypy.rst5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
/sqlalchemy/test/ext/mypy/
H A Dtest_mypy_plugin_py3k.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
/sqlalchemy/lib/sqlalchemy/ext/mypy/
H A Dplugin.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
H A Dutil.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
H A Dnames.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
H A Ddecl_class.py5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
/sqlalchemy/doc/build/orm/
H A Dmapping_styles.rstdiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
/sqlalchemy/doc/build/
H A Dindex.rstdiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5e7acf14 Thu Sep 17 16:15:42 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> new docs WIP

This WIP is part of the final push for 1.4's docs
to fully "2.0-ize" what we can, and have it all ready.

So far this includes a rewrite of the 2.0 migration,
set up for the 1.4 /2.0 docs style, and a total redesign
of the index page using a new flex layout in zzzeeksphinx.

It also reworks some of the API reference sections
to have more subheaders. zzzeeksphinx is also enhanced
to provide automatic summaries for all api doc section.

Change-Id: I01d360cb9c8749520246b96ee6496143c6037918
diff 5fb0138a Sat Jul 04 10:21:36 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Implement rudimentary asyncio support w/ asyncpg

Using the approach introduced at
https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e

We can now create asyncio endpoints that are then handled
in "implicit IO" form within the majority of the Core internals.
Then coroutines are re-exposed at the point at which we call
into asyncpg methods.

Patch includes:

* asyncpg dialect

* asyncio package

* engine, result, ORM session classes

* new test fixtures, tests

* some work with pep-484 and a short plugin for the
pyannotate package, which seems to have so-so results

Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d
Fixes: #3414
diff 5de0f1cf Wed Jul 08 12:31:17 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Convert remaining ORM APIs to support 2.0 style

This is kind of a mixed bag of all kinds to help get us
to 1.4 betas. The documentation stuff is a work in
progress. Lots of other relatively small changes to
APIs and things. More commits will follow to continue
improving the documentation and transitioning to the
1.4/2.0 hybrid documentation. In particular some refinements
to Session usage models so that it can match Engine's
scoping / transactional patterns, and a decision to
start moving away from "subtransactions" completely.

* add select().from_statement() to produce FromStatement in an
ORM context

* begin referring to select() that has "plugins" for the few edge
cases where select() will have ORM-only behaviors

* convert dynamic.AppenderQuery to its own object that can use
select(), though at the moment it uses Query to support legacy
join calling forms.

* custom query classes for AppenderQuery are replaced by
do_orm_execute() hooks for custom actions, a separate gerrit
will document this

* add Session.get() to replace query.get()

* Deprecate session.begin->subtransaction. propose within the
test suite a hypothetical recipe for apps that rely on this
pattern

* introduce Session construction level context manager,
sessionmaker context manager, rewrite the whole top of the
session_transaction.rst documentation. Establish context manager
patterns for Session that are identical to engine

* ensure same begin_nested() / commit() behavior as engine

* devise all new "join into an external transaction" recipe,
add test support for it, add rules into Session so it
just works, write new docs. need to ensure this doesn't
break anything

* vastly reduce the verbosity of lots of session docs as
I dont think people read this stuff and it's difficult
to keep current in any case

* constructs like case(), with_only_columns() really need
to move to *columns, add a coercion rule to just change
these.

* docs need changes everywhere I look. in_() is not in
the Core tutorial? how do people even know about it?
Remove tons of cruft from Select docs, etc.

* build a system for common ORM options like populate_existing
and autoflush to populate from execution options.

* others?

Change-Id: Ia4bea0f804250e54d90b3884cf8aab8b66b82ecf
diff 5d37a937 Thu May 29 13:49:04 MDT 2014 Mike Bayer <mike_mp@zzzcomputing.com> fix
diff 5f10d0d0 Tue Apr 24 17:32:30 MDT 2012 Mike Bayer <mike_mp@zzzcomputing.com> top level version-specific links
H A Dglossary.rstdiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5de0f1cf Wed Jul 08 12:31:17 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Convert remaining ORM APIs to support 2.0 style

This is kind of a mixed bag of all kinds to help get us
to 1.4 betas. The documentation stuff is a work in
progress. Lots of other relatively small changes to
APIs and things. More commits will follow to continue
improving the documentation and transitioning to the
1.4/2.0 hybrid documentation. In particular some refinements
to Session usage models so that it can match Engine's
scoping / transactional patterns, and a decision to
start moving away from "subtransactions" completely.

* add select().from_statement() to produce FromStatement in an
ORM context

* begin referring to select() that has "plugins" for the few edge
cases where select() will have ORM-only behaviors

* convert dynamic.AppenderQuery to its own object that can use
select(), though at the moment it uses Query to support legacy
join calling forms.

* custom query classes for AppenderQuery are replaced by
do_orm_execute() hooks for custom actions, a separate gerrit
will document this

* add Session.get() to replace query.get()

* Deprecate session.begin->subtransaction. propose within the
test suite a hypothetical recipe for apps that rely on this
pattern

* introduce Session construction level context manager,
sessionmaker context manager, rewrite the whole top of the
session_transaction.rst documentation. Establish context manager
patterns for Session that are identical to engine

* ensure same begin_nested() / commit() behavior as engine

* devise all new "join into an external transaction" recipe,
add test support for it, add rules into Session so it
just works, write new docs. need to ensure this doesn't
break anything

* vastly reduce the verbosity of lots of session docs as
I dont think people read this stuff and it's difficult
to keep current in any case

* constructs like case(), with_only_columns() really need
to move to *columns, add a coercion rule to just change
these.

* docs need changes everywhere I look. in_() is not in
the Core tutorial? how do people even know about it?
Remove tons of cruft from Select docs, etc.

* build a system for common ORM options like populate_existing
and autoflush to populate from execution options.

* others?

Change-Id: Ia4bea0f804250e54d90b3884cf8aab8b66b82ecf
diff 5f73cf9c Sun Oct 28 10:27:32 MDT 2012 Mike Bayer <mike_mp@zzzcomputing.com> glossary updates
H A Dconf.pydiff fd669c56 Fri Apr 02 10:00:02 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> - 1.4.5
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5e7acf14 Thu Sep 17 16:15:42 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> new docs WIP

This WIP is part of the final push for 1.4's docs
to fully "2.0-ize" what we can, and have it all ready.

So far this includes a rewrite of the 2.0 migration,
set up for the 1.4 /2.0 docs style, and a total redesign
of the index page using a new flex layout in zzzeeksphinx.

It also reworks some of the API reference sections
to have more subheaders. zzzeeksphinx is also enhanced
to provide automatic summaries for all api doc section.

Change-Id: I01d360cb9c8749520246b96ee6496143c6037918
diff 5fb0138a Sat Jul 04 10:21:36 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Implement rudimentary asyncio support w/ asyncpg

Using the approach introduced at
https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e

We can now create asyncio endpoints that are then handled
in "implicit IO" form within the majority of the Core internals.
Then coroutines are re-exposed at the point at which we call
into asyncpg methods.

Patch includes:

* asyncpg dialect

* asyncio package

* engine, result, ORM session classes

* new test fixtures, tests

* some work with pep-484 and a short plugin for the
pyannotate package, which seems to have so-so results

Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d
Fixes: #3414
diff 60781659 Tue Jan 17 14:23:00 MST 2017 Mike Bayer <mike_mp@zzzcomputing.com> - 1.1.5
diff 3873d7db Sun Jun 07 15:53:38 MDT 2015 Mike Bayer <mike_mp@zzzcomputing.com> - 1.0.5
diff 5b3b8ae9 Wed May 28 08:56:52 MDT 2014 Mike Bayer <mike_mp@zzzcomputing.com> - a rework of doc layout and nav:
- reduce the real estate for the top nav; move the search box
into the top yellow box, close in space
- use a new CSS/js approach such that the top toolbar freezes from
scrolling at the top of the page. The left nav scrolls independently
of the content pane so that the local contents remain visible regardless
of scrolling. this approach is disabled on mobile where the dual scrollbars
may be cumbersome (overall the site is not well designed for mobile).
diff 5db55c99 Tue Jan 01 11:46:21 MST 2013 Diana Clarke <diana.joan.clarke@gmail.com> happy new year (see #2645)
diff 667249f7 Sat Jan 28 15:43:13 MST 2012 Mike Bayer <mike_mp@zzzcomputing.com> get ready for release 0.7.5
/sqlalchemy/
H A Dsetup.cfgdiff de9db994 Mon Oct 11 13:47:18 MDT 2021 Federico Caselli <cfederico87@gmail.com> Add support for Python 3.10

<!-- Provide a general summary of your proposed changes in the Title field above -->

### Description
<!-- Describe your changes in detail -->

Python 3.10 was released last week.

Test on Python 3.10 and add the Trove classifier.

### Checklist
<!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the PR is submitted, so no need to do everything at once)

-->

This pull request is:

- [ ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [x] A short code fix
- please include the issue number, and create an issue if none exists, which
must include a complete example of the issue. one line code fixes without an
issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests. one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**

^ Which checklist option should I use?

Should I do something to trigger/test all the workflows?

Closes: #7179
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7179
Pull-request-sha: 5df7ff0e0d309301a877314e620fadb6f3f570cb

Change-Id: Ib7ecc0de75f7dffdf05db13563f7be10898e67ba
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f333762 Fri Dec 04 14:26:44 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> add aiomysql support

This is a re-gerrit of the original gerrit
merged in Ia8ad3efe3b50ce75a3bed1e020e1b82acb5f2eda
Reverted due to ongoing issues.

Fixes: #5747
Change-Id: I2b57e76b817eed8f89457a2146b523a1cab656a8
diff 5fb0138a Sat Jul 04 10:21:36 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Implement rudimentary asyncio support w/ asyncpg

Using the approach introduced at
https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e

We can now create asyncio endpoints that are then handled
in "implicit IO" form within the majority of the Core internals.
Then coroutines are re-exposed at the point at which we call
into asyncpg methods.

Patch includes:

* asyncpg dialect

* asyncio package

* engine, result, ORM session classes

* new test fixtures, tests

* some work with pep-484 and a short plugin for the
pyannotate package, which seems to have so-so results

Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d
Fixes: #3414
diff 5ae8a54e Fri Feb 01 19:34:53 MST 2019 Mike Bayer <mike_mp@zzzcomputing.com> repair F632 issue

in b8f9517cddf41dbb47ae4ad120141c7ab1a29ac5 we disabled this new error
coming up, but it's just this one line in a test that is in fact wrong.

Change-Id: I4e3612596e9735c7db066832d13ccb454c93808f
diff 31f80b9e Thu Aug 31 22:11:10 MDT 2017 Mike Bayer <mike_mp@zzzcomputing.com> Refactor for cx_Oracle version 6

Drops support for cx_Oracle prior to version 5.x, reworks
numeric and binary support.

Fixes: #4064

Change-Id: Ib9ae9aba430c15cd2a6eeb4e5e3fd8e97b5fe480
5b8ab3e8 Sat Aug 26 13:00:37 MDT 2006 Mike Bayer <mike_mp@zzzcomputing.com> added "dev" tag to default setup
some extra README
H A Dtox.inidiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f333762 Fri Dec 04 14:26:44 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> add aiomysql support

This is a re-gerrit of the original gerrit
merged in Ia8ad3efe3b50ce75a3bed1e020e1b82acb5f2eda
Reverted due to ongoing issues.

Fixes: #5747
Change-Id: I2b57e76b817eed8f89457a2146b523a1cab656a8
diff 5edb931e Sun Sep 27 20:19:27 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> set pytest rootdir

With pytest 6.1.0 the root directory calculation logic has
changed and is unreliable on our jenkins setup. make
sure this is set explicitly.

Change-Id: I1d48b887030c32d2f3361fc36e65e8a988d2ba81
References: https://github.com/pytest-dev/pytest/issues/7807
diff 5fb0138a Sat Jul 04 10:21:36 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Implement rudimentary asyncio support w/ asyncpg

Using the approach introduced at
https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e

We can now create asyncio endpoints that are then handled
in "implicit IO" form within the majority of the Core internals.
Then coroutines are re-exposed at the point at which we call
into asyncpg methods.

Patch includes:

* asyncpg dialect

* asyncio package

* engine, result, ORM session classes

* new test fixtures, tests

* some work with pep-484 and a short plugin for the
pyannotate package, which seems to have so-so results

Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d
Fixes: #3414
/sqlalchemy/lib/sqlalchemy/engine/
H A Dinterfaces.pydiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 31f80b9e Thu Aug 31 22:11:10 MDT 2017 Mike Bayer <mike_mp@zzzcomputing.com> Refactor for cx_Oracle version 6

Drops support for cx_Oracle prior to version 5.x, reworks
numeric and binary support.

Fixes: #4064

Change-Id: Ib9ae9aba430c15cd2a6eeb4e5e3fd8e97b5fe480
diff 5f0b864a Fri Oct 11 10:48:46 MDT 2013 Mike Bayer <mike_mp@zzzcomputing.com> - The method signature of :meth:`.Dialect.reflecttable`, which in
all known cases is provided by :class:`.DefaultDialect`, has been
tightened to expect ``include_columns`` and ``exclude_columns``
arguments without any kw option, reducing ambiguity - previously
``exclude_columns`` was missing. [ticket:2748]
diff 5db55c99 Tue Jan 01 11:46:21 MST 2013 Diana Clarke <diana.joan.clarke@gmail.com> happy new year (see #2645)
diff 5ccc8efa Tue Oct 30 22:41:28 MDT 2012 Mike Bayer <mike_mp@zzzcomputing.com> improve some autodoc links
5a02c9e7 Tue Aug 07 10:01:19 MDT 2012 Mike Bayer <mike_mp@zzzcomputing.com> - break out engine/base.py into base, interfaces, result, util.
- remove deprecated 0.7 engine methods
/sqlalchemy/lib/sqlalchemy/testing/
H A Drequirements.pydiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5fb0138a Sat Jul 04 10:21:36 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Implement rudimentary asyncio support w/ asyncpg

Using the approach introduced at
https://gist.github.com/zzzeek/6287e28054d3baddc07fa21a7227904e

We can now create asyncio endpoints that are then handled
in "implicit IO" form within the majority of the Core internals.
Then coroutines are re-exposed at the point at which we call
into asyncpg methods.

Patch includes:

* asyncpg dialect

* asyncio package

* engine, result, ORM session classes

* new test fixtures, tests

* some work with pep-484 and a short plugin for the
pyannotate package, which seems to have so-so results

Change-Id: Idbcc0eff72c4cad572914acdd6f40ddb1aef1a7d
Fixes: #3414
diff 5cf8e14d Wed Jun 26 09:45:50 MDT 2019 Mike Bayer <mike_mp@zzzcomputing.com> Reflect "NO ACTION" as None; support "RESTRICT"

The "NO ACTION" keyword for foreign key "ON UPDATE" is now considered to be
the default cascade for a foreign key on all supporting backends (SQlite,
MySQL, PostgreSQL) and when detected is not included in the reflection
dictionary; this is already the behavior for PostgreSQL and MySQL for all
previous SQLAlchemy versions in any case. The "RESTRICT" keyword is
positively stored when detected; PostgreSQL does report on this keyword,
and MySQL as of version 8.0 does as well. On earlier MySQL versions, it is
not reported by the database.

Fixes: #4741
Change-Id: I6becf1f2450605c1991158bb8a04d954dcc7396c
diff 5ca14954 Fri May 15 19:18:18 MDT 2015 Mike Bayer <mike_mp@zzzcomputing.com> - pg8000 wants to raise a ProgrammingError for a PK violation
/sqlalchemy/lib/sqlalchemy/orm/
H A Dinterfaces.pydiff 5ad4190a Wed Oct 27 09:14:50 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> consider "inspect(_of_type)" to be the entity of a comparator

Fixed 1.4 regression where :meth:`_orm.Query.filter_by` would not function
correctly when :meth:`_orm.Query.join` were joined to an entity which made
use of :meth:`_orm.PropComparator.of_type` to specify an aliased version of
the target entity. The issue also applies to future style ORM queries
constructed with :func:`_sql.select`.

Fixes: #7244
Change-Id: Ied28a03ce93201f932c7172d283cd4297be4d592
diff 5b3e887f Tue Jun 15 13:13:34 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> memoize current options and joins w with_entities/with_only_cols

Fixed further regressions in the same area as that of :ticket:`6052` where
loader options as well as invocations of methods like
:meth:`_orm.Query.join` would fail if the left side of the statement for
which the option/join depends upon were replaced by using the
:meth:`_orm.Query.with_entities` method, or when using 2.0 style queries
when using the :meth:`_sql.Select.with_only_columns` method. A new set of
state has been added to the objects which tracks the "left" entities that
the options / join were made against which is memoized when the lead
entities are changed.

Fixes: #6503
Fixes: #6253
Change-Id: I211b2af98b0b20d1263fb15dc513884dcc5de6a4
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5ec5b0a6 Sat Jan 30 09:55:22 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> reorganize mapper compile/teardown under registry

Mapper "configuration", which occurs within the
:func:`_orm.configure_mappers` function, is now organized to be on a
per-registry basis. This allows for example the mappers within a certain
declarative base to be configured, but not those of another base that is
also present in memory. The goal is to provide a means of reducing
application startup time by only running the "configure" process for sets
of mappers that are needed. This also adds the
:meth:`_orm.registry.configure` method that will run configure for the
mappers local in a particular registry only.

Fixes: #5897
Change-Id: I14bd96982d6d46e241bd6baa2cf97471d21e7caa
diff 2e46f73f Wed May 16 13:16:25 MDT 2018 Mike Bayer <mike_mp@zzzcomputing.com> Correct from version 1.2.5 to 1.2.8 for #4128

Change-Id: I3c9ec52a15e7cd083725d40f19078a783f1a4e23
diff 5d1a7182 Thu Nov 02 11:40:43 MDT 2017 Mike Bayer <mike_mp@zzzcomputing.com> - cross-link of_type() correctly

Change-Id: Iaacab5d2fe45b0b87fea922ec914e258dba9e30d
diff fe1cabb8 Thu Feb 23 12:40:00 MST 2017 Mike Bayer <mike_mp@zzzcomputing.com> Performance within instances()

Continuing from Ie43beecf37945b2bb7fff0aaa597a597293daa18,
also observed is the overhead of PathRegsitry memoized token
functions, as these paths are not cached in the case of
long joinedloader chains. The memoizations here were made
with short paths in mind, and have been replaced with
an inlined straight create of these paths up front, producing
callcounts very similar to 0.8. Combined with the previous
optimizations, 1.1 now runs the "joined eager load of one row"
worst case test in about 40% fewer calls than 0.8 and 60%
fewer than 1.1.5.

Change-Id: Ib5e1c1345a1dd8edfbdb3fed06eb717d4e164d31
Fixes: #3915
diff 5db55c99 Tue Jan 01 11:46:21 MST 2013 Diana Clarke <diana.joan.clarke@gmail.com> happy new year (see #2645)
diff 5af88c5d Wed Jul 16 15:56:23 MDT 2008 Mike Bayer <mike_mp@zzzcomputing.com> - MapperProperty gets its .key attribute assigned early, in _compile_property.
MapperProperty compilation is detected using a "_compiled" flag.
- A mapper which inherits from another, when inheriting
the columns of its inherited mapper, will use any
reassigned property names specified in that inheriting
mapper. Previously, if "Base" had reassigned "base_id"
to the name "id", "SubBase(Base)" would still get
an attribute called "base_id". This could be worked
around by explicitly stating the column in each
submapper as well but this is fairly unworkable
and also impossible when using declarative [ticket:1111].
H A D__init__.pydiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5ec5b0a6 Sat Jan 30 09:55:22 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> reorganize mapper compile/teardown under registry

Mapper "configuration", which occurs within the
:func:`_orm.configure_mappers` function, is now organized to be on a
per-registry basis. This allows for example the mappers within a certain
declarative base to be configured, but not those of another base that is
also present in memory. The goal is to provide a means of reducing
application startup time by only running the "configure" process for sets
of mappers that are needed. This also adds the
:meth:`_orm.registry.configure` method that will run configure for the
mappers local in a particular registry only.

Fixes: #5897
Change-Id: I14bd96982d6d46e241bd6baa2cf97471d21e7caa
diff 5de0f1cf Wed Jul 08 12:31:17 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Convert remaining ORM APIs to support 2.0 style

This is kind of a mixed bag of all kinds to help get us
to 1.4 betas. The documentation stuff is a work in
progress. Lots of other relatively small changes to
APIs and things. More commits will follow to continue
improving the documentation and transitioning to the
1.4/2.0 hybrid documentation. In particular some refinements
to Session usage models so that it can match Engine's
scoping / transactional patterns, and a decision to
start moving away from "subtransactions" completely.

* add select().from_statement() to produce FromStatement in an
ORM context

* begin referring to select() that has "plugins" for the few edge
cases where select() will have ORM-only behaviors

* convert dynamic.AppenderQuery to its own object that can use
select(), though at the moment it uses Query to support legacy
join calling forms.

* custom query classes for AppenderQuery are replaced by
do_orm_execute() hooks for custom actions, a separate gerrit
will document this

* add Session.get() to replace query.get()

* Deprecate session.begin->subtransaction. propose within the
test suite a hypothetical recipe for apps that rely on this
pattern

* introduce Session construction level context manager,
sessionmaker context manager, rewrite the whole top of the
session_transaction.rst documentation. Establish context manager
patterns for Session that are identical to engine

* ensure same begin_nested() / commit() behavior as engine

* devise all new "join into an external transaction" recipe,
add test support for it, add rules into Session so it
just works, write new docs. need to ensure this doesn't
break anything

* vastly reduce the verbosity of lots of session docs as
I dont think people read this stuff and it's difficult
to keep current in any case

* constructs like case(), with_only_columns() really need
to move to *columns, add a coercion rule to just change
these.

* docs need changes everywhere I look. in_() is not in
the Core tutorial? how do people even know about it?
Remove tons of cruft from Select docs, etc.

* build a system for common ORM options like populate_existing
and autoflush to populate from execution options.

* others?

Change-Id: Ia4bea0f804250e54d90b3884cf8aab8b66b82ecf
diff 5db55c99 Tue Jan 01 11:46:21 MST 2013 Diana Clarke <diana.joan.clarke@gmail.com> happy new year (see #2645)
diff d99c0a9e Sun Jul 12 08:33:06 MDT 2009 Mike Bayer <mike_mp@zzzcomputing.com> - sqlalchemy.orm.join and sqlalchemy.orm.outerjoin are now
added to __all__ in sqlalchemy.orm.*. [ticket:1463]

- Fixed bug where Query exception raise would fail when
a too-short composite primary key value were passed to
get(). [ticket:1458]

- rearranged CHANGES for 0.5.5 to be somewhat severity based.

- commented on [ticket:1445]
H A Dattributes.pydiff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5f8ee392 Tue Feb 16 16:36:50 MST 2021 Mike Bayer <mike_mp@zzzcomputing.com> Implement Mypy plugin

Rudimentary and experimental support for Mypy has been added in the form of
a new plugin, which itself depends on new typing stubs for SQLAlchemy. The
plugin allows declarative mappings in their standard form to both be
compatible with Mypy as well as to provide typing support for mapped
classes and instances.

Fixes: #4609
Change-Id: Ia035978c02ad3a5c0e5b3c6c30044dd5a3155170
diff 5ac10699 Wed May 29 07:47:13 MDT 2019 Dmytro Starosud <d.starosud@gmail.com> Rework AliasedClass __getattr__ to use top-level getattr()

Reworked the attribute mechanics used by :class:`.AliasedClass` to no
longer rely upon calling ``__getattribute__`` on the MRO of the wrapped
class, and to instead resolve the attribute normally on the wrapped class
using getattr(), and then unwrap/adapt that. This allows a greater range
of attribute styles on the mapped class including special ``__getattr__()``
schemes; but it also makes the code simpler and more resilient in general.

Fixes: #4694
Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com>
Change-Id: I28901e2472d3c21e881fe5cafa3b1d3af704fad8
diff 5db55c99 Tue Jan 01 11:46:21 MST 2013 Diana Clarke <diana.joan.clarke@gmail.com> happy new year (see #2645)
diff 5b23a680 Sat Dec 22 16:40:06 MST 2012 Mike Bayer <mike_mp@zzzcomputing.com> - add tests to ensure SELECT of dynamic collection not emitted
on regular append/remove history
- fix the real cause of the original #2637 issue, backrefs call upon
the "pop()" method now which wasn't implemented for Dynamic
diff 5e2b2bbd Tue Feb 09 15:38:00 MST 2010 Jason Kirtland <jek@discorporate.us> Fix instance.__eq__() regression in orm attributes.
diff 5edafbe9 Wed Sep 05 17:05:39 MDT 2007 Mike Bayer <mike_mp@zzzcomputing.com> do the cheaper check first....
diff 5b99ac8f Fri Sep 22 16:55:10 MDT 2006 Mike Bayer <mike_mp@zzzcomputing.com> fix to reset_class_managed to look at noninherited attributes only; an artifact of compilation brought this up
diff 5b4c5850 Fri Dec 16 01:26:58 MST 2005 Mike Bayer <mike_mp@zzzcomputing.com> indent..
diff 5ca6c68b Sat Sep 17 14:03:46 MDT 2005 Mike Bayer <mike_mp@zzzcomputing.com>

Completed in 937 milliseconds