13.3 KB
/srv/reproducible-results/archlinuxrb-build-bRx679eV/b1/python-agate-sql/python-agate-sql-0.7.2-1-any.pkg.tar.zst vs.
/srv/reproducible-results/archlinuxrb-build-bRx679eV/b2/python-agate-sql/python-agate-sql-0.7.2-1-any.pkg.tar.zst
13.0 KB
python-agate-sql-0.7.2-1-any.pkg.tar
1.93 KB
file list
    
Offset 23, 14 lines modifiedOffset 23, 14 lines modified
23 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/23 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/
24 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/24 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/
25 -rw-r--r--···0·root·········(0)·root·········(0)······230·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/.buildinfo25 -rw-r--r--···0·root·········(0)·root·········(0)······230·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/.buildinfo
26 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_sources/26 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_sources/
27 -rw-r--r--···0·root·········(0)·root·········(0)·····1983·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_sources/index.rst.txt27 -rw-r--r--···0·root·········(0)·root·········(0)·····1983·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_sources/index.rst.txt
28 lrwxrwxrwx···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_static·->·/usr/lib/python3.11/site-packages/sphinx_rtd_theme/static28 lrwxrwxrwx···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/_static·->·/usr/lib/python3.11/site-packages/sphinx_rtd_theme/static
29 -rw-r--r--···0·root·········(0)·root·········(0)····10689·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/genindex.html29 -rw-r--r--···0·root·········(0)·root·········(0)····10689·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/genindex.html
30 -rw-r--r--···0·root·········(0)·root·········(0)····41789·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/index.html30 -rw-r--r--···0·root·········(0)·root·········(0)····41390·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/index.html
31 -rw-r--r--···0·root·········(0)·root·········(0)······310·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/objects.inv31 -rw-r--r--···0·root·········(0)·root·········(0)······310·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/objects.inv
32 -rw-r--r--···0·root·········(0)·root·········(0)·····9446·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/search.html32 -rw-r--r--···0·root·········(0)·root·········(0)·····9446·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/search.html
33 -rw-r--r--···0·root·········(0)·root·········(0)·····7387·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/searchindex.js33 -rw-r--r--···0·root·········(0)·root·········(0)·····7387·2024-02-13·12:10:00.000000·usr/share/doc/python-agate-sql/searchindex.js
34 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/licenses/34 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/licenses/
35 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/licenses/python-agate-sql/35 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-02-13·12:10:00.000000·usr/share/licenses/python-agate-sql/
36 -rw-r--r--···0·root·········(0)·root·········(0)·····1099·2024-02-13·12:10:00.000000·usr/share/licenses/python-agate-sql/COPYING36 -rw-r--r--···0·root·········(0)·root·········(0)·····1099·2024-02-13·12:10:00.000000·usr/share/licenses/python-agate-sql/COPYING
2.95 KB
.MTREE
2.94 KB
.MTREE-content
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 #mtree1 #mtree
2 /set·type=file·uid=0·gid=0·mode=6442 /set·type=file·uid=0·gid=0·mode=644
3 ./.BUILDINFO·time=1707826200.0·size=9938·md5digest=0a592cf351823a111e46acb9eed3ccab·sha256digest=c573ae5f8e04a8a7e500823a3cbc7e8748851239e3d7b448a27f4518b84732753 ./.BUILDINFO·time=1707826200.0·size=9938·md5digest=0a592cf351823a111e46acb9eed3ccab·sha256digest=c573ae5f8e04a8a7e500823a3cbc7e8748851239e3d7b448a27f4518b8473275
4 ./.PKGINFO·time=1707826200.0·size=589·md5digest=a7e530dce22175f0756257d9191eb3cb·sha256digest=2d240544bad0b2e973a74782ecb17d7928b91a4499315359ba6ff5f776c290e84 ./.PKGINFO·time=1707826200.0·size=589·md5digest=75a62fb696d854f324f762d0425db0e7·sha256digest=8ae01d6aec9925f7918894ef76f43e904433e0e66f33c88e4bbda7869b60705b
5 /set·mode=7555 /set·mode=755
6 ./usr·time=1707826200.0·type=dir6 ./usr·time=1707826200.0·type=dir
7 ./usr/lib·time=1707826200.0·type=dir7 ./usr/lib·time=1707826200.0·type=dir
8 ./usr/lib/python3.11·time=1707826200.0·type=dir8 ./usr/lib/python3.11·time=1707826200.0·type=dir
9 ./usr/lib/python3.11/site-packages·time=1707826200.0·type=dir9 ./usr/lib/python3.11/site-packages·time=1707826200.0·type=dir
10 /set·mode=64410 /set·mode=644
11 ./usr/lib/python3.11/site-packages/agate_sql-0.7.2-py3.11.egg-info·time=1707826200.0·mode=755·type=dir11 ./usr/lib/python3.11/site-packages/agate_sql-0.7.2-py3.11.egg-info·time=1707826200.0·mode=755·type=dir
Offset 26, 15 lines modifiedOffset 26, 15 lines modified
26 ./usr/share·time=1707826200.0·type=dir26 ./usr/share·time=1707826200.0·type=dir
27 ./usr/share/doc·time=1707826200.0·type=dir27 ./usr/share/doc·time=1707826200.0·type=dir
28 /set·mode=64428 /set·mode=644
29 ./usr/share/doc/python-agate-sql·time=1707826200.0·mode=755·type=dir29 ./usr/share/doc/python-agate-sql·time=1707826200.0·mode=755·type=dir
30 ./usr/share/doc/python-agate-sql/.buildinfo·time=1707826200.0·size=230·md5digest=4ef2d10128a6bebabbbfb0fbc33afb85·sha256digest=54fa91d87c49b3456077d7dee0d211b76891e8ed0746f3f54ef22ec73b82499530 ./usr/share/doc/python-agate-sql/.buildinfo·time=1707826200.0·size=230·md5digest=4ef2d10128a6bebabbbfb0fbc33afb85·sha256digest=54fa91d87c49b3456077d7dee0d211b76891e8ed0746f3f54ef22ec73b824995
31 ./usr/share/doc/python-agate-sql/_static·time=1707826200.0·mode=777·type=link·link=/usr/lib/python3.11/site-packages/sphinx_rtd_theme/static31 ./usr/share/doc/python-agate-sql/_static·time=1707826200.0·mode=777·type=link·link=/usr/lib/python3.11/site-packages/sphinx_rtd_theme/static
32 ./usr/share/doc/python-agate-sql/genindex.html·time=1707826200.0·size=10689·md5digest=92f561595f50252688ff04918e1c75d7·sha256digest=a9cb84c7c5773bc50f2976fb6045bda8596b7acdd19020409b088723b009178232 ./usr/share/doc/python-agate-sql/genindex.html·time=1707826200.0·size=10689·md5digest=92f561595f50252688ff04918e1c75d7·sha256digest=a9cb84c7c5773bc50f2976fb6045bda8596b7acdd19020409b088723b0091782
33 ./usr/share/doc/python-agate-sql/index.html·time=1707826200.0·size=41789·md5digest=ccd2571e62107eea42c7d75fd6e3ec46·sha256digest=107fb6d8741b43ec6ba77cafb38eb9c434618011164ba0e8e34b7311adbc33f333 ./usr/share/doc/python-agate-sql/index.html·time=1707826200.0·size=41390·md5digest=b056eb1a553c1a337ab7807bdf0006b3·sha256digest=22b854b9be1b4869bc5e5375d4481b41c831ba7acd239eebeaaef5c04c020790
34 ./usr/share/doc/python-agate-sql/objects.inv·time=1707826200.0·size=310·md5digest=5c03aa50678249e3a7ea36f85c213d84·sha256digest=5649cc004a7071792777a262087a318225fa22e49972127f54d456d8408ee51134 ./usr/share/doc/python-agate-sql/objects.inv·time=1707826200.0·size=310·md5digest=5c03aa50678249e3a7ea36f85c213d84·sha256digest=5649cc004a7071792777a262087a318225fa22e49972127f54d456d8408ee511
35 ./usr/share/doc/python-agate-sql/search.html·time=1707826200.0·size=9446·md5digest=9139f9514ee85350952b8162998eb2c0·sha256digest=777434f241360d6834ec2ff4a6309b520c39676aade7147bc42ac8ba5766a1a135 ./usr/share/doc/python-agate-sql/search.html·time=1707826200.0·size=9446·md5digest=9139f9514ee85350952b8162998eb2c0·sha256digest=777434f241360d6834ec2ff4a6309b520c39676aade7147bc42ac8ba5766a1a1
36 ./usr/share/doc/python-agate-sql/searchindex.js·time=1707826200.0·size=7387·md5digest=f89c22da3da2da79ce75b5be6ce8cb72·sha256digest=b40ffc9aef6bb55ef63f05549a40129a9a1d0f0eeac980726c4f090befb4ef8736 ./usr/share/doc/python-agate-sql/searchindex.js·time=1707826200.0·size=7387·md5digest=f89c22da3da2da79ce75b5be6ce8cb72·sha256digest=b40ffc9aef6bb55ef63f05549a40129a9a1d0f0eeac980726c4f090befb4ef87
37 ./usr/share/doc/python-agate-sql/_sources·time=1707826200.0·mode=755·type=dir37 ./usr/share/doc/python-agate-sql/_sources·time=1707826200.0·mode=755·type=dir
38 ./usr/share/doc/python-agate-sql/_sources/index.rst.txt·time=1707826200.0·size=1983·md5digest=feb72c06364c0305f0b56f9178f5d4ba·sha256digest=fa57029a2aa3b4826d8ce22a2f68d8e9c2853e51e98c9a8d1150b3499c1f6b7e38 ./usr/share/doc/python-agate-sql/_sources/index.rst.txt·time=1707826200.0·size=1983·md5digest=feb72c06364c0305f0b56f9178f5d4ba·sha256digest=fa57029a2aa3b4826d8ce22a2f68d8e9c2853e51e98c9a8d1150b3499c1f6b7e
39 ./usr/share/licenses·time=1707826200.0·mode=755·type=dir39 ./usr/share/licenses·time=1707826200.0·mode=755·type=dir
40 ./usr/share/licenses/python-agate-sql·time=1707826200.0·mode=755·type=dir40 ./usr/share/licenses/python-agate-sql·time=1707826200.0·mode=755·type=dir
483 B
.PKGINFO
    
Offset 3, 15 lines modifiedOffset 3, 15 lines modified
3 pkgname·=·python-agate-sql3 pkgname·=·python-agate-sql
4 pkgbase·=·python-agate-sql4 pkgbase·=·python-agate-sql
5 pkgver·=·0.7.2-15 pkgver·=·0.7.2-1
6 pkgdesc·=·Adds·SQL·read/write·support·to·agate6 pkgdesc·=·Adds·SQL·read/write·support·to·agate
7 url·=·https://agate-sql.readthedocs.org7 url·=·https://agate-sql.readthedocs.org
8 builddate·=·17078262008 builddate·=·1707826200
9 packager·=·Reproducible·Arch·Linux·tests·<reproducible@archlinux.org>9 packager·=·Reproducible·Arch·Linux·tests·<reproducible@archlinux.org>
10 size·=·12329810 size·=·122899
11 arch·=·any11 arch·=·any
12 license·=·MIT12 license·=·MIT
13 depend·=·python13 depend·=·python
14 depend·=·python-agate14 depend·=·python-agate
15 depend·=·python-sqlalchemy15 depend·=·python-sqlalchemy
16 depend·=·python-sphinx_rtd_theme16 depend·=·python-sphinx_rtd_theme
17 makedepend·=·python-setuptools17 makedepend·=·python-setuptools
7.61 KB
usr/share/doc/python-agate-sql/index.html
    
Offset 213, 20 lines modifiedOffset 213, 20 lines modified
213 <div·class="admonition·warning">213 <div·class="admonition·warning">
214 <p·class="admonition-title">Warning</p>214 <p·class="admonition-title">Warning</p>
215 <p>You’ll·need·to·have·the·correct·<a·class="reference·external"·href="https://docs.sqlalchemy.org/en/rel_1_0/dialects/index.html">sqlalchemy·drivers</a>·installed·for·whatever·database·you·plan·to·access.·For·instance,·in·order·to·read/write·tables·in·a·Postgres·database,·you’ll·also·need·to·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span>·<span·class="pre">install</span>·<span·class="pre">psycopg2</span></code>.</p>215 <p>You’ll·need·to·have·the·correct·<a·class="reference·external"·href="https://docs.sqlalchemy.org/en/rel_1_0/dialects/index.html">sqlalchemy·drivers</a>·installed·for·whatever·database·you·plan·to·access.·For·instance,·in·order·to·read/write·tables·in·a·Postgres·database,·you’ll·also·need·to·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span>·<span·class="pre">install</span>·<span·class="pre">psycopg2</span></code>.</p>
216 </div>216 </div>
217 </section>217 </section>
218 <section·id="usage">218 <section·id="usage">
219 <h2>Usage<a·class="headerlink"·href="#usage"·title="Link·to·this·heading">#</a></h2>219 <h2>Usage<a·class="headerlink"·href="#usage"·title="Link·to·this·heading">#</a></h2>
220 <p>agate-sql·uses·a·monkey·patching·pattern·to·add·SQL·support·to·all·<a·class="reference·external"·href="https://agate.readthedocs.io/en/latest/api/table.html#agate.Table"·title="(in·agate·v1.9.1)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code></a>·instances.</p>220 <p>agate-sql·uses·a·monkey·patching·pattern·to·add·SQL·support·to·all·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code>·instances.</p>
221 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">agate</span>221 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">agate</span>
222 <span·class="kn">import</span>·<span·class="nn">agatesql</span>222 <span·class="kn">import</span>·<span·class="nn">agatesql</span>
223 </pre></div>223 </pre></div>
224 </div>224 </div>
225 <p>Importing·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">agatesql</span></code>·attaches·new·methods·to·<a·class="reference·external"·href="https://agate.readthedocs.io/en/latest/api/table.html#agate.Table"·title="(in·agate·v1.9.1)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code></a>.·For·example,·to·import·a·table·named·<code·class="code·docutils·literal·notranslate"><span·class="pre">doctors</span></code>·from·a·local·postgresql·database·named·<code·class="code·docutils·literal·notranslate"><span·class="pre">hospitals</span></code>·you·will·use·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">from_sql()</span></code>:</p>225 <p>Importing·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">agatesql</span></code>·attaches·new·methods·to·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code>.·For·example,·to·import·a·table·named·<code·class="code·docutils·literal·notranslate"><span·class="pre">doctors</span></code>·from·a·local·postgresql·database·named·<code·class="code·docutils·literal·notranslate"><span·class="pre">hospitals</span></code>·you·will·use·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">from_sql()</span></code>:</p>
226 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">new_table</span>·<span·class="o">=</span>·<span·class="n">agate</span><span·class="o">.</span><span·class="n">Table</span><span·class="o">.</span><span·class="n">from_sql</span><span·class="p">(</span><span·class="s1">&#39;postgresql:///hospitals&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;doctors&#39;</span><span·class="p">)</span>226 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">new_table</span>·<span·class="o">=</span>·<span·class="n">agate</span><span·class="o">.</span><span·class="n">Table</span><span·class="o">.</span><span·class="n">from_sql</span><span·class="p">(</span><span·class="s1">&#39;postgresql:///hospitals&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;doctors&#39;</span><span·class="p">)</span>
227 </pre></div>227 </pre></div>
228 </div>228 </div>
229 <p>To·save·this·table·back·to·the·database:</p>229 <p>To·save·this·table·back·to·the·database:</p>
230 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">new_table</span><span·class="o">.</span><span·class="n">to_sql</span><span·class="p">(</span><span·class="s1">&#39;postgresql:///hospitals&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;doctors&#39;</span><span·class="p">)</span>230 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="n">new_table</span><span·class="o">.</span><span·class="n">to_sql</span><span·class="p">(</span><span·class="s1">&#39;postgresql:///hospitals&#39;</span><span·class="p">,</span>·<span·class="s1">&#39;doctors&#39;</span><span·class="p">)</span>
231 </pre></div>231 </pre></div>
232 </div>232 </div>
Offset 235, 15 lines modifiedOffset 235, 15 lines modified
235 </section>235 </section>
236 </section>236 </section>
237 <section·id="api">237 <section·id="api">
238 <h1>API<a·class="headerlink"·href="#api"·title="Link·to·this·heading">#</a></h1>238 <h1>API<a·class="headerlink"·href="#api"·title="Link·to·this·heading">#</a></h1>
239 <dl·class="py·function">239 <dl·class="py·function">
240 <dt·class="sig·sig-object·py"·id="agatesql.table.from_sql">240 <dt·class="sig·sig-object·py"·id="agatesql.table.from_sql">
241 <span·class="sig-prename·descclassname"><span·class="pre">agatesql.table.</span></span><span·class="sig-name·descname"><span·class="pre">from_sql</span></span><span·class="sig-paren">(</span><em·class="sig-param"><span·class="n"><span·class="pre">cls</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection_or_string</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table_name</span></span></em><span·class="sig-paren">)</span><a·class="headerlink"·href="#agatesql.table.from_sql"·title="Link·to·this·definition">#</a></dt>241 <span·class="sig-prename·descclassname"><span·class="pre">agatesql.table.</span></span><span·class="sig-name·descname"><span·class="pre">from_sql</span></span><span·class="sig-paren">(</span><em·class="sig-param"><span·class="n"><span·class="pre">cls</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection_or_string</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table_name</span></span></em><span·class="sig-paren">)</span><a·class="headerlink"·href="#agatesql.table.from_sql"·title="Link·to·this·definition">#</a></dt>
242 <dd><p>Create·a·new·<a·class="reference·external"·href="https://agate.readthedocs.io/en/latest/api/table.html#agate.Table"·title="(in·agate·v1.9.1)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code></a>·from·a·given·SQL·table.·Types·will·be242 <dd><p>Create·a·new·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">agate.Table</span></code>·from·a·given·SQL·table.·Types·will·be
243 inferred·from·the·database·schema.</p>243 inferred·from·the·database·schema.</p>
244 <p>Monkey·patched·as·class·method·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Table.from_sql()</span></code>.</p>244 <p>Monkey·patched·as·class·method·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Table.from_sql()</span></code>.</p>
245 <dl·class="field-list·simple">245 <dl·class="field-list·simple">
246 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>246 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>
247 <dd·class="field-odd"><ul·class="simple">247 <dd·class="field-odd"><ul·class="simple">
248 <li><p><strong>connection_or_string</strong>··An·existing·sqlalchemy·connection·or·connection·string.</p></li>248 <li><p><strong>connection_or_string</strong>··An·existing·sqlalchemy·connection·or·connection·string.</p></li>
249 <li><p><strong>table_name</strong>··The·name·of·a·table·in·the·referenced·database.</p></li>249 <li><p><strong>table_name</strong>··The·name·of·a·table·in·the·referenced·database.</p></li>
2.18 KB
html2text {}
    
Offset 24, 31 lines modifiedOffset 24, 31 lines modified
24 pip·install·agate-sql24 pip·install·agate-sql
25 For·details·on·development·or·supported·platforms·see·the·_\x8a_\x8g_\x8a_\x8t_\x8e_\x8·_\x8d_\x8o_\x8c_\x8u_\x8m_\x8e_\x8n_\x8t_\x8a_\x8t_\x8i_\x8o_\x8n.25 For·details·on·development·or·supported·platforms·see·the·_\x8a_\x8g_\x8a_\x8t_\x8e_\x8·_\x8d_\x8o_\x8c_\x8u_\x8m_\x8e_\x8n_\x8t_\x8a_\x8t_\x8i_\x8o_\x8n.
26 Warning26 Warning
27 You’ll·need·to·have·the·correct·_\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8d_\x8r_\x8i_\x8v_\x8e_\x8r_\x8s·installed·for·whatever27 You’ll·need·to·have·the·correct·_\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8d_\x8r_\x8i_\x8v_\x8e_\x8r_\x8s·installed·for·whatever
28 database·you·plan·to·access.·For·instance,·in·order·to·read/write·tables·in·a28 database·you·plan·to·access.·For·instance,·in·order·to·read/write·tables·in·a
29 Postgres·database,·you’ll·also·need·to·pip·install·psycopg2.29 Postgres·database,·you’ll·also·need·to·pip·install·psycopg2.
30 *\x8**\x8**\x8**\x8**\x8*·U\x8Us\x8sa\x8ag\x8ge\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*30 *\x8**\x8**\x8**\x8**\x8*·U\x8Us\x8sa\x8ag\x8ge\x8e_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8*
31 agate-sql·uses·a·monkey·patching·pattern·to·add·SQL·support·to·all·_.a_.g_.a_.t_.e_.._.T_.a_.b_.l_.e31 agate-sql·uses·a·monkey·patching·pattern·to·add·SQL·support·to·all·agate.Table
32 instances.32 instances.
33 import·agate33 import·agate
34 import·agatesql34 import·agatesql
35 Importing·agatesql·attaches·new·methods·to·_.a_.g_.a_.t_.e_.._.T_.a_.b_.l_.e.·For·example,·to·import35 Importing·agatesql·attaches·new·methods·to·agate.Table.·For·example,·to·import
36 a·table·named·doctors·from·a·local·postgresql·database·named·hospitals·you·will36 a·table·named·doctors·from·a·local·postgresql·database·named·hospitals·you·will
37 use·from_sql():37 use·from_sql():
38 new_table·=·agate.Table.from_sql('postgresql:///hospitals',·'doctors')38 new_table·=·agate.Table.from_sql('postgresql:///hospitals',·'doctors')
39 To·save·this·table·back·to·the·database:39 To·save·this·table·back·to·the·database:
40 new_table.to_sql('postgresql:///hospitals',·'doctors')40 new_table.to_sql('postgresql:///hospitals',·'doctors')
41 The·first·argument·to·either·function·can·be·any·valid·_\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8c_\x8o_\x8n_\x8n_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n41 The·first·argument·to·either·function·can·be·any·valid·_\x8s_\x8q_\x8l_\x8a_\x8l_\x8c_\x8h_\x8e_\x8m_\x8y_\x8·_\x8c_\x8o_\x8n_\x8n_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n
42 _\x8s_\x8t_\x8r_\x8i_\x8n_\x8g.·The·second·argument·must·be·a·database·name.·(Arbitrary·SQL·queries·are42 _\x8s_\x8t_\x8r_\x8i_\x8n_\x8g.·The·second·argument·must·be·a·database·name.·(Arbitrary·SQL·queries·are
43 not·supported.)43 not·supported.)
44 That’s·all·there·is·to·it.44 That’s·all·there·is·to·it.
45 *\x8**\x8**\x8**\x8**\x8**\x8*·A\x8AP\x8PI\x8I_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8**\x8*45 *\x8**\x8**\x8**\x8**\x8**\x8*·A\x8AP\x8PI\x8I_\x8#\x8#·*\x8**\x8**\x8**\x8**\x8**\x8*
46 ··agatesql.table.from_sql(c\x8cl\x8ls\x8s,·c\x8co\x8on\x8nn\x8ne\x8ec\x8ct\x8ti\x8io\x8on\x8n_\x8_o\x8or\x8r_\x8_s\x8st\x8tr\x8ri\x8in\x8ng\x8g,·t\x8ta\x8ab\x8bl\x8le\x8e_\x8_n\x8na\x8am\x8me\x8e)_\x8#46 ··agatesql.table.from_sql(c\x8cl\x8ls\x8s,·c\x8co\x8on\x8nn\x8ne\x8ec\x8ct\x8ti\x8io\x8on\x8n_\x8_o\x8or\x8r_\x8_s\x8st\x8tr\x8ri\x8in\x8ng\x8g,·t\x8ta\x8ab\x8bl\x8le\x8e_\x8_n\x8na\x8am\x8me\x8e)_\x8#
47 ······Create·a·new·_.a_.g_.a_.t_.e_.._.T_.a_.b_.l_.e·from·a·given·SQL·table.·Types·will·be·inferred47 ······Create·a·new·agate.Table·from·a·given·SQL·table.·Types·will·be·inferred
48 ······from·the·database·schema.48 ······from·the·database·schema.
49 ······Monkey·patched·as·class·method·Table.from_sql().49 ······Monkey·patched·as·class·method·Table.from_sql().
50 ········Parameters:50 ········Parameters:
51 ················*·c\x8co\x8on\x8nn\x8ne\x8ec\x8ct\x8ti\x8io\x8on\x8n_\x8_o\x8or\x8r_\x8_s\x8st\x8tr\x8ri\x8in\x8ng\x8g··An·existing·sqlalchemy·connection·or51 ················*·c\x8co\x8on\x8nn\x8ne\x8ec\x8ct\x8ti\x8io\x8on\x8n_\x8_o\x8or\x8r_\x8_s\x8st\x8tr\x8ri\x8in\x8ng\x8g··An·existing·sqlalchemy·connection·or
52 ··················connection·string.52 ··················connection·string.
53 ················*·t\x8ta\x8ab\x8bl\x8le\x8e_\x8_n\x8na\x8am\x8me\x8e··The·name·of·a·table·in·the·referenced·database.53 ················*·t\x8ta\x8ab\x8bl\x8le\x8e_\x8_n\x8na\x8am\x8me\x8e··The·name·of·a·table·in·the·referenced·database.
54 ··agatesql.table.from_sql_query(s\x8se\x8el\x8lf\x8f,·q\x8qu\x8ue\x8er\x8ry\x8y)_\x8#54 ··agatesql.table.from_sql_query(s\x8se\x8el\x8lf\x8f,·q\x8qu\x8ue\x8er\x8ry\x8y)_\x8#