Metadata-Version: 2.1
Name: etl-pbshop
Version: 0.0.4
Summary: Create your ETL integrations easy and quickly
Home-page: https://github.com/inovacaodigital/etl_pbshop_lib
Author: Daniel S. Camargo
Author-email: daniel.camargo@portobelloshop.com.br
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pydot
Requires-Dist: pytz
Requires-Dist: google-api-python-client
Requires-Dist: google-auth-httplib2
Requires-Dist: google-auth-oauthlib
Requires-Dist: pandas
Requires-Dist: pygsheets

# ETL Lib

![Upload Python Package](https://github.com/inovacaodigital/etl_pbshop_lib/workflows/Upload%20Python%20Package/badge.svg)

This is a simple package built for Portobello Shop integrations, and now is available as ETL lib.

 Can be used with several services, like:
 * Oracle
 * Salesforce 
 * MSSQL Server
 * GSuite
 * Microvix
 * ODBC Drivers: PYODBC and SQLALCHEMY
 * And any REST services ...

 # Basic Usage 

 Use inheritance and rewrite the three main methods:

 ```python
from etl_pbshop import ETL, Connectors

class MyETL(ETL):

    def extract(self):
        # extract the needed data using Connectors
        pass

    def transform(self):
        # do some transformations
        pass

    def load(self):
        # upload your transformations
        pass
```

On the main caller, you can simply:

 ```python
if __name__ == '__main__':
    etl = MyETL()
    etl.config.start()
    try:
        etl.run()
        exit(0)
    except Exception as e:
        etl.get_error(f"ERROR on main: {str(e)}")
        raise e
    finally:
        etl.config.finish()
```

