PageSourceSearch

https://www.sqlalchemy.org/

html sqlalchemy.org collected 2026-10-01 08:30:57 UTC 19,123 bytes, 493 lines download raw bytes

1<!DOCTYPE html>
2
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5    <meta name="viewport" content="width=device-width, initial-scale=1">
6    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7    <title>
8        
9        SQLAlchemy - The Database Toolkit for Python
10        
11    </title>
12
13    <meta name="description" content="The Database Toolkit for Python">
14
15    <!-- Meta Tags Generated via https://www.opengraph.xyz -->
16    <meta property="og:url" content="https://www.sqlalchemy.org">
17    <meta property="og:type" content="website">
18    <meta property="og:title" content="SQLAlchemy">
19    <meta property="og:description" content="The Database Toolkit for Python">
20    <meta property="og:image" content="https://www.sqlalchemy.org/img/sqla_og.png">
21
22    <meta name="twitter:card" content="summary_large_image">
23    <meta property="twitter:domain" content="sqlalchemy.org">
24    <meta property="twitter:url" content="https://www.sqlalchemy.org">
25    <meta name="twitter:title" content="SQLAlchemy">
26    <meta name="twitter:description" content="The Database Toolkit for Python">
27    <meta name="twitter:image" content="https://www.sqlalchemy.org/img/sqla_og.png">
28
29
30    
31        <!-- sqlalchemy.org head -->
32        
33<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
34<link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,400italic' rel='stylesheet' type='text/css'/>
35    <link rel="stylesheet" type="text/css" media="all" href="/css/bootstrap.min.css"/>
36	<link rel="stylesheet" type="text/css" media="all" href="/css/site.css"/>
37	<link rel="stylesheet" type="text/css" media="all" href="/css/sidebar_extra.css"/>
38	<link rel="stylesheet" type="text/css" media="print" href="/css/print.css"/>
39
40<script type="text/javascript">
41var site_base='';
42var docs_base='//docs.sqlalchemy.org';
43</script>
43
44
45
46        <!-- end sqlalchemy.org head -->
47    
48
49</head>
50
51<body>
52
53<div id="wrap" class="container-xxl wrap px-0">
54
55    
56
57
58
59<nav class="navbar navbar-light logo">
60    <div class="container-fluid">
61        <a class="navbar-brand" href="/">
62            <img src="/img/sqla_logo.png" width="240" alt="SQLAlchemy">
63        </a>
64        <div class="navbar-brand align-self-end dbtoolkit">
65            <img src="/img/dbtoolkit6.gif" width="180" height="12" alt="The Database Toolkit for Python">
66        </div>
67    </div>
68</nav>
69<nav class="navbar navbar-expand-md navbar-dark bg-sa-green py-0 navigation">
70    <div class="container-fluid">
71        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavigation" aria-controls="navbarNavigation" aria-expanded="false" aria-label="Toggle navigation">
72            <span class="navbar-toggler-icon"></span>
73        </button>
74        <span class="navbar-brand d-md-block d-md-none" href="#">The Database Toolkit for Python</span>
75        <div class="collapse navbar-collapse" id="navbarNavigation">
76            <ul class="navbar-nav me-auto">
77                <li class="nav-item">
78                    <a class="nav-link active" aria-current="page" href="/">home</a>
79                </li>
80                <li class="nav-item dropdown">
81                    <a class="nav-link dropdown-toggle "  href="#" id="feature-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
82                        features
83                    </a>
84                    <ul class="dropdown-menu dropdown-menu-dark bg-sa-green" aria-labelledby="feature-dropdown">
85                        <li><a class="dropdown-item" href="/philosophy.html">Philosophy Statement</a></li>
86                        <li><a class="dropdown-item" href="/features.html">Feature Overview</a></li>
87                        <li><a class="dropdown-item" href="/quotes.html">Testimonials</a></li>
88                    </ul>
89                </li>
90                <li class="nav-item">
91                    <a class="nav-link "  href="/blog/">news</a>
92                </li>
93                <li class="nav-item dropdown">
94                    <a class="nav-link dropdown-toggle " 
95                    href="#" id="docs-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
96                        documentation
97                    </a>
98                    <ul class="dropdown-menu dropdown-menu-dark bg-sa-green" aria-labelledby="docs-dropdown">
99                        <li><a class="dropdown-item" href="//docs.sqlalchemy.org">Current Documentation (version 2.1)</a></li>
100
101                        <li><hr class="dropdown-divider"></li>
102                        <li><a class="dropdown-item" href="/library.html#reference">Documentation by Version</a></li>
103                        
104        <li>
105            <a class="dropdown-item" href="//docs.sqlalchemy.org/en/21/">
106                <span class="ps-2">Version 2.1</span>
107            </a>
108        </li>
109        <li>
110            <a class="dropdown-item" href="//docs.sqlalchemy.org/en/20/">
111                <span class="ps-2">Version 2.0</span>
112            </a>
113        </li>
114        <li>
115            <a class="dropdown-item" href="//docs.sqlalchemy.org/en/14/">
116                <span class="ps-2">Version 1.4</span>
117            </a>
118        </li>
119
120                        <li><hr class="dropdown-divider"></li>
121
122                        <li><a class="dropdown-item" href="/library.html#talks">Talks and Tutorials</a></li>
123                        <li><a class="dropdown-item" href="/library.html">Published content overview</a></li>
124                    </ul>
125                </li>
126                <li class="nav-item dropdown">
127                    <a class="nav-link dropdown-toggle "  href="#" id="community-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
128                        community
129                    </a>
130                    <ul class="dropdown-menu dropdown-menu-dark bg-sa-green" aria-labelledby="community-dropdown">
131                        <li><a class="dropdown-item" href="/support.html">Get Support</a></li>
132                        <li><a class="dropdown-item" href="/participate.html">Participate</a></li>
133                        <li><a class="dropdown-item" href="/develop.html">Develop</a></li>
134                        <li><a class="dropdown-item" href="/codeofconduct.html">Code of Conduct</a></li>
135                        <li><a class="dropdown-item" href="https://github.com/sqlalchemy/sqlalchemy">GitHub</a></li>
136                    </ul>
137                </li>
138                <li class="nav-item dropdown">
139                    <a class="nav-link dropdown-toggle "  href="#" id="download-dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
140                        download
141                    </a>
142                    <ul class="dropdown-menu dropdown-menu-dark bg-sa-green" aria-labelledby="download-dropdown">
143                        <li><a class="dropdown-item" href="/download.html">Download</a>
144                        
145
146
147
148
149
150
151    <li><a 
152        class="dropdown-item"
153 href="/download.html#current">Current Release Series (2.1)</a></li>
154
155    <li><a 
156        class="dropdown-item"
157 href="/download.html#maintenance">Maintenance Release (2.0)</a></li>
158
159    <li><a 
160        class="dropdown-item"
161 href="/download.html#development">Development Access</a></li>
162    <li><a 
163        class="dropdown-item"
164 href="/download.html#license">License</a></li>
165    <li><a 
166        class="dropdown-item"
167 href="/download.html#versions">Version Numbering</a></li>
168    <li><a 
169        class="dropdown-item"
170 href="/download.html#relstatus">Release Status</a></li>
171
172                    </ul>
173                </li>
174            </ul>
175        </div>
176    </div>
177</nav>
178
179
180    <div id="main-body" class="home main-body row m-0">
181
182
183        <main id="content" class="content col-md-8 col-lg-9 p-4">
184            <div id="content-inner">
185                
186
187
188
189<h1>The Python SQL Toolkit and Object Relational Mapper</h1>
190
191<p>SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
192gives application developers the full power and flexibility of SQL.</p>
193<p>It provides a full suite of well known enterprise-level persistence
194patterns, designed for efficient and high-performing database access, adapted
195into a simple and Pythonic domain language.</p>
196
197<dl id="features" class="features">
198    <dt>Documentation</dt>
199    <dd>
200        <ul>
201            <li><a href="//docs.sqlalchemy.org"><strong>Current Documentation (version 2.1)</strong></a> - learn SQLAlchemy here
202                <ul>
203                    <li><a href="//docs.sqlalchemy.org">Documentation Overview</a></li>
204                    <li><a href="//docs.sqlalchemy.org/intro.html#installation">Installation Guide</a></li>
205                    <li><a href="//docs.sqlalchemy.org/orm/quickstart.html">ORM Quickstart</a></li>
206                    <li><a href="//docs.sqlalchemy.org/tutorial/index.html">Comprehensive Tutorial</a></li>
207                    <li><strong>Reference Guides</strong>
208                        <ul>
209                            <li><a href="//docs.sqlalchemy.org/orm/">Object Relational Mapping (ORM)</a></li>
210                            <li><a href="//docs.sqlalchemy.org/core/">Core (Connections, Schema Management, SQL)</a></li>
211                            <li><a href="//docs.sqlalchemy.org/dialects/">Dialects (specific backends)</a></li>
212                        </ul>
213
214                    </li>
215                </ul>
216            </li>
217            <li><strong>Documentation by Version</strong>
218                <ul class="version-listing">
219                    <li><a href="//docs.sqlalchemy.org">Reference Documentation</a></li>
220                </ul>
221
222            </li>
223        </ul>
224    </dd>
225
226
227    <dt>Learn More</dt>
228    <dd>
229        <ul>
230            <li><strong>Front Matter</strong>
231
232            <ul>
233                <li><a href="/philosophy.html">SQLAlchemy's Philosophy</a></li>
234                <li><a href="/features.html">Overview of Key Features</a></li>
235                <li><a href="/quotes.html">Testimonials</a></li>
236            </ul>
237
238            </li>
239            <li><a href="/library.html"><strong>Library</strong></a> - Articles and Talks
240                <ul>
241                <li><a href="/library.html#talks">Talks and Tutorials</a></li>
242                <li><a href="/library.html#architecture">Architecture</a></li>
243                </ul>
244            </li>
245        </ul>
246    </dd>
247
248    <dt>Resources</dt>
249    <dd>
250            <ul>
251                <li><a href="/download.html">Release History / Download Information</a></li>
252                <li><a href="/blog/">News and Announcements</a></li>
253                <li><strong>Community</strong>
254                    <ul>
255                        <li><a href="/support.html">Getting Support</a></li>
256                        <li><a href="/participate.html">Participate in the Project</a></li>
257                        <li><a href="/develop.html">Get Involved with Development</a></li>
258                        <li><a href="/codeofconduct.html">Code of Conduct</a></li>
259                    </ul>
260                </li>
261            </ul>
262        </ul>
263    </dd>
264</dl>
265
266
267
268
269
270
271
272            </div>
273        </main> <!-- end #content-inner, #content -->
274
275        <div class="col-md-4 col-lg-3 pt-4 px-2">
276            
277                
278<div id="sidebar" class="sidebar">
279
280    <div class="release card text-dark bg-sa-grey mb-2">
281        <div class="card-body">
282            
283
284
285
286<h3 class="card-title">Current Releases</h3>
287
288
289
290    <div class="release-box border-end border-bottom py-2">
291        <a href="/download.html">
292            <b>2.1.1</b>
293        </a> - 2026-09-25 -
294        <a href="/blog/2026/09/25/sqlalchemy-2.1.1-released/">announce</a>
295        <br/>
296        <a href="/changelog/CHANGES_2_1_1">changes</a> |
297        <a href="/docs/21/changelog/migration_21.html">migration notes</a> |
298        <a href="/docs/21/">docs</a>
299
300<div class="pypi-badges">
301<a href="https://pypi.org/project/sqlalchemy" alt="PyPI"><img src="https://img.shields.io/pypi/v/sqlalchemy"></a>
302<a href="https://pepy.tech/project/sqlalchemy" alt="PyPI - Downloads"><img src="https://static.pepy.tech/badge/sqlalchemy/month"></a>
303<a href="https://pypi.org/project/sqlalchemy" alt="PyPI - Python Version"><img src="https://img.shields.io/pypi/pyversions/sqlalchemy"></a>
304</div>
305    </div>
306
307
308
309    
310    <div class="release-box border-end border-bottom py-2">
311        <a href="/download.html">
312            <b>2.0.54</b>
313        </a> - 2026-09-15 -
314        <a href="/blog/2026/09/15/sqlalchemy-2.0.54-released/">announce</a>
315        <br/>
316        <a href="/changelog/CHANGES_2_0_54">changes</a> |
317        <a href="/docs/20/changelog/migration_20.html">migration notes</a> |
318        <a href="/docs/20/">docs</a>
319
320    </div>
321
322
323
324
325
326        </div>
327    </div>
328
329    <div class="snd-ad card text-dark bg-sa-grey mb-2">
330        <div class="banner card-body">
331            
332<script async type="text/javascript" id="_carbonads_js"></script>
vendor: 1 bytes, line 332
332
333<script async type="text/javascript" id="_eaads_js"></script>
333
334
335<div data-ea-publisher="sqlalchemyorg" data-ea-type="image" class="flat horizontal"></div>
336
337<script type="text/javascript">
338
339var ea = "https://media.ethicalads.io/media/client/ethicalads.min.js";
340var carbon = "//cdn.carbonads.com/carbon.js?serve=CKYILK7Y&placement=sqlalchemyorg";
341
342if (1) {
343    ea_script = document.getElementById("_eaads_js");
344    ea_script.setAttribute('src', ea);
345}
346else {
347    carbon_script = document.getElementById("_carbonads_js");
348    carbon_script.setAttribute('src', carbon);
349}
350
351</script>
351
352
353        </div>
354    </div>
355
356    <div class="donate card text-dark bg-sa-grey mb-2">
357        <div class="card-body">
358            <h3 class="card-title"><a name="donate"></a>Sponsor SQLAlchemy!</h3>
359
360<div class="border-bottom pb-1">
361    <div class="row g-0">
362    <div class="col-4 d-flex pe-1">
363        <form class="d-block m-auto" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
364            <input type="hidden" name="cmd" value="_s-xclick">
365            <input type="hidden" name="hosted_button_id" value="AGTGR9Y8R7A8J">
366            <input class="img-fluid" type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online!">
367            <img alt="" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
368        </form>
369    </div>
370    <div class="col-8 ps-1">
371        <p class="m-0">
372            <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=AGTGR9Y8R7A8J&source=url">
373                Donate to SQLAlchemy through <strong>PayPal</strong>
374            </a>
375        </p>
376    </div>
377</div>
378
379</div>
380<div class="pt-1">
381    <a class="row g-0" href="https://tidelift.com/subscription/pkg/pypi-sqlalchemy?utm_source=pypi-sqlalchemy&utm_medium=referral&utm_campaign=website">
382    <div class="col-3 d-flex pe-1">
383        <img class="tl-sponsor-img m-auto" src="/img/tidelift_sm.png"/>
384    </div> 
385    <div class="col-9 ps-1">
386        <p class="m-0">Sponsor SQLAlchemy through the Tidelift Subscription</p>
387    </div>
388</a>
389</div>
390
391
392        </div>
393    </div>
394
395    <div class="news card text-dark bg-sa-grey mb-2">
396        <div class="card-body">
397            
398<h3 class="card-title">Latest News</h3>
399
400<ul class="m-0 p-0">
401        <li class="py-1">
402            <a href="/blog/#sqlalchemy-2.1.1-released">SQLAlchemy 2.1.1 Released</a>
403            <br/>
404            <span class="fst-italic text-muted">Fri, 25 Sep 2026</span>
405        </li>
406        <li class="py-1">
407            <a href="/blog/#sqlalchemy-2.1.0-released">SQLAlchemy 2.1.0 Released</a>
408            <br/>
409            <span class="fst-italic text-muted">Thu, 24 Sep 2026</span>
410        </li>
411        <li class="py-1">
412            <a href="/blog/#sqlalchemy-2.0.54-released">SQLAlchemy 2.0.54 Released</a>
413            <br/>
414            <span class="fst-italic text-muted">Tue, 15 Sep 2026</span>
415        </li>
416        <li class="py-1">
417            <a href="/blog/#sqlalchemy-2.0.53-released">SQLAlchemy 2.0.53 Released</a>
418            <br/>
419            <span class="fst-italic text-muted">Mon, 14 Sep 2026</span>
420        </li>
421        <li class="py-1">
422            <a href="/blog/#sqlalchemy-2.1.0rc2-released">SQLAlchemy 2.1.0rc2 Released</a>
423            <br/>
424            <span class="fst-italic text-muted">Tue, 08 Sep 2026</span>
425        </li>
426</ul>
427
428
429    <a class="card-link" href="/blog/">More news...</a>
430
431        </div>
432    </div>
433
434</div> <!-- end #sidebar -->
435
436            
437        </div>
438
439
440    </div> <!-- end #main-body -->
441
442    
443
444<div id="footer" class="footer">
445    <div class="snd-ad">
446    </div>
447    <div class="pypowered">
448        <a href="http://www.python.org/" title="The Python Language Site">
449            <img src="/img/python-logo.gif" width="88" height="30" alt="Python" class="pypowered" />
450        </a>
451    </div>
452
453    <div class="copyright">
454        <p>Website content copyright &copy; by SQLAlchemy authors and contributors.
455            SQLAlchemy and its documentation are licensed under the MIT license.</p>
456        <p>SQLAlchemy is a trademark of Michael Bayer.  mike(&amp;)zzzcomputing.com
457        All rights reserved. </p>
458        <p>Website generation by
459        <a href="https://github.com/sqlalchemyorg/zeekofile/">zeekofile</a>, with
460        huge thanks to the <a href="https://github.com/EnigmaCurry/blogofile">Blogofile</a>
461        project.</p>
462
463        <a rel="me" href="https://hachyderm.io/@zzzeek">Mastodon</a>
464        <a rel="me" href="https://fosstodon.org/@zzzeek">Mastodon</a>
465
466    </div>
467
468    <br clear="all" />
469
470</div>
471
472
473
474</div> <!-- end #wrap -->
475
476<script type="text/javascript" src="/js/bootstrap.bundle.min.js"></script>
vendor: 1 bytes, line 476
476
477<script type="text/javascript" src="/js/doc_versions.js"></script>
477
478
479
480
481
482
483<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a43a1bb65c9cd94c',t:'MTc5MDg0MzQ1Nw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
483<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"84554067ffa8478c91e77955c584caf2","spa":2}' crossorigin="anonymous"></script>
483
484</body>
485</html>
486
487
488
489
490
491
492
493

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.