.. _tutor:
Tutor development
=================
Start by cloning the Tutor repository::
git clone https://github.com/overhangio/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 `_. 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 `_. To detect errors, run::
make test-lint
Bundle ``tutor`` executable
---------------------------
::
make bundle
Generating the documentation
----------------------------
::
pip install -r requirements/docs.txt
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 and date in CHANGELOG.md.
- Create a commit with the version changelog.
- ``make release`` (this assumes that there are two remotes named "origin" and "overhangio")
After a regular push to ``master``, run ``make nightly`` to update the "nightly" tag.