Skip to main content

1) Installation

Open a terminal and install pymy package

pip install pymy

2) Use

  1. 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=""
  1. Be also sure that your IP address is authorized for the mysql cluster/instance.

  2. 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],...]
    }
  1. 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.

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)

Source distribution for pymy 0.0.8
File Size Uploaded
pymy-0.0.8.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymy 0.0.8
File Interpreter ABI Platform
pymy-0.0.8-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page