Metadata-Version: 2.1
Name: alphalib
Version: 0.0.3
Summary: A library for your daily data engineering and data science routines.
Home-page: https://github.com/alpha2phi/alphalib/tree/master/
Author: alphalib
Author-email: alpha2phi@gmail.com
License: Apache Software License 2.0
Keywords: data-science data-engineering alphalib
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: sqlalchemy
Requires-Dist: pandas
Requires-Dist: psycopg2
Requires-Dist: openpyxl
Requires-Dist: pymysql

# Welcome to alphalib
> A library for your daily data engineering and data science routines.


This file will become your README and also the index of your documentation.

## Install

```bash
pip install alphalib
```

## How to use

### Ingest from Excel to `accounts` table in PostgreSQL

```python
# Ingest from Excel to `accounts` table in PostgreSQL
excel_source = file_sources.get(FileSource.Excel, file_path="data/accounts.xlsx")
config = {
    'host': 'localhost',
    'port': 5432,
    'db': 'testdb',
    'user': 'user1',
    'password': 'userpwd'
}
pgsql_target = db_targets.get(DatabaseTarget.PostgreSQL, **config)
ingest(excel_source, pgsql_target, 'accounts')
```

    2020-12-12 21:26:59,943 INFO(): {'user_id': INTEGER(), 'username': VARCHAR(length=50), 'password': VARCHAR(length=50), 'email': VARCHAR(length=255), 'created_on': TIMESTAMP(), 'last_login': TIMESTAMP()}



    Total records in data/accounts.xlsx - 100
    user_id - 100
    username - 100
    password - 100
    email - 100
    created_on - 1
    last_login - 1


### Ingest from CSV to `accounts` table in MySQL

```python
# Ingest from CSV to `accounts` table in MySQL
csv_source = file_sources.get(FileSource.CSV, file_path="data/accounts.csv")
config = {
    'host': 'localhost',
    'port': 3306,
    'db': 'testdb',
    'user': 'user1',
    'password': 'userpwd'
}
mysql_target = db_targets.get(DatabaseTarget.MySQL, **config)
ingest(csv_source, mysql_target, 'accounts')
```

    2020-12-12 21:35:29,017 INFO(): {'user_id': INTEGER(), 'username': VARCHAR(length=50), 'password': VARCHAR(length=50), 'email': VARCHAR(length=255), 'created_on': TIMESTAMP(), 'last_login': TIMESTAMP()}



    Total records in data/accounts.csv - 100
    user_id - 100
    username - 100
    password - 100
    email - 100
    created_on - 1
    last_login - 1



