Philosophy ========== * Dependencies should only be added when absolutely necessary. * Dependencies written in anything other than Python cannot be mandatory. * The library must work correctly with no system dependencies other than Python 3. * Strict type-checking is required to pass everywhere in the library to make upgrades easier. * The code structure must make use of hard and clear boundaries to keep the different parts decoupled. * The API should cover only the most commonly used features to avoid bloat and reduce maintenance costs. * Documentation must be a pleasure to use and contain plenty of code examples.