Skip to main content

Dead simple wrapper for pandas and sqlalchemy

Project description

https://img.shields.io/badge/python-3.7-blue.svg https://img.shields.io/badge/license-MIT-green https://img.shields.io/static/v1?label=pipenv&message=latest&color=green

SQLSorcery: Dead simple wrapper for pandas and sqlalchemy

SQLSorcery is just some good old fashion syntactic sugar 🍬. It really doesn’t do anything new. It just makes doing it a little bit easier. It started as a connection wrapper for SQLAlchemy to cut down on the need for boilerplate code that was used to keep the database credentials secret, connect to the database, and then pass the connection to Pandas for queries and inserts.

It wasn’t much code, but needing to cut and paste it for each new project seemed like a recipe for bugs. So here we are. We’ve added more utility methods to the module as well as added all of the basic dialects of SQL that SQLAlchemy supports.

In many cases, the methods available are less robust than the underlying libraries and are more of a shortcut. When you need something that is outside the bounds of the defaults you can always drop back down into Pandas or SQLAlchemy to get more functionality/flexibility.

Getting Started

Install this library

$ pipenv install sqlsorcery

By default, sqlsorcery does not install the sql dialect specific python drivers. To install these, you can specify the dialects as a comma separated list of each dialect you will need drivers for.

$ pipenv install sqlsorcery[mssql]

OR

$ pipenv install sqlsorcery[mysql,postgres]

Setup .env file with credentials

For use with a single database:

DB_SERVER=
DB_PORT=
DB=
DB_SCHEMA=
DB_USER=
DB_PWD=

Otherwise, refer to the documentation for instructions.

Examples

Query a table

from sqlsorcery import MSSQL


sql = MSSQL()
df = sql.query("SELECT * FROM my_table")
print(df)

Query from a .sql file

from sqlsorcery import MSSQL


sql = MSSQL()
df = sql.query_from_file("filename.sql")
print(df)

Insert into a table

from sqlsorcery import MSSQL
import pandas as pd


sample_data = [
    { "name": "Test 1", "value": 98 },
    { "name": "Test 2", "value": 100 },
]

df = pd.DataFrame(sample_data)
sql = MSSQL()
sql.insert_into("table_name", df)

Execute a stored procedure

from sqlsorcery import MSSQL


sql = MSSQL()
sql.exec_sproc("sproc_name")

Documentation

Documentation and tutorials available at sqlsorcery.readthedocs.io

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

sqlsorcery-0.1.5.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

sqlsorcery-0.1.5-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file sqlsorcery-0.1.5.tar.gz.

File metadata

  • Download URL: sqlsorcery-0.1.5.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for sqlsorcery-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a0e3104a5b1069a51eabf93fc2d15b06ff7ffcd730e589bb3277a27e4cd8d03d
MD5 f40120908b6f2ff6008fc0915ddd6fb5
BLAKE2b-256 8085ed5a787cff9bc7ba1a291c3dfa4d37395d70b388efe8110dc98b48a82264

See more details on using hashes here.

File details

Details for the file sqlsorcery-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: sqlsorcery-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for sqlsorcery-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 966d209a28980a90f6e00fb9fc86453f08da592311f01e9452cb63b0a04b4d7e
MD5 c56c3b9768ce234e672c7667701eb592
BLAKE2b-256 2270699b0aa78214603ec6b8d2d85f68fbc5b8b7d39c9a105255de34bb8616ad

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