Skip to main content

Simplifies connections to SQL databases for data analysts. Populate DataFrames with the results of queries directly from .sql files.

Project description

SQLconnect logo

CI-testing PyPI Documentation Status License: MIT Code style: ruff

pip install sqlconnect

SQLconnect is a Python package for data analysts that simplifies connecting to SQL databases like Postgres, Microsoft SQL Server and Oracle. DataFrames can be directly populated from .sql files, and database tables can be directly populated from DataFrames. A configuration file sqlconnect.yaml is used to store database connection details and an environment file sqlconnect.env is used for secure credential management. As a thin wrapper around SQLAlchemy and Pandas, SQLconnect provides convenient access to robust and flexible SQL operations.

Features

  • Turn SQL queries into DataFrames in as few as 3 lines of code

  • Easy management of multiple database connections using a single configuration file

  • Secure storage of database credentials using environment variables

  • Execute SQL queries and commands directly from .sql files or from a string

import sqlconnect as sc

connection = sc.Sqlconnector("My_Database") # Set up a database connection based on sqlconnect.yaml

df = connection.sql_to_df("path/to/sql_query.sql") # Assign the results of a query to a DataFrame

print(df.describe()) # Explore the DataFrame with Pandas

Setup

To use SQLconnect, create a sqlconnect.yaml file in the working directory of your project (or in your home directory) with the following example structure:

connections:
  My_Database:
    dialect: 'mssql'
    dbapi: 'pyodbc'
    host: 'prod-server.example.com'
    database: 'master'
    username: '${MSSQL_USERNAME}' # References MSSQL_USERNAME in sqlconnect.env
    password: '${MSSQL_PASSWORD}' # References MSSQL_PASSWORD in sqlconnect.env
    options: 
      driver: 'ODBC Driver 17 for SQL Server'

  A_Postgres_Database:
    dialect: 'postgresql'
    dbapi: 'psycopg2'
    host: 'dbserver123.company.com'
    database: 'postgres'
    username: '${POSTGRES_USERNAME}'
    password: '${POSTGRES_PASSWORD}'      

Also create a sqlconnect.env file in the working directory of your project (or in your home directory) with the following example structure:

# This file should be kept secure and not checked into version control (add to .gitignore)
# Production Database Credentials
MSSQL_USERNAME=prodUsername
MSSQL_PASSWORD=actualprodPassword
POSTGRES_USERNAME=postgresProdUsername
POSTGRES_PASSWORD=actualprodPassword

Replace the example values with your actual database connection details. The database credentials will be taken from the environment file at runtime.

Documentation & Usage

Full documentation and examples can be found at https://sqlconnect.readthedocs.io/

License

This project is licensed under the MIT License.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sqlconnect-0.3.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file sqlconnect-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: sqlconnect-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for sqlconnect-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 427bf879a5b6f9bb301e102a11c8ba68797069c8854c57aefbc83316b4cc73e4
MD5 f29460060cfa4d5feba464096d5c8422
BLAKE2b-256 cd9f90e1215dcbad6adf225edfdf5183337c9560ddb1e427d99706356583cf19

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