Updated the .gitignore file to include .egg-info files which are produced by setuptools and also venv/ or *-venv directories sometimes used to have local virtual environments clearly attached to this repository.
Added a setup.py file which is pretty standard but also includes commands for running the flake8, pylint and coverage tools which are useful to keep the code very nice and clean.