Our company has just released a new product; it's a mobile phone for extreme geeks that will only work through a UNIX shell. All the things our users want to do will be doable via the command line and we are tasked with writing the contact book application. Where do we start?
The usual way! First, we prepare our project skeleton. We are going to expose the contact book application as the contacts package, as shown here, and we are going to provide a main entry point. For now, we are going to invoke this with python -m contacts, but in the future, we will wrap this in a more convenient shortcut:
.
├── src
│ ├── contacts
│ │ ├── __init__.py
│ │ └── __main__.py
│ └── setup.py
└── tests
├── conftest.py
├── functional
│ └&...