Skip to main content

Easy Python database interaction

Project description

easy_db

easy_db is a tool designed to quickly allow Python database interaction capabilities from a consolidated, intuitive user interface provided by the "DataBase" class.

Goals

  • Make common database tasks very easy
  • Intelligently handle different database types
  • Provide intuitive, consistent, Pythonic methods for accessing data
  • Provide good performance without requiring polished query code
  • Expose database connection and cursor to users wanting fine-grained control
  • Just get the data into Python so we can use it!

Quick Start

Let's first connect to a SQLite database.

import easy_db
db = easy_db.DataBase('test_sqlite3_db.db')

Now let's see what tables are available in this database.

tables = db.pull_all_table_names()

Table columns and types are simple to investigate.

print(db.table_columns_and_types('example_table'))

Let's pull all of the data from a table. We could start with something like "SELECT * ..." but this is way more fun:

data = db.pull_table('example_table')

Note that the table/query data is returned as a list of dictionaries with column names as dictionary keys.

  • Pro Tip: If desired, a Pandas dataframe of the same form as the database table can be easily created from this data structure using:
import pandas
df = pandas.DataFrame(data)

Now perhaps we have an Access database and would like to pull in a table from our SQLite database. easy_db makes this quick and easy and gracefully handles the nuances of dealing with the different databases.

import easy_db

db = easy_db.DataBase('test_sqlite3_db.db')
db_2 = easy_db.DataBase('test_access_db.accdb')

db_2.copy_table(db, 'example_table')

Thanks for checking out easy_db, and please take a look at the methods of the DataBase class if you'd like to see what other capabilities are currently available!

License

MIT

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

easy_db-0.7.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easy_db-0.7.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file easy_db-0.7.0.tar.gz.

File metadata

  • Download URL: easy_db-0.7.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.0

File hashes

Hashes for easy_db-0.7.0.tar.gz
Algorithm Hash digest
SHA256 116ceac46cf5d844f46b0d3c5c9bd57f5464478fac425038c7cfa329e91123a9
MD5 3db80c2908812940187bdcb383ae76b4
BLAKE2b-256 6b3543d4498cf99d7ce55b74c8a01396fa951b2a40ad2109b1b4713772a32c29

See more details on using hashes here.

File details

Details for the file easy_db-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: easy_db-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.0

File hashes

Hashes for easy_db-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64e0e0c4cf9564b94f82b1e375d4fa1fec17c32b8181e8a546d4f9c8d04df13e
MD5 d7ab3d49816b2fb6f2e74859984c6d82
BLAKE2b-256 c2c383e2b3fd609bce50f47d68c12fc958e601d74090195d3937439d1629ae01

See more details on using hashes here.

Supported by

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