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 © 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(&)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.