Python interactive tutorial in your terminal.
Learn, Imagine, Repeat, Analyze
This project is still under development, many things may and will change!
Check the docs at https://lira.python.ec.
Interactive tutorials in your terminal 📖 🐍
Home Page: https://lira.python.ec/en/latest/
License: MIT License
Python interactive tutorial in your terminal.
Learn, Imagine, Repeat, Analyze
This project is still under development, many things may and will change!
Check the docs at https://lira.python.ec.
Could be cool to add the telegram group to have a place to go in case of a questions.
t.me/pythonecuador
Once the API is kind of stable we should document it :D
Some nodes require some type of data that we need to validate, like TestBlock.validator
(this should be an importable module).
Or CodeBlock
where the content should be a list of lines. Or Admonition.type
where it should be one of the three types. Maybe we can do the validation like django rest framework does, or something more simple like the rst directive does
Lines 73 to 76 in 298679e
@Seburath necesito tu usuario de pypi
The config file was added in #69 but it was missing the docs for it. We need a docs/config.rst
doc.
For the nodes here https://github.com/pythonecuador/lira/blob/master/lira/parsers/nodes.py
Debemos crear un parser para que se traslade el texto a la interfaz y como interactúa con las directivas, etc
ref #6 (comment)
We need some more detailed steps on how to install the project (from pypi and from source). docs/install.rst
Necesitamos un formato flexible para que contenga el tutorial en si y metadatos (como pistas, puntos?). También metadatos del tuto en si (como TOC, secciones, etc). Estamos considerando rst (doctutils para parsearlo)
The app is small for now, but looks like is going to grow quickly. We should refactor it into something like this:
tui/widgets.py
tui/windows.py
tui/__init__.py
We need to figure out how to do internationalization :D
This will also make it easier to test.
Lines 104 to 105 in f05975a
Just a general explanation about the parser and the TUI and how everything works together
Coverage is low there https://codecov.io/gh/pythonecuador/lira/src/master/lira/app.py and we refactored that code to make it easy to test
This is more consistent with the internal structure.
Line 126 in c6ddabd
Looks like we are going to use this in the UI, so we need to pass an object here.
Line 51 in ac3ab48
We need to start logging things and raise warnings to the user. https://docs.python.org/3/library/logging.html
We need a cool logo for the project!
Sphinx/readthedocs/lira.python.ec
We can ship this with the repo itself, so it's kind of a tuto and showcase :)
We decided to keep this repo in english and make a separate repo with the books in spanish
Creo que estamos apuntando a python 3.6 pa arriba. Pero debemos verificar que las dependencias que usemos soporten esas versiones.
We need more tests! 95% coverage at least https://codecov.io/gh/pythonecuador/lira/ (we are at 86%)
We only support a subset of nodes from rst. We should raise a warning if we find nodes that aren't recognized.
Lines 126 to 142 in 7eccc4b
The options and arguments when running the program
We could use click https://click.palletsprojects.com/ or just plain argparser
Similar to the other ones, we have the docs session in nox
The coverage is low, so codecov is failling, we need to set in the config file the new limit.
We have a Note
node
Lines 137 to 143 in f05975a
but we actually want an Admonition node with different types (note, warning, tip).
There are some ideas here prompt-toolkit/python-prompt-toolkit#1243 (comment)
But with some unittests should be fine to start :)
Saludos,
Creo que la descripción esta muy bien pero sería chévere que se indique como usar el repo.
Necesitamos un layout para poner todos los componentes https://python-prompt-toolkit.readthedocs.io/en/master/pages/full_screen_apps.html#building-full-screen-applications
This issue is to track improvements we can send upstream (python-prompt-toolkit specially)
We should mention this in the readme and index file (with a link to python.ec)
We need bullet and numeric lists. And support for nested lists!
Right now we are passing what we need in the init method, but we should pass everything in just one argument. Or manage them from one class or a global variable?
In #61 I realized we are implementing a list with buttons, but buttons have some behavior that can't be changed, like the style of the text, the representation, etc.
We should add a small docstring for each node.
https://github.com/pythonecuador/lira/blob/master/lira/parsers/nodes.py
Para el CLI podemos usar click https://click.palletsprojects.com/en/7.x/, para la interfaz en si podemos usar https://github.com/prompt-toolkit/python-prompt-toolkit (parece lo suficientemente flexible para lo que queremos hacer)
I did it with this project https://github.com/ionelmc/python-remote-pdb
And setting this env vars
export PYTHONBREAKPOINT=remote_pdb.set_trace
export REMOTE_PDB_HOST=127.0.0.1
export REMOTE_PDB_PORT=4444
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.