Development¶
Contributing¶
Thanks for the interest in contributing to Lira!
Requirements:
Git
Python greater or equal than
3.7
Get the project:
git clone https://github.com/pythonecuador/lira
cd lira
Create a virtual environment:
python -m venv venv
source venv/bin/activate
Install the project locally with:
pip install -e .
Run python -m lira
,
or check the docs about the modules to become familiar with the project.
Note
Try to write tests for each new feature or bug fixed. See tests/ for inspiration.
Install nox to run the tasks:
python -m pip install nox
Check the available tasks with python -m nox -l
,
and execute the task with python -m nox -s <task>
.
Before sending a pull request, make sure to run the formatter, and see if the linter, tests, and coverage are passing.
make format
make lint
make tests
make coverage
If you want help or have any questions, please join our telegram group Python Ecuador.
Documentation¶
If you are contributing to the documentation,
try make serve-docs
to see it locally and with hot-reloading.
Debugging¶
If you are having problems,
you can check the logs at ~/.local/share/lira/log/lira.log
,
or at ~/AppData/Local/lira-data/log/lira.log
if you are using Windows.
To debug with the lira’s terminal interface running you may need python-remote-pdb, install it with:
pip install remote-pdb
It works just as pdb, import it with:
from remote_pdb import set_trace
set_trace()
And to connect to it from another terminal:
telnet 127.0.0.1 4444
For more insights about it, please read the python-remote-pdb documentation.
Roadmap¶
Goals¶
Command line tutorial (100% text)
Multi platform
Easy to install
Content for all levels
Autocomplete (program arguments)
Easy to add new tutorials
Multi-languages (i18n)
Edit the code with your favorite editor
Save your advance
Non-Goals¶
It is not a web tutorial
No mobile support
It does not have multi-user support
It is not an editor or IDE for Python
Does not support other languages
Not a replacement for Jupyter Notebook
It is not a reference document or book
Random ideas for the future¶
Multiple themes support
Plugins
Share your score
Expand to other types of tutorials (physics, math, statistics)
Against the clock mode
Quiz mode