Skip to main content

A data science package for data movement and transformation

Project description

This script requires some initial setup to be completed before using it:

  1. Export your Platform API credentials to your localhost's environment variables as SCH_CRED_ID (credential id) and SCH_AUTH_TOKEN (authentication token).
  2. Export your Snowflake Password (the password used to log into your Snowflake organization) to your localhost's environment variables as SF_P. You will supply the username as an argument to the snowflake_conn method.
  3. Export your MySQL password (the password used to authenticate with your MySQL instance) to your localhost's environment variables as MYSQL_P. You will supply the username as an argument to the mysql_conn method.
  4. Spin up a Transformer deployment with a 'docker' install type, and run the resulting install/startup command on the same host where the script is being run. Note: you may need to add -p 19630:19630 to expose the Transformer instance inside the docker container on your localhost's 19630 port.
  5. Use docker cp to copy your target CSV file into your Transformer docker container, and use the path of the copied file in the from_csv method.

The current script usage is as follows:

import essx

sx = essx.Sx()
mysql_conn = sx.mysql_conn(host='url.of.mysql:port', username='username')
snowflake_conn = sx.snowflake_conn(account='snowflake-account', role='SNOWFLAKE_ROLE',
                                   warehouse='SNOWFLAKE_WAREHOUSE', database='DATABASE', schema='SCHEMA',
                                   username='USERNAME')

pt1_df = sx.from_mysql(connection=mysql_conn, schema='SCHEMA', tables=['TABLE_NAME'])
pt2_df = sx.from_csv('/path/to/file.csv')
final_df = sx.merge(pt1_df, pt2_df, how='JOIN_TYPE', on='COLUMN_NAME')
final_df = sx.drop(columns=['COLUMN_ONE', 'COLUMN_TWO', 'COLUMN_THREE', 'COLUMN_FOUR'])

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

essx-0.0.0a0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

essx-0.0.0a0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file essx-0.0.0a0.tar.gz.

File metadata

  • Download URL: essx-0.0.0a0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for essx-0.0.0a0.tar.gz
Algorithm Hash digest
SHA256 62e179e627ba2f7258c428bd245be78c983a8eabeb8a4dd780863145a9c886b7
MD5 39942a91d0e8d7615ec8b151813e639b
BLAKE2b-256 dbd0802b980542bc6ed822ff16db78b25a072b6961dbb8e4cf551c05b65b10d3

See more details on using hashes here.

File details

Details for the file essx-0.0.0a0-py3-none-any.whl.

File metadata

  • Download URL: essx-0.0.0a0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for essx-0.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 aefd0639e6ff22a80cda203beb42aa4876584f34f042bff3141755af7d58f915
MD5 6eb7d8f1f74471c2f715e27d12ae6540
BLAKE2b-256 05518b27be6c602be332fea4dad3b4aa5c47fe2a3c868e2025a93b1f4ca44607

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