MinimalPy
=========
An example of a minimal Python 3.6+ project that contains an web application built with `aiohttp `_.
At the same time the project exemplifies:
* aiohttp server;
* logging formatting;
* unit tests;
* `tox automation `_ for:
* `flake8 `_ style enforcement;
* running unit tests and coverage;
* `travis `_ and `coveralls `_ integration
* building documentation for `readthedocs `_.
Install and Run
---------------
Installation can be done:
* Github - without cloning
.. code-block:: console
$ pip install git+https://github.com/blankdots/minimalpy.git
* cloning repository:
.. code-block:: console
$ git clone git@github.com:blankdots/minimalpy.git
$ cd minimalpy
$ pip install .
After install the application can be started like: `$ minimal`
Tests and Documentation
-----------------------
In order to run the tests: `$ tox` in the root directory of the git project.
To build documentation locally:
.. code-block:: console
$ cd docs
$ make html
Structure
---------
Following a similar structure as described in: `Structuring Your (Python) Project `_.
Main application resides in `minimalpy` folder, documentation in `docs` and unit tests in `tests`.
.. code-block:: console
.
├── minimalpy
│ ├── __init__.py
│ └── server.py
├── data
│ └── data.json
├── docs
│ ├── conf.py
│ ├── index.rst
│ └── Makefile
├── bandit.yml
├── LICENSE
├── README.md
├── readthedocs.yml
├── requirements.txt
├── setup.py
├── tests
│ ├── conftest.py
│ ├── coveralls.py
│ ├── __init__.py
│ └── test_server.py
└── tox.ini
License
-------
``minimal`` python and all it sources are released under ``Apache License 2.0``.
Similar Projects
----------------
Some projects similar in scope:
* https://github.com/pypa/sampleproject
* https://github.com/kennethreitz/samplemod