summaryrefslogtreecommitdiff
path: root/doc/build/index.rst
Commit message (Collapse)AuthorAgeFilesLines
* further 2.0 modernizationsMike Bayer2022-10-131-19/+28
| | | | | | | biggest change here is the old tutorials were removed from the TOC and some additional links to them have been corrected. Change-Id: I79b878a946422eac24ed2449b440fc5d556576c4
* New ORM Query Guide featuring DML supportMike Bayer2022-09-251-1/+1
| | | | | | | | | | | | | | | | | reviewers: these docs publish periodically at: https://docs.sqlalchemy.org/en/gerrit/4042/orm/queryguide/index.html See the "last generated" timestamp near the bottom of the page to ensure the latest version is up Change includes some other adjustments: * small typing fixes for end-user benefit * removal of a bunch of old examples for patterns that nobody uses or aren't really what we promote now * modernization of some examples, including inheritance Change-Id: I9929daab7797be9515f71c888b28af1209e789ff
* link to index correctlyMike Bayer2022-07-301-1/+1
| | | | | Fixes: #8303 Change-Id: If3568309e4dd3e9ef715b32f9ad90eeba7f662e8
* update ORM declarative docs for new featuresMike Bayer2022-07-161-0/+1
| | | | | | | I screwed up a rebase or something so this was temporarily in Ic51a12de3358f3a451bd7cf3542b375569499fc1 Change-Id: I847ee1336381221c0112b67854df022edf596b25
* rework ORM mapping docsMike Bayer2022-06-211-1/+1
| | | | | | | | | | prepare docs for newly incoming mapper styles, including new dataclass mapping. move the existing dataclass/attrs docs all into their own section and try to improve organization and wording into the relatively recent "mapping styles" document. Change-Id: I0b5e2a5b6a70db65ab19b5bb0a2bb7df20e0b498
* fix most sphinx warnings (1.4)Mike Bayer2022-05-161-0/+1
| | | | | | | | | | | | | | | still can't figure out the warnings with some of the older changelog files. this cherry-picks the sphinx fixes from 1.4 and additionally fixes a small number of new issues in the 2.0 docs. However, 2.0 has many more errors to fix, primarily from the removal of the legacy tutorials left behind a lot of labels that need to be re-linked to the new tutorial. Fixes: #7946 Change-Id: Id657ab23008eed0b133fed65b2f9ea75a626215c (cherry picked from commit 9b55a423459236ca8a2ced713c9e93999dd18922)
* ORM quickstartMike Bayer2022-03-111-1/+3
| | | | | | | | | This is done in 1.4 style so it can be backported to 1.4. Will put this up as is, we can work on it. For 2.0, the ORM mapping will be updated to mapped_column() style when we do the full pass. Change-Id: Icfdf81449973844dac244b3a107ce955a7d3b16c
* quick doc adjustmentsMike Bayer2022-03-031-21/+35
| | | | | | tweet thread: https://twitter.com/zzzeek/status/1499397255089909762 Change-Id: I5556ef707c2285e7b64c91ae5c58af52efcf4770
* fix typo in word 'establishing' (#7648)Ben English2022-01-311-1/+1
|
* initial 2.0 setupMike Bayer2021-10-301-18/+13
| | | | | | | Adapted from 55e64f857daeb6057b85ff67297a774b when we previously started a 2.0 branch. Change-Id: Ib5af75df94b23104eebe0e918adcf979d798ea3b
* Add Result to the link description in the docs indexFederico Caselli2021-07-011-1/+1
| | | | Change-Id: Ic6d9e1c92e1f7a4bbfe4446ac063d033e8b0089c
* Implement Mypy pluginMike Bayer2021-03-131-0/+1
| | | | | | | | | | | 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
* tutorial 2.0 WIPreview/mike_bayer/tutorial20Mike Bayer2020-10-311-10/+7
| | | | | | | | | | | | | | Add SelectBase.exists() method as it seems strange this is not available already. The Exists construct itself does not provide full SELECT-building capabilities so it makes sense this should be used more like a scalar_subquery. Make sure stream_results is getting set up when yield_per is used, for 2.0 style statements as well. this was hardcoded inside of Query.yield_per() and is now moved to take place within QueryContext. Change-Id: Icafcd4fd9b708772343d56edf40995c9e8f835d6
* new docs WIPMike Bayer2020-09-241-101/+145
| | | | | | | | | | | | | | | 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
* Implement rudimentary asyncio support w/ asyncpgMike Bayer2020-08-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Documentation updates for 1.4Mike Bayer2020-08-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * major additions to 1.4 migration doc; removed additional verbosity regarding caching methodology and reorganized the doc to present itself more as a "what's changed" guide * as we now have a path for asyncio, update that doc so that we aren't spreading obsolete information * updates to the 2.0 migration guide with latest info, however this is still an architecture doc and not a migration guide yet, will need further rework. * start really talking about 1.x vs. 2.0 style everywhere. Querying is most of the docs so this is going to be a prominent theme, start getting it to fit in * Add introductory documentation for ORM example sections as these are too sparse * new documentation for do_orm_execute(), many separate sections, adding deprecation notes to before_compile() and similar * new example suites to illustrate do_orm_execute(), with_loader_criteria() * modernized horizontal sharding examples and added a separate example to distinguish between multiple databases and single database w/ multiple tables use case * introducing DEEP ALCHEMY, will use zzzeeksphinx 1.1.6 * no name for the alchemist yet however the dragon's name is Flambé Change-Id: Id6b5c03b1ce9ddb7b280f66792212a0ef0a1c541
* Convert remaining ORM APIs to support 2.0 styleMike Bayer2020-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Result initial introductionMike Bayer2020-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This builds on cc718cccc0bf8a01abdf4068c7ea4f3 which moved RowProxy to Row, allowing Row to be more like a named tuple. - KeyedTuple in ORM is replaced with Row - ResultSetMetaData broken out into "simple" and "cursor" versions for ORM and Core, as well as LegacyCursor version. - Row now has _mapping attribute that supplies full mapping behavior. Row and SimpleRow both have named tuple behavior otherwise. LegacyRow has some mapping features on the tuple which emit deprecation warnings (e.g. keys(), values(), etc). the biggest change for mapping->tuple is the behavior of __contains__ which moves from testing of "key in row" to "value in row". - ResultProxy breaks into ResultProxy and FutureResult (interim), the latter has the newer APIs. Made available to dialects using execution options. - internal reflection methods and most tests move off of implicit Row mapping behavior and move to row._mapping, result.mappings() method using future result - a new strategy system for cursor handling replaces the various subclasses of RowProxy - some execution context adjustments. We will leave EC in but refined things like get_result_proxy() and out parameter handling. Dialects for 1.4 will need to adjust from get_result_proxy() to get_result_cursor_strategy(), if they are using this method - out parameter handling now accommodated by get_out_parameter_values() EC method. Oracle changes for this. external dialect for DB2 for example will also need to adjust for this. - deprecate case_insensitive flag for engine / result, this feature is not used mapping-methods on Row are deprecated, and replaced with Row._mapping.<meth>, including: row.keys() -> use row._mapping.keys() row.items() -> use row._mapping.items() row.values() -> use row._mapping.values() key in row -> use key in row._mapping int in row -> use int < len(row) Fixes: #4710 Fixes: #4878 Change-Id: Ieb9085e9bcff564359095b754da9ae0af55679f0
* - continued 1.4 setup, somehow the commit didn't workMike Bayer2019-04-271-1/+1
| | | | | Fixes: #4631 Change-Id: I400e388a704aa6ee7722a89687a033083ce22550
* - remove non-working dialects some of which are 404'sMike Bayer2018-12-241-1/+7
| | | | | | | - put the five major dialect names on the front page - remove old change messages Change-Id: Ibf1dc2c499f10f98efb6c97d6c53e442e7746200
* - add changelog 13 and linksMike Bayer2018-07-091-1/+1
| | | | Change-Id: I658a5958c0b053a26308aba213d9da3a67b75a1c
* Add new errors sectionMike Bayer2017-12-221-0/+1
| | | | | | | Adding this to master so that it can be published, in advance of the exception-level site integration feature. Change-Id: Ia2a61df8e5198b81ef8f5fbac91143767b70c26b
* - bump minimum python version to 2.7Mike Bayer2017-03-101-1/+1
| | | | | | - add placeholder 1.2 release documentation, update intro numbers Change-Id: I9f9969cbb9e95c2f750a5c16798e92c35a5ef6cf
* Add `sqlalchemy.ext.index` for indexed attributes for ORMJeong YunWon2016-06-151-1/+2
| | | | | | | | | Add `sqlalchemy.ext.index.index_property` which subscribe an index of a column with `Indexable` type. Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com> Change-Id: I238c23131e4fded5dc7f7a25eb02e26008099d00 Pull-request: https://github.com/zzzeek/sqlalchemy/pull/235
* - Organize the tree for 1.1Mike Bayer2015-07-241-1/+1
|
* - Added a new extension suite :mod:`sqlalchemy.ext.baked`. ThisMike Bayer2015-03-111-1/+2
| | | | | | | | simple but unusual system allows for a dramatic savings in Python overhead for the construction and processing of orm :class:`.Query` objects, from query construction up through rendering of a string SQL statement. fixes #3054
* remove pipe...Mike Bayer2014-12-271-1/+1
|
* - squash-merge the improve_toc branch, which moves all the Sphinx stylingMike Bayer2014-12-171-27/+11
| | | | | | and extensions into an external library, and also reorganizes most large documentation pages into many small areas to reduce scrolling and better present the context into a more fine-grained hierarchy.
* - automap isn't new anymoreMike Bayer2014-12-141-1/+1
|
* - re-merge doc_nav. We've removed the whole idea of a "fixed top", and ↵Mike Bayer2014-05-291-1/+1
|\ | | | | | | | | | | | | | | moved the "fixed" thing entirely to the left side. The content now regains full vertical real estate, such that there's no workarounds needed for anchors, they work directly again. we had to reorganize the whole layout to accommodate this however.
| * fixMike Bayer2014-05-291-1/+1
| |
* | - switch master to be 1.0Mike Bayer2014-05-231-1/+1
|/
* - many-to-many supportMike Bayer2014-01-051-0/+1
| | | | | - tests - full documentation, changelog, new in 0.9 announcement
* Suppress warnings about files not being included in any toctreeVraj Mohan2013-11-131-0/+2
|
* move FAQ to the docs, [ticket:2133]Mike Bayer2013-08-211-0/+1
|
* - reorganize docs so expression, schema are broken out into subfiles, ↵Mike Bayer2013-08-181-5/+5
| | | | | | they're too big - fix the targeting of module names moved around by using custom handlers for "Bases", etc.
* - fix up 0.9 linksMike Bayer2013-05-291-1/+1
|
* - add class_ to AliasedInspMike Bayer2012-10-261-0/+1
| | | | | | - redefine inspect(Class.attrname).parent to be always an inspectable target; either Mapper or AliasedInsp - add most major features to 08 migration, document, link
* 0.7 updates, linksMike Bayer2012-10-251-1/+1
|
* link fixMike Bayer2012-10-201-1/+1
|
* - move all CHANGES files into the sphinx docs. this is rudimental nowMike Bayer2012-10-201-1/+2
| | | | | | but puts the changelog in a more data driven format, so that we can begin linking version directives with them as well as with migration documents, once those are also moved into sphinx.
* - move out maxdbMike Bayer2012-10-181-13/+3
| | | | | | - begin consolidating docs for dialects to be more self contained - add a separate section for "external" dialects - not sure how we're going to go with this yet.
* remove accessMike Bayer2012-09-301-1/+0
|
* tighten this upMike Bayer2012-08-181-1/+1
|
* - document the inspection systemMike Bayer2012-07-181-6/+7
|
* - [moved] The InstrumentationManager interfaceMike Bayer2012-06-241-0/+1
| | | | | | | | | | | | | and the entire related system of alternate class implementation is now moved out to sqlalchemy.ext.instrumentation. This is a seldom used system that adds significant complexity and overhead to the mechanics of class instrumentation. The new architecture allows it to remain unused until InstrumentationManager is actually imported, at which point it is bootstrapped into the core.
* Fix a typo in the documentationFranck Cuny2012-04-271-1/+1
| | | | s/Attrbutes/Attributes/
* top level version-specific linksMike Bayer2012-04-241-1/+1
|
* - remove sqlsoup [ticket:2262]Mike Bayer2012-04-241-1/+0
| | | | - remove sqlalchemy.exceptions [ticket:2433]
* - add a new "documentation overview" page. rip off a project widely knownMike Bayer2011-04-141-12/+115
| | | | to start with "Dj".