summaryrefslogtreecommitdiff
path: root/doc/build/index.rst
Commit message (Collapse)AuthorAgeFilesLines
* 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".
* - whitespace removal bonanzaMike Bayer2011-01-021-2/+2
|
* doc editsMike Bayer2010-09-231-1/+1
|
* continued...Mike Bayer2010-09-041-1/+2
|
* experiment with removing the API section and putting docstrings inline.Mike Bayer2010-09-041-8/+3
| | | | new outline section is provided with a new flow.
* - mega example cleanupMike Bayer2010-01-191-0/+1
| | | | | | - added READMEs to all examples in each __init__.py and added to sphinx documentation - added versioning example - removed vertical/vertical.py, the dictlikes are more straightforward
* - restored the previous API Reference structureMike Bayer2008-12-081-12/+1
| | | | | - bumped latex TOC structure, the PDF looks great - but we need to fix the translate_connect_args docstring bug to really have PDF
* - moved index.rst around to have the API docs right there, no "Main ↵Mike Bayer2008-12-071-6/+13
| | | | | | | Documentation" chapter which is fairly needless. this all allows PDF to have a decent TOC on the side with only two levels (can we change that ?) - added LatexFormatter. - PDF wont work until issue with the docstirng in url.py/URL.translate_connect_args is fixed.
* - re-documented Table and Column constructors, fixed case sensitivity ↵Mike Bayer2008-12-071-1/+0
| | | | | | | description [ticket:1231] - turned on autoclass_content="both". Need to specify __init__ docstring with a newline after the """. - other docs
* - merged -r5338:5429 of sphinx branch.Mike Bayer2008-12-061-0/+24
- Documentation has been converted to Sphinx. In particular, the generated API documentation has been constructed into a full blown "API Reference" section which organizes editorial documentation combined with generated docstrings. Cross linking between sections and API docs are vastly improved, a javascript-powered search feature is provided, and a full index of all classes, functions and members is provided.