Skip to main content

SQL tables as first-class objects

Project description

SQLTables

SQLTables is a Python module that provides access to SQLite and PostgreSQL tables as first-class objects.

This means that tables and views can be assigned to variables and used as parameters and return values of Python functions.

Documentation: https://sqltables.readthedocs.io/

Examples are in the examples/ folder. The Machine Learning example notebook should illustrate most features.

Main Concepts and Example

The main objects are tables, represented by the Table class and associated with a Database. New tables are created with the create_table method on the Database object. Tables are queried with the view and table methods, which execute an SQL query and return a new Table object backed by a temporary view or table. Within SQL queries, the special name _ refers to the table associated with self.

A simple example:

db = sqltables.Database()
rows = [["a", 1], ["b", 2], ["c", 3]]
values = db.create_table(rows=rows, column_names=["name", "val"])
values
name val
'a' 1
'b' 2
'c' 3
def square(tab):
    return tab.view("select name, val, val*val as squared from _")

square(values)
name val squared
'a' 1 1
'b' 2 4
'c' 3 9

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqltables-1.7.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

sqltables-1.7-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file sqltables-1.7.tar.gz.

File metadata

  • Download URL: sqltables-1.7.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for sqltables-1.7.tar.gz
Algorithm Hash digest
SHA256 c0b1ea562b21b6d34ee785569a2ca320e11d80e73f3db2531e3fe81ea473ced0
MD5 f306f79530017d6c14ded34fc11fc77a
BLAKE2b-256 7b78f600b026f161b57c5759c7be268c78219273d57f104822abc39dd54d59ee

See more details on using hashes here.

File details

Details for the file sqltables-1.7-py3-none-any.whl.

File metadata

  • Download URL: sqltables-1.7-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for sqltables-1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fe088deb1ddde22f98381daf403b5ad43e99469d5e43bb247ad66ba7a0be89e1
MD5 89630f82d6d27d74827f68456d72b9cf
BLAKE2b-256 6fbff59868b175fcedd51ab6917663a3cf67b1e1d53919670082d6c73bd1aa13

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page