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.3.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

sqlsorcery-0.1.3-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sqlsorcery-0.1.3.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for sqlsorcery-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b270292a2ce5da7ddd2adadd21b4b00f92b7fa684db9c68d588ce8be65eba711
MD5 e9dab95922512b36af41ee8b34f15ca4
BLAKE2b-256 e3284b341c94cc1ce529984c2c8b2b8d661f564d3b6612485aba00c739ab6d8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlsorcery-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.4

File hashes

Hashes for sqlsorcery-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d2bf5bc1996a7c4dd9bf3a65fb0998bfb9452b2a383d04a9d007cfdd9257d1d9
MD5 9277fb2c9591c8fb774888c8722966a0
BLAKE2b-256 6454ee2a3615b747eb08b78d98621db7cd04eff21d7573d9ba58957b726145d8

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