Remotable
Remote virtual tables for SQLite in Python
Remotable is an APSW shell extension that allows you to pull remote data sources into your SQLite database. Remotable is not a C-extension and thus will only work in the Python APSW shell.
Quick Start
The below example uses pyodbc to connect to a Microsoft Access database on Windows. You could also use any DBApi compliant driver, as long as you know its connect parameters.
$ python -m pip install remotable pyodbc
$ python -m remotable [database name]
sqlite> CREATE VIRTUAL TABLE access_table USING remotable(pyodbc, mytable, 'DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=C:/path/to/a/file.accdb', querytype=table);
CREATE VIRTUAL TABLE Syntax:
CREATE VIRTUAL TABLE <table name> USING remotetable(<python dbapi driver>, <select statement>, <arg1>, <arg2>, ..., <argN>, <querytype>);
Parameters:
python dbapi driver: A PEP 249-compatible Python DBApi driver, such as pyodbc, teradatasql, ibm_db, sqlite3, etc...
select statement: A SELECT SQL statement to describe what data to pull from the remote source
arg1...argN: A set of arguments, passed to the database driver's connect statement, that adhere to the following specifications:
- if the argument is a string, which uses single quotes, it is interpreted as a positional parameter (
*argsin Python parlance). Examples of strings:'DSN=DSN1;DATABASE=abc123''DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=C:/path/to/a/file.accdb'
- if the argument is an assignment, it is interpreted as a keyword argument (passed to the
connect's**kwargs). Examples include:user='username'password='abc'
- if a keyword argument string contains the phrase
<getpass>, Remotable will prompt the user for a password for that given argument.
Special arguments:
There are some special keywords that you can optionally provide after the connect arguments.
querytype: Eithertable, orquery. If not provided, the default istable. This means that the query you provided corresponds to a table name, and is not actual SQL.
Release files for remotable 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| remotable-1.2.0.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| remotable-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / remotable-1.2.0.tar.gz
| Download URL | remotable-1.2.0.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7a176a2b9fcbb9b79eff466e54ba440128d7f5fb752c2d607ff65189d67a832
|
|
BLAKE2b-256 checksum How to use checksums |
0210bf743d379f3a3924295e5baa29cf7339a072e1920975e765af415515b676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|
Release files / remotable-1.2.0-py3-none-any.whl
| Download URL | remotable-1.2.0-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdd589a2501c3a4ee00c8ea1fe9ae756d61a1faf62027606fd83584d55855fcc
|
|
BLAKE2b-256 checksum How to use checksums |
d094beefc5889435e7a6cb3cdb2d98f1b39250485534bca5995982f805ad622e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.0
|