|
31 | 31 | },
|
32 | 32 | {
|
33 | 33 | "cell_type": "code",
|
34 |
| - "execution_count": null, |
| 34 | + "execution_count": 1, |
35 | 35 | "id": "4213f666",
|
36 | 36 | "metadata": {},
|
37 | 37 | "outputs": [
|
|
57 | 57 | },
|
58 | 58 | {
|
59 | 59 | "cell_type": "code",
|
60 |
| - "execution_count": null, |
| 60 | + "execution_count": 2, |
61 | 61 | "id": "f445bfcf",
|
62 | 62 | "metadata": {},
|
63 | 63 | "outputs": [
|
|
112 | 112 | },
|
113 | 113 | {
|
114 | 114 | "cell_type": "code",
|
115 |
| - "execution_count": null, |
| 115 | + "execution_count": 3, |
116 | 116 | "id": "a1d09ad3",
|
117 | 117 | "metadata": {},
|
118 |
| - "outputs": [], |
| 118 | + "outputs": [ |
| 119 | + { |
| 120 | + "ename": "ValueError", |
| 121 | + "evalue": "invalid literal for int() with base 10: 'port'", |
| 122 | + "output_type": "error", |
| 123 | + "traceback": [ |
| 124 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 125 | + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", |
| 126 | + "Cell \u001b[0;32mIn[3], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msqlalchemy\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# Create a SQLAlchemy engine\u001b[39;00m\n\u001b[0;32m----> 5\u001b[0m engine \u001b[38;5;241m=\u001b[39m \u001b[43msqlalchemy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_engine\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpostgresql://username:password@host:port/database_name\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\n\u001b[1;32m 7\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;66;03m# Read a SQL table into a DataFrame\u001b[39;00m\n\u001b[1;32m 11\u001b[0m df \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mread_sql(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSELECT * FROM table_name\u001b[39m\u001b[38;5;124m\"\u001b[39m, engine)\n", |
| 127 | + "File \u001b[0;32m<string>:2\u001b[0m, in \u001b[0;36mcreate_engine\u001b[0;34m(url, **kwargs)\u001b[0m\n", |
| 128 | + "File \u001b[0;32m~/book/venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py:281\u001b[0m, in \u001b[0;36mdeprecated_params.<locals>.decorate.<locals>.warned\u001b[0;34m(fn, *args, **kwargs)\u001b[0m\n\u001b[1;32m 274\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m m \u001b[38;5;129;01min\u001b[39;00m kwargs:\n\u001b[1;32m 275\u001b[0m _warn_with_version(\n\u001b[1;32m 276\u001b[0m messages[m],\n\u001b[1;32m 277\u001b[0m versions[m],\n\u001b[1;32m 278\u001b[0m version_warnings[m],\n\u001b[1;32m 279\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m3\u001b[39m,\n\u001b[1;32m 280\u001b[0m )\n\u001b[0;32m--> 281\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", |
| 129 | + "File \u001b[0;32m~/book/venv/lib/python3.11/site-packages/sqlalchemy/engine/create.py:548\u001b[0m, in \u001b[0;36mcreate_engine\u001b[0;34m(url, **kwargs)\u001b[0m\n\u001b[1;32m 545\u001b[0m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mempty_in_strategy\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 547\u001b[0m \u001b[38;5;66;03m# create url.URL object\u001b[39;00m\n\u001b[0;32m--> 548\u001b[0m u \u001b[38;5;241m=\u001b[39m \u001b[43m_url\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmake_url\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 550\u001b[0m u, plugins, kwargs \u001b[38;5;241m=\u001b[39m u\u001b[38;5;241m.\u001b[39m_instantiate_plugins(kwargs)\n\u001b[1;32m 552\u001b[0m entrypoint \u001b[38;5;241m=\u001b[39m u\u001b[38;5;241m.\u001b[39m_get_entrypoint()\n", |
| 130 | + "File \u001b[0;32m~/book/venv/lib/python3.11/site-packages/sqlalchemy/engine/url.py:838\u001b[0m, in \u001b[0;36mmake_url\u001b[0;34m(name_or_url)\u001b[0m\n\u001b[1;32m 822\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Given a string, produce a new URL instance.\u001b[39;00m\n\u001b[1;32m 823\u001b[0m \n\u001b[1;32m 824\u001b[0m \u001b[38;5;124;03mThe format of the URL generally follows `RFC-1738\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 834\u001b[0m \n\u001b[1;32m 835\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 837\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(name_or_url, \u001b[38;5;28mstr\u001b[39m):\n\u001b[0;32m--> 838\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_parse_url\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname_or_url\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 839\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(name_or_url, URL) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\n\u001b[1;32m 840\u001b[0m name_or_url, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_sqla_is_testing_if_this_is_a_mock_object\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 841\u001b[0m ):\n\u001b[1;32m 842\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\u001b[38;5;241m.\u001b[39mArgumentError(\n\u001b[1;32m 843\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExpected string or URL object, got \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname_or_url\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 844\u001b[0m )\n", |
| 131 | + "File \u001b[0;32m~/book/venv/lib/python3.11/site-packages/sqlalchemy/engine/url.py:899\u001b[0m, in \u001b[0;36m_parse_url\u001b[0;34m(name)\u001b[0m\n\u001b[1;32m 896\u001b[0m name \u001b[38;5;241m=\u001b[39m components\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mname\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 898\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m components[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mport\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[0;32m--> 899\u001b[0m components[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mport\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mint\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcomponents\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mport\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 901\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m URL\u001b[38;5;241m.\u001b[39mcreate(name, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcomponents) \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m 903\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", |
| 132 | + "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: 'port'" |
| 133 | + ] |
| 134 | + } |
| 135 | + ], |
119 | 136 | "source": [
|
120 | 137 | "import pandas as pd\n",
|
121 | 138 | "import sqlalchemy\n",
|
|
1154 | 1171 | "[Link to SQLGlot](https://bit.ly/4dGyTmP)."
|
1155 | 1172 | ]
|
1156 | 1173 | },
|
| 1174 | + { |
| 1175 | + "cell_type": "markdown", |
| 1176 | + "id": "25108dd4", |
| 1177 | + "metadata": {}, |
| 1178 | + "source": [ |
| 1179 | + "### SQliteDict: Reducing SQLite Complexity with Dictionary-Style Operations" |
| 1180 | + ] |
| 1181 | + }, |
1157 | 1182 | {
|
1158 | 1183 | "cell_type": "code",
|
1159 | 1184 | "execution_count": null,
|
1160 | 1185 | "id": "e7894c33-4dab-4990-8d71-a611e1a82fc7",
|
1161 |
| - "metadata": {}, |
| 1186 | + "metadata": { |
| 1187 | + "tags": [ |
| 1188 | + "hide-cell" |
| 1189 | + ] |
| 1190 | + }, |
1162 | 1191 | "outputs": [],
|
1163 | 1192 | "source": [
|
1164 | 1193 | "!pip install sqlitedict"
|
|
1299 | 1328 | ],
|
1300 | 1329 | "metadata": {
|
1301 | 1330 | "kernelspec": {
|
1302 |
| - "display_name": "Python 3 (ipykernel)", |
| 1331 | + "display_name": "venv", |
1303 | 1332 | "language": "python",
|
1304 | 1333 | "name": "python3"
|
1305 | 1334 | },
|
|
0 commit comments