7
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-05-28 03:50:46 +00:00
tutor/docs/tutor.rst
Régis Behmo 9dd4c26706 Introduce automatic code formatting/linting
Code formatting makes sure that the python code looks decent, but it
does not check for coding errors.
https://black.readthedocs.io/en/stable/

Code linting runs static error detection on the python code, but does
not bother about formatting: https://pylint.readthedocs.io/en/latest/
2019-05-05 12:30:20 +02:00

72 lines
1.4 KiB
ReStructuredText

.. _tutor:
Tutor development
=================
Start by cloning the Tutor repository::
git clone https://github.com/regisb/tutor.git
cd tutor/
Install requirements
--------------------
::
pip install -r requirements/dev.txt
Run tests
---------
::
make test
Yes, there are very few unit tests for now, but this is probably going to change.
Code formatting
---------------
Tutor code formatting is enforced by `black <https://black.readthedocs.io/en/stable/>`_. To check whether your code changes conform to formatting standards, run::
make test-format
And to automatically fix formatting errors, run::
make format
Static error detection is performed by `pylint <https://pylint.readthedocs.io/en/latest/>`_. To detect errors, run::
make test-lint
Bundle ``tutor`` executable
---------------------------
::
make bundle
Generate the documentation
--------------------------
::
pip install sphinx sphinx_rtd_theme
cd docs/
make html
You can then browse the documentation with::
make browse
Releasing a new version
-----------------------
- Bump the ``__version__`` value in ``tutor/__about__.py``.
- Replace "Latest" by the version name in CHANGELOG.md.
- Create a commit with the version changelog.
- ``git push``
- ``make release``
After a regular push to ``master``, run ``make nightly`` to update the "nightly" tag.