Initial skeleton and tests

Bringing in code from ndoh
For full PEP-8 compliance (and easier readability), you need to group your imports into "stdlib modules, empty line, third-party modules, empty line, local modules" and put an empty line between the imports and the logger setup.