pymy
A python package to easily send data to MySQL
1) Installation
Open a terminal and install pymy package
pip install pymy
2) Use
Be sure that you have set environment variables with Redshift credentials like this:
export MYSQL_{INSTANCE}_DATABASE=""
export MYSQL_{INSTANCE}_USERNAME=""
export MYSQL_{INSTANCE}_HOST=""
export MYSQL_{INSTANCE}_PORT=""
export MYSQL_{INSTANCE}_PASSWORD=""
Be also sure that your IP address is authorized for the mysql cluster/instance.
Prepare your data like that:
data = {
"table_name" : 'name_of_the_redshift_schema' + '.' + 'name_of_the_redshift_table'
"columns_name" : [first_column_name,second_column_name,...,last_column_name],
"rows" : [[first_raw_value,second_raw_value,...,last_raw_value],...]
}
Send your data (use the same {INSTANCE} parameter as environment variables):
import pymy
pymy.send_to_redshift(instance, data, replace=True, batch_size=1000, types=None, primary_key=(), create_boolean=False)
replace (default=True) argument allows you to replace or append data in the table
batch_size (default=1000) argument also exists to send data in batchs
types, primary_key and create_boolean are explained below
3) First Example
You have a table called dog in you animal scheme. This table has two columns : ‘name’ and ‘size’. You want to add two dogs (= two rows) : Pif which is big and Milou which is small. data will be like that:
import pymy
data = {
"table_name" : 'animal.dog'
"columns_name" : ['name','size'],
"rows" : [['Pif','big'], ['Milou','small']]
}
pymy.send_to_redshift({INSTANCE},data)
4) Function create_table
pymy has a create_table function with this signature:
import pymy
pymy.create_table({INSTANCE}, data, primary_key=(), types=None)
This function is automatically called in the send_to_redshift function if the table is not created. You can also call it with the “create_boolean” parameter of the send_to_reshift function or by setting “primary_key” or “types” parameters.
primary_key : if you have 3 columns (ie: columns_name=[a,b,c]) and you want to set b as primary key, set primary_key=(b)
types: create_table function guesses types of each column. But you can set a “types” argument. It is a dictionary like {‘b’: ‘VARCHAR(12)’} or {‘b’: ‘INTEGER NOT NULL’} to set types of b column.
Metadata
Release files for pymy 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pymy-0.0.8.tar.gz | 6.2 kB | Without provenance | Details for pymy-0.0.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pymy-0.0.8-py3-none-any.whl | Python 3 | none | any | Details for pymy-0.0.8-py3-none-any.whl |
Total release size: 16.2 kB
Release files / pymy-0.0.8.tar.gz
| Download URL | pymy-0.0.8.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36d7fb0e68f266b26294855b8d0eed70668b1f6c1907dca42184a334bfc24d03
|
|
BLAKE2b-256 checksum How to use checksums |
15a4d10cdd86d4e63dd1c9cf696a070ffd86b3a1e50bd067f122b876c432f9f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.6
|
Release files / pymy-0.0.8-py3-none-any.whl
| Download URL | pymy-0.0.8-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d2ec690da0c8aa34dd356c3077175030154be05ea1839e3eeb2d42ad0b0acf9
|
|
BLAKE2b-256 checksum How to use checksums |
62d7ce31a8917aaa6273066a29ac4a46ae135a42f554b0cada35bc3494273b3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.6
|
Security for pymy 0.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.