Skip to content

florianfelice/PYCOF

Repository files navigation

PYCOF (PYthon COmmon Functions)

1. Installation

Downloads PyPI version

You can get pycof from PyPI with:

pip install pycof

The library is supported on Windows, Linux and MacOs.

2. Usage

2.1. Documentation

You can find the full documentation at https://www.florianfelice.com/pycof or by clicking on the name of each function in the next section. It will redirect you the the function's specific documentation.

2.1. Available functions

The current version of the library provides:

  • remote_execute_sql: aggragated function for SQL queries to SELECT, INSERT, DELETE or COPY.
  • read: Load any data file, regarless of the format.
  • send_email: simple function to send email to contacts in a concise way.
  • verbose_display: extended function to print strings, lists, data frames and progression bar if used as a wrapper in for loops.
  • add_zero: simple function to convert int to str by adding a 0 is less than 10.
  • group: will convert an int to a str with thousand seperator.
  • replace_zero: will transform 0 values to - for display purposes.
  • week_sunday: will return week number of last sunday date of a given date.
  • display_name: displays the current user name. Will display either first, last or full name.
  • write: writes a str to a specific file (usually .txt) in one line of code.
  • file_age: computes the age (in days, hours, ...) of a given local file.
  • str2bool: converts string to boolean.
  • And many others!

2.2. Config file for credentials

The function remote_execute_sql and send_email will by default look for the credentials located at /etc/.pycof/config.json. On Windows, save the config file as C:/Windows/.pycof/config.json.

The file follows the below structure:

{
	"DB_USER": "",
	"DB_PASSWORD": "",
	"DB_HOST": "",
	"DB_PORT": "3306",
	"DB_DATABASE": "",
	"__COMMENT_1__": "Email specific, send_email"
	"EMAIL_USER": "",
	"EMAIL_PASSWORD": "",
	"EMAIL_SMTP": "smtp.gmail.com",
	"EMAIL_PORT": "587"
	"__COMMENT_2__": "IAM specific, if useIAM=True in remote_execute_sql",
	"CLUSTER_NAME": "",
	"AWS_ACCESS_KEY_ID": "",
	"AWS_SECRET_ACCESS_KEY": "",
	"REGION": "eu-west-1"
}

On Unix based system, run:

sudo nano /etc/.pycof/config.json

and paste the above json after filling the empty strings (pre-filled values are standard default values).

Reminder: To save the file, with nano press CTRL + O, confirm with y then CTRL + X to exit.

On Windows, use the path C:/Windows/.pycof/config.json.