[{"data":1,"prerenderedAt":1365},["ShallowReactive",2],{"navigation_docs":3,"-api-engine":106,"-api-engine-surround":1360},[4,26,57,83],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":25},"Getting Started","i-lucide-rocket","/getting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/getting-started/introduction","1.getting-started/1.introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start","i-lucide-play",false,{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":25},"Core Concepts","i-lucide-book-open","/essentials","2.essentials",[32,37,42,47,52],{"title":33,"path":34,"stem":35,"icon":36},"Models","/essentials/models","2.essentials/1.models","i-lucide-box",{"title":38,"path":39,"stem":40,"icon":41},"Collections","/essentials/collections","2.essentials/2.collections","i-lucide-folder",{"title":43,"path":44,"stem":45,"icon":46},"Views","/essentials/views","2.essentials/3.views","i-lucide-table",{"title":48,"path":49,"stem":50,"icon":51},"Schema Evolution","/essentials/schema-evolution","2.essentials/4.schema-evolution","i-lucide-git-branch",{"title":53,"path":54,"stem":55,"icon":56},"Relations","/essentials/relations","2.essentials/5.relations","i-lucide-link",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":25},"Advanced","i-lucide-settings","/advanced","3.advanced",[63,68,73,78],{"title":64,"path":65,"stem":66,"icon":67},"Time-Series","/advanced/time-series","3.advanced/1.time-series","i-lucide-chart-line",{"title":69,"path":70,"stem":71,"icon":72},"Async Support","/advanced/async","3.advanced/2.async","i-lucide-zap",{"title":74,"path":75,"stem":76,"icon":77},"PostgreSQL","/advanced/postgresql","3.advanced/3.postgresql","i-lucide-database",{"title":79,"path":80,"stem":81,"icon":82},"Performance Guide","/advanced/performance","3.advanced/4.performance","i-lucide-gauge",{"title":84,"icon":85,"path":86,"stem":87,"children":88,"page":25},"API Reference","i-lucide-file-code","/api","4.api",[89,94,98,101],{"title":90,"path":91,"stem":92,"icon":93},"Engine","/api/engine","4.api/1.engine","i-lucide-cog",{"title":95,"path":96,"stem":97,"icon":41},"Collection","/api/collection","4.api/2.collection",{"title":33,"path":99,"stem":100,"icon":36},"/api/models","4.api/3.models",{"title":102,"path":103,"stem":104,"icon":105},"Exceptions","/api/exceptions","4.api/4.exceptions","i-lucide-alert-triangle",{"id":107,"title":90,"body":108,"description":1353,"extension":1354,"links":1355,"meta":1356,"navigation":1357,"path":91,"seo":1358,"stem":92,"__hash__":1359},"docs/4.api/1.engine.md",{"type":109,"value":110,"toc":1342},"minimark",[111,119,124,309,382,399,403,565,570,573,626,680,706,710,715,786,841,845,852,943,989,1012,1027,1032,1050,1099,1106,1124,1135,1140,1143,1204,1208,1213,1291,1295,1298,1338],[112,113,114,115,118],"p",{},"The ",[116,117,90],"code",{}," class wraps the database connection and dispatches to the correct backend (SQLite or PostgreSQL) based on the URL.",[120,121,123],"h2",{"id":122},"constructor","Constructor",[125,126,131],"pre",{"className":127,"code":128,"language":129,"meta":130,"style":130},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from centaurodb import Engine\n\n# In-memory SQLite (default)\nengine = Engine()\nengine = Engine(\":memory:\")\n\n# File-based SQLite\nengine = Engine(\"my.db\")\nengine = Engine(\"sqlite:///path/to/file.db\")\n\n# PostgreSQL\nengine = Engine(\"postgresql://user:pass@localhost/db\")\nengine = Engine(\"postgres://user:pass@localhost/db\")\n","python","",[116,132,133,152,159,166,183,207,212,218,238,258,263,269,289],{"__ignoreMap":130},[134,135,138,142,146,149],"span",{"class":136,"line":137},"line",1,[134,139,141],{"class":140},"s7zQu","from",[134,143,145],{"class":144},"sTEyZ"," centaurodb ",[134,147,148],{"class":140},"import",[134,150,151],{"class":144}," Engine\n",[134,153,155],{"class":136,"line":154},2,[134,156,158],{"emptyLinePlaceholder":157},true,"\n",[134,160,162],{"class":136,"line":161},3,[134,163,165],{"class":164},"sHwdD","# In-memory SQLite (default)\n",[134,167,169,172,176,180],{"class":136,"line":168},4,[134,170,171],{"class":144},"engine ",[134,173,175],{"class":174},"sMK4o","=",[134,177,179],{"class":178},"s2Zo4"," Engine",[134,181,182],{"class":174},"()\n",[134,184,186,188,190,192,195,198,202,204],{"class":136,"line":185},5,[134,187,171],{"class":144},[134,189,175],{"class":174},[134,191,179],{"class":178},[134,193,194],{"class":174},"(",[134,196,197],{"class":174},"\"",[134,199,201],{"class":200},"sfazB",":memory:",[134,203,197],{"class":174},[134,205,206],{"class":174},")\n",[134,208,210],{"class":136,"line":209},6,[134,211,158],{"emptyLinePlaceholder":157},[134,213,215],{"class":136,"line":214},7,[134,216,217],{"class":164},"# File-based SQLite\n",[134,219,221,223,225,227,229,231,234,236],{"class":136,"line":220},8,[134,222,171],{"class":144},[134,224,175],{"class":174},[134,226,179],{"class":178},[134,228,194],{"class":174},[134,230,197],{"class":174},[134,232,233],{"class":200},"my.db",[134,235,197],{"class":174},[134,237,206],{"class":174},[134,239,241,243,245,247,249,251,254,256],{"class":136,"line":240},9,[134,242,171],{"class":144},[134,244,175],{"class":174},[134,246,179],{"class":178},[134,248,194],{"class":174},[134,250,197],{"class":174},[134,252,253],{"class":200},"sqlite:///path/to/file.db",[134,255,197],{"class":174},[134,257,206],{"class":174},[134,259,261],{"class":136,"line":260},10,[134,262,158],{"emptyLinePlaceholder":157},[134,264,266],{"class":136,"line":265},11,[134,267,268],{"class":164},"# PostgreSQL\n",[134,270,272,274,276,278,280,282,285,287],{"class":136,"line":271},12,[134,273,171],{"class":144},[134,275,175],{"class":174},[134,277,179],{"class":178},[134,279,194],{"class":174},[134,281,197],{"class":174},[134,283,284],{"class":200},"postgresql://user:pass@localhost/db",[134,286,197],{"class":174},[134,288,206],{"class":174},[134,290,292,294,296,298,300,302,305,307],{"class":136,"line":291},13,[134,293,171],{"class":144},[134,295,175],{"class":174},[134,297,179],{"class":178},[134,299,194],{"class":174},[134,301,197],{"class":174},[134,303,304],{"class":200},"postgres://user:pass@localhost/db",[134,306,197],{"class":174},[134,308,206],{"class":174},[310,311,312,331],"table",{},[313,314,315],"thead",{},[316,317,318,322,325,328],"tr",{},[319,320,321],"th",{},"Parameter",[319,323,324],{},"Type",[319,326,327],{},"Default",[319,329,330],{},"Description",[332,333,334,355],"tbody",{},[316,335,336,342,347,352],{},[337,338,339],"td",{},[116,340,341],{},"url",[337,343,344],{},[116,345,346],{},"str",[337,348,349],{},[116,350,351],{},"\":memory:\"",[337,353,354],{},"Connection URL or file path",[316,356,357,362,367,372],{},[337,358,359],{},[116,360,361],{},"check_same_thread",[337,363,364],{},[116,365,366],{},"bool",[337,368,369],{},[116,370,371],{},"True",[337,373,374,375,378,379],{},"SQLite only. Set to ",[116,376,377],{},"False"," for async collections — see ",[380,381,69],"a",{"href":70},[112,383,384,387,388,394,395,398],{},[116,385,386],{},"Engine(...)"," dispatches on the URL scheme: any prefix registered via ",[380,389,391],{"href":390},"#register_backend",[116,392,393],{},"register_backend"," routes to that backend, and a plain path with no recognized scheme falls back to SQLite. Constructing a subclass directly (e.g. ",[116,396,397],{},"SQLiteEngine(...)",") bypasses dispatch.",[120,400,402],{"id":401},"methods","Methods",[310,404,405,417],{},[313,406,407],{},[316,408,409,412,415],{},[319,410,411],{},"Method",[319,413,414],{},"Returns",[319,416,330],{},[332,418,419,432,444,460,476,491,505,519,533,551],{},[316,420,421,426,429],{},[337,422,423],{},[116,424,425],{},"execute(sql, params)",[337,427,428],{},"Cursor",[337,430,431],{},"Execute a SQL statement",[316,433,434,439,441],{},[337,435,436],{},[116,437,438],{},"executemany(sql, params_seq)",[337,440,428],{},[337,442,443],{},"Execute a SQL statement with multiple parameter sets",[316,445,446,451,457],{},[337,447,448],{},[116,449,450],{},"fetchone(sql, params)",[337,452,453,454],{},"Row or ",[116,455,456],{},"None",[337,458,459],{},"Execute and fetch one row",[316,461,462,467,473],{},[337,463,464],{},[116,465,466],{},"fetchall(sql, params)",[337,468,469,470],{},"list",[134,471,472],{},"Row",[337,474,475],{},"Execute and fetch all rows",[316,477,478,483,488],{},[337,479,480],{},[116,481,482],{},"insert_returning_id(sql, params)",[337,484,485],{},[116,486,487],{},"int",[337,489,490],{},"Execute an INSERT and return the new row id",[316,492,493,498,502],{},[337,494,495],{},[116,496,497],{},"commit()",[337,499,500],{},[116,501,456],{},[337,503,504],{},"Commit the current transaction",[316,506,507,512,516],{},[337,508,509],{},[116,510,511],{},"rollback()",[337,513,514],{},[116,515,456],{},[337,517,518],{},"Roll back the current transaction",[316,520,521,526,530],{},[337,522,523],{},[116,524,525],{},"close()",[337,527,528],{},[116,529,456],{},[337,531,532],{},"Close the database connection",[316,534,535,540,545],{},[337,536,537],{},[116,538,539],{},"sql_select(sql, params)",[337,541,542],{},[116,543,544],{},"polars.DataFrame",[337,546,547,548],{},"Execute a SELECT and return a Polars DataFrame. Requires ",[116,549,550],{},"centaurodb[polars]",[316,552,553,558,562],{},[337,554,555],{},[116,556,557],{},"sql_execute(sql, params)",[337,559,560],{},[116,561,487],{},[337,563,564],{},"Execute any SQL statement and return affected row count. Auto-commits",[120,566,568],{"id":567},"async_safety",[116,569,567],{},[112,571,572],{},"A read-only property describing whether the engine can be shared by async collections:",[125,574,576],{"className":127,"code":575,"language":129,"meta":130,"style":130},"engine = Engine(\"my.db\", check_same_thread=False)\nprint(engine.async_safety)  # \"serial\"\n",[116,577,578,604],{"__ignoreMap":130},[134,579,580,582,584,586,588,590,592,594,597,601],{"class":136,"line":137},[134,581,171],{"class":144},[134,583,175],{"class":174},[134,585,179],{"class":178},[134,587,194],{"class":174},[134,589,197],{"class":174},[134,591,233],{"class":200},[134,593,197],{"class":174},[134,595,596],{"class":174},",",[134,598,600],{"class":599},"sHdIc"," check_same_thread",[134,602,603],{"class":174},"=False)\n",[134,605,606,609,611,614,617,620,623],{"class":136,"line":154},[134,607,608],{"class":178},"print",[134,610,194],{"class":174},[134,612,613],{"class":178},"engine",[134,615,616],{"class":174},".",[134,618,567],{"class":619},"swJcz",[134,621,622],{"class":174},")",[134,624,625],{"class":164},"  # \"serial\"\n",[310,627,628,638],{},[313,629,630],{},[316,631,632,635],{},[319,633,634],{},"Value",[319,636,637],{},"Meaning",[332,639,640,660,670],{},[316,641,642,647],{},[337,643,644],{},[116,645,646],{},"\"unsafe\"",[337,648,649,650,653,654],{},"Must not be used from multiple threads — ",[116,651,652],{},"AsyncCollection"," refuses it with ",[380,655,657],{"href":656},"/api/exceptions#threadsafetyerror",[116,658,659],{},"ThreadSafetyError",[316,661,662,667],{},[337,663,664],{},[116,665,666],{},"\"serial\"",[337,668,669],{},"Safe across threads, but operations run one at a time on a single connection",[316,671,672,677],{},[337,673,674],{},[116,675,676],{},"\"concurrent\"",[337,678,679],{},"Reserved for future pool-backed backends — nothing returns it today",[112,681,682,683,686,687,689,690,693,694,696,697,686,700,702,703,705],{},"Per backend: ",[116,684,685],{},"SQLiteEngine"," reports ",[116,688,666],{}," when created with ",[116,691,692],{},"check_same_thread=False",", otherwise ",[116,695,646],{},"; ",[116,698,699],{},"PostgresEngine",[116,701,666],{}," (single synchronous connection). See ",[380,704,69],{"href":70}," for setup.",[120,707,709],{"id":708},"backend-subclasses","Backend subclasses",[112,711,712,714],{},[116,713,90],{}," is the dispatching front door; the actual work is done by backend subclasses:",[125,716,718],{"className":127,"code":717,"language":129,"meta":130,"style":130},"from centaurodb.engine import SQLiteEngine, PostgresEngine\n\nengine = SQLiteEngine(\"my.db\", check_same_thread=False)\nengine = PostgresEngine(\"postgresql://user:pass@localhost/db\")\n",[116,719,720,741,745,767],{"__ignoreMap":130},[134,721,722,724,727,729,731,733,736,738],{"class":136,"line":137},[134,723,141],{"class":140},[134,725,726],{"class":144}," centaurodb",[134,728,616],{"class":174},[134,730,171],{"class":144},[134,732,148],{"class":140},[134,734,735],{"class":144}," SQLiteEngine",[134,737,596],{"class":174},[134,739,740],{"class":144}," PostgresEngine\n",[134,742,743],{"class":136,"line":154},[134,744,158],{"emptyLinePlaceholder":157},[134,746,747,749,751,753,755,757,759,761,763,765],{"class":136,"line":161},[134,748,171],{"class":144},[134,750,175],{"class":174},[134,752,735],{"class":178},[134,754,194],{"class":174},[134,756,197],{"class":174},[134,758,233],{"class":200},[134,760,197],{"class":174},[134,762,596],{"class":174},[134,764,600],{"class":599},[134,766,603],{"class":174},[134,768,769,771,773,776,778,780,782,784],{"class":136,"line":168},[134,770,171],{"class":144},[134,772,175],{"class":174},[134,774,775],{"class":178}," PostgresEngine",[134,777,194],{"class":174},[134,779,197],{"class":174},[134,781,284],{"class":200},[134,783,197],{"class":174},[134,785,206],{"class":174},[310,787,788,801],{},[313,789,790],{},[316,791,792,795,798],{},[319,793,794],{},"Class",[319,796,797],{},"URL prefixes",[319,799,800],{},"Notes",[332,802,803,819],{},[316,804,805,810,816],{},[337,806,807],{},[116,808,809],{},"SQLiteEngine(url=\":memory:\", *, check_same_thread=True)",[337,811,812,815],{},[116,813,814],{},"sqlite",", plain paths",[337,817,818],{},"Default backend",[316,820,821,826,835],{},[337,822,823],{},[116,824,825],{},"PostgresEngine(url=\"\")",[337,827,828,831,832],{},[116,829,830],{},"postgresql",", ",[116,833,834],{},"postgres",[337,836,837,838],{},"Requires ",[116,839,840],{},"pip install centaurodb[postgres]",[120,842,843],{"id":393},[116,844,393],{},[112,846,847,848,851],{},"Register a custom backend class for a URL prefix. Not a top-level export — import it from ",[116,849,850],{},"centaurodb.engine",":",[125,853,855],{"className":127,"code":854,"language":129,"meta":130,"style":130},"from centaurodb.engine import register_backend\n\nclass DuckDBEngine(Engine):\n    ...\n\nregister_backend(\"duckdb\", DuckDBEngine)\nengine = Engine(\"duckdb:///analytics.db\")  # dispatches to DuckDBEngine\n",[116,856,857,872,876,893,898,902,921],{"__ignoreMap":130},[134,858,859,861,863,865,867,869],{"class":136,"line":137},[134,860,141],{"class":140},[134,862,726],{"class":144},[134,864,616],{"class":174},[134,866,171],{"class":144},[134,868,148],{"class":140},[134,870,871],{"class":144}," register_backend\n",[134,873,874],{"class":136,"line":154},[134,875,158],{"emptyLinePlaceholder":157},[134,877,878,882,886,888,890],{"class":136,"line":161},[134,879,881],{"class":880},"spNyl","class",[134,883,885],{"class":884},"sBMFI"," DuckDBEngine",[134,887,194],{"class":174},[134,889,90],{"class":884},[134,891,892],{"class":174},"):\n",[134,894,895],{"class":136,"line":168},[134,896,897],{"class":144},"    ...\n",[134,899,900],{"class":136,"line":185},[134,901,158],{"emptyLinePlaceholder":157},[134,903,904,906,908,910,913,915,917,919],{"class":136,"line":209},[134,905,393],{"class":178},[134,907,194],{"class":174},[134,909,197],{"class":174},[134,911,912],{"class":200},"duckdb",[134,914,197],{"class":174},[134,916,596],{"class":174},[134,918,885],{"class":178},[134,920,206],{"class":174},[134,922,923,925,927,929,931,933,936,938,940],{"class":136,"line":214},[134,924,171],{"class":144},[134,926,175],{"class":174},[134,928,179],{"class":178},[134,930,194],{"class":174},[134,932,197],{"class":174},[134,934,935],{"class":200},"duckdb:///analytics.db",[134,937,197],{"class":174},[134,939,622],{"class":174},[134,941,942],{"class":164},"  # dispatches to DuckDBEngine\n",[310,944,945,955],{},[313,946,947],{},[316,948,949,951,953],{},[319,950,321],{},[319,952,324],{},[319,954,330],{},[332,956,957,974],{},[316,958,959,964,968],{},[337,960,961],{},[116,962,963],{},"prefix",[337,965,966],{},[116,967,346],{},[337,969,970,971,622],{},"URL scheme to claim (e.g. ",[116,972,973],{},"\"duckdb\"",[316,975,976,981,986],{},[337,977,978],{},[116,979,980],{},"engine_class",[337,982,983],{},[116,984,985],{},"type[Engine]",[337,987,988],{},"The backend class to instantiate for that prefix",[112,990,991,995,996,999,1000,1002,1003,999,1006,1008,1009,1011],{},[992,993,994],"strong",{},"Raises"," — ",[116,997,998],{},"ValueError"," if ",[116,1001,963],{}," is empty. ",[116,1004,1005],{},"TypeError",[116,1007,980],{}," is not an ",[116,1010,90],{}," subclass.",[112,1013,1014,1015,1017,1018,831,1020,1022,1023,1017,1025,616],{},"Built-in registrations: ",[116,1016,814],{}," → ",[116,1019,685],{},[116,1021,830],{}," / ",[116,1024,834],{},[116,1026,699],{},[120,1028,1030],{"id":1029},"sql_select",[116,1031,1029],{},[112,1033,1034,1035,1038,1039,1042,1043,1045,1046,1049],{},"Execute a read-only ",[116,1036,1037],{},"SELECT"," (or ",[116,1040,1041],{},"WITH … SELECT",") query and return the result as a Polars DataFrame. Only ",[116,1044,1037],{}," and ",[116,1047,1048],{},"WITH"," statements are accepted.",[125,1051,1053],{"className":127,"code":1052,"language":129,"meta":130,"style":130},"df = engine.sql_select(\"SELECT id, name FROM monitoring_objects\")\nprint(df.shape)  # (3, 2)\n",[116,1054,1055,1080],{"__ignoreMap":130},[134,1056,1057,1060,1062,1065,1067,1069,1071,1073,1076,1078],{"class":136,"line":137},[134,1058,1059],{"class":144},"df ",[134,1061,175],{"class":174},[134,1063,1064],{"class":144}," engine",[134,1066,616],{"class":174},[134,1068,1029],{"class":178},[134,1070,194],{"class":174},[134,1072,197],{"class":174},[134,1074,1075],{"class":200},"SELECT id, name FROM monitoring_objects",[134,1077,197],{"class":174},[134,1079,206],{"class":174},[134,1081,1082,1084,1086,1089,1091,1094,1096],{"class":136,"line":154},[134,1083,608],{"class":178},[134,1085,194],{"class":174},[134,1087,1088],{"class":178},"df",[134,1090,616],{"class":174},[134,1092,1093],{"class":619},"shape",[134,1095,622],{"class":174},[134,1097,1098],{"class":164},"  # (3, 2)\n",[112,1100,1101,1102,1105],{},"Requires the ",[116,1103,1104],{},"polars"," extra:",[125,1107,1111],{"className":1108,"code":1109,"language":1110,"meta":130,"style":130},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pip install centaurodb[polars]\n","bash",[116,1112,1113],{"__ignoreMap":130},[134,1114,1115,1118,1121],{"class":136,"line":137},[134,1116,1117],{"class":884},"pip",[134,1119,1120],{"class":200}," install",[134,1122,1123],{"class":200}," centaurodb[polars]\n",[112,1125,1126,995,1128,1130,1131,1134],{},[992,1127,994],{},[116,1129,998],{}," if the statement is not a SELECT/WITH query. ",[116,1132,1133],{},"ImportError"," if polars is not installed.",[120,1136,1138],{"id":1137},"sql_execute",[116,1139,1137],{},[112,1141,1142],{},"Execute an arbitrary SQL statement (INSERT, UPDATE, DELETE, DDL) and return the number of affected rows. Commits the transaction on success.",[125,1144,1146],{"className":127,"code":1145,"language":129,"meta":130,"style":130},"n = engine.sql_execute(\n    \"DELETE FROM monitoring_objects WHERE id = ?\", (1,)\n)\nprint(n)  # 1\n",[116,1147,1148,1164,1186,1190],{"__ignoreMap":130},[134,1149,1150,1153,1155,1157,1159,1161],{"class":136,"line":137},[134,1151,1152],{"class":144},"n ",[134,1154,175],{"class":174},[134,1156,1064],{"class":144},[134,1158,616],{"class":174},[134,1160,1137],{"class":178},[134,1162,1163],{"class":174},"(\n",[134,1165,1166,1169,1172,1174,1176,1179,1183],{"class":136,"line":154},[134,1167,1168],{"class":174},"    \"",[134,1170,1171],{"class":200},"DELETE FROM monitoring_objects WHERE id = ?",[134,1173,197],{"class":174},[134,1175,596],{"class":174},[134,1177,1178],{"class":174}," (",[134,1180,1182],{"class":1181},"sbssI","1",[134,1184,1185],{"class":174},",)\n",[134,1187,1188],{"class":136,"line":161},[134,1189,206],{"class":174},[134,1191,1192,1194,1196,1199,1201],{"class":136,"line":168},[134,1193,608],{"class":178},[134,1195,194],{"class":174},[134,1197,1198],{"class":178},"n",[134,1200,622],{"class":174},[134,1202,1203],{"class":164},"  # 1\n",[120,1205,1207],{"id":1206},"context-manager","Context manager",[112,1209,1210,1212],{},[116,1211,90],{}," works as a context manager that auto-closes on exit:",[125,1214,1216],{"className":127,"code":1215,"language":129,"meta":130,"style":130},"with Engine(\"my.db\") as engine:\n    coll = Collection(engine, \"monitoring\")\n    coll.write_object(obj)\n# connection closed automatically\n",[116,1217,1218,1243,1269,1286],{"__ignoreMap":130},[134,1219,1220,1223,1225,1227,1229,1231,1233,1235,1238,1240],{"class":136,"line":137},[134,1221,1222],{"class":140},"with",[134,1224,179],{"class":178},[134,1226,194],{"class":174},[134,1228,197],{"class":174},[134,1230,233],{"class":200},[134,1232,197],{"class":174},[134,1234,622],{"class":174},[134,1236,1237],{"class":140}," as",[134,1239,1064],{"class":144},[134,1241,1242],{"class":174},":\n",[134,1244,1245,1248,1250,1253,1255,1257,1259,1262,1265,1267],{"class":136,"line":154},[134,1246,1247],{"class":144},"    coll ",[134,1249,175],{"class":174},[134,1251,1252],{"class":178}," Collection",[134,1254,194],{"class":174},[134,1256,613],{"class":178},[134,1258,596],{"class":174},[134,1260,1261],{"class":174}," \"",[134,1263,1264],{"class":200},"monitoring",[134,1266,197],{"class":174},[134,1268,206],{"class":174},[134,1270,1271,1274,1276,1279,1281,1284],{"class":136,"line":161},[134,1272,1273],{"class":144},"    coll",[134,1275,616],{"class":174},[134,1277,1278],{"class":178},"write_object",[134,1280,194],{"class":174},[134,1282,1283],{"class":178},"obj",[134,1285,206],{"class":174},[134,1287,1288],{"class":136,"line":168},[134,1289,1290],{"class":164},"# connection closed automatically\n",[120,1292,1294],{"id":1293},"raw-connection","Raw connection",[112,1296,1297],{},"Access the underlying database connection for advanced use:",[125,1299,1301],{"className":127,"code":1300,"language":129,"meta":130,"style":130},"engine = Engine(\"my.db\")\nraw_conn = engine.raw  # sqlite3.Connection or psycopg.Connection\n",[116,1302,1303,1321],{"__ignoreMap":130},[134,1304,1305,1307,1309,1311,1313,1315,1317,1319],{"class":136,"line":137},[134,1306,171],{"class":144},[134,1308,175],{"class":174},[134,1310,179],{"class":178},[134,1312,194],{"class":174},[134,1314,197],{"class":174},[134,1316,233],{"class":200},[134,1318,197],{"class":174},[134,1320,206],{"class":174},[134,1322,1323,1326,1328,1330,1332,1335],{"class":136,"line":154},[134,1324,1325],{"class":144},"raw_conn ",[134,1327,175],{"class":174},[134,1329,1064],{"class":144},[134,1331,616],{"class":174},[134,1333,1334],{"class":619},"raw",[134,1336,1337],{"class":164},"  # sqlite3.Connection or psycopg.Connection\n",[1339,1340,1341],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":130,"searchDepth":154,"depth":154,"links":1343},[1344,1345,1346,1347,1348,1349,1350,1351,1352],{"id":122,"depth":154,"text":123},{"id":401,"depth":154,"text":402},{"id":567,"depth":154,"text":567},{"id":708,"depth":154,"text":709},{"id":393,"depth":154,"text":393},{"id":1029,"depth":154,"text":1029},{"id":1137,"depth":154,"text":1137},{"id":1206,"depth":154,"text":1207},{"id":1293,"depth":154,"text":1294},"API reference for the Engine class.","md",null,{},{"icon":93},{"title":90,"description":1353},"UxPtSE6ni895g0gaRtWrvRqPsAmVmOIORHKSfsp4qiA",[1361,1363],{"title":79,"path":80,"stem":81,"description":1362,"icon":82,"children":-1},"Indexes, view tuning, and model-level optimizations to get the most out of CentauroDB.",{"title":95,"path":96,"stem":97,"description":1364,"icon":41,"children":-1},"API reference for Collection and TimeSeriesCollection.",1781105060350]