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.
The coverage is low, so codecov is failling, we need to set in the config file the new limit.
We need to figure out how to do internationalization :D
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?
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)
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!
Similar to the other ones, we have the docs session in nox
There are some ideas here prompt-toolkit/python-prompt-toolkit#1243 (comment)
But with some unittests should be fine to start :)
Creo que estamos apuntando a python 3.6 pa arriba. Pero debemos verificar que las dependencias que usemos soporten esas versiones.
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
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.
Sphinx/readthedocs/lira.python.ec
The options and arguments when running the program
We could use click https://click.palletsprojects.com/ or just plain argparser
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
We should mention this in the readme and index file (with a link to python.ec)
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
Just a general explanation about the parser and the TUI and how everything works together
Debemos crear un parser para que se traslade el texto a la interfaz y como interactúa con las directivas, etc
ref #6 (comment)
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
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
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)
This will also make it easier to test.
Lines 104 to 105 in f05975a
We should add a small docstring for each node.
https://github.com/pythonecuador/lira/blob/master/lira/parsers/nodes.py
@Seburath necesito tu usuario de pypi
For the nodes here https://github.com/pythonecuador/lira/blob/master/lira/parsers/nodes.py
This is more consistent with the internal structure.
Line 126 in c6ddabd
Could be cool to add the telegram group to have a place to go in case of a questions.
t.me/pythonecuador
This issue is to track improvements we can send upstream (python-prompt-toolkit specially)
We have a Note
node
Lines 137 to 143 in f05975a
but we actually want an Admonition node with different types (note, warning, tip).
We can ship this with the repo itself, so it's kind of a tuto and showcase :)
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 bullet and numeric lists. And support for nested lists!
Looks like we are going to use this in the UI, so we need to pass an object here.
Line 51 in ac3ab48
The config file was added in #69 but it was missing the docs for it. We need a docs/config.rst
doc.
Saludos,
Creo que la descripción esta muy bien pero sería chévere que se indique como usar el repo.
We need some more detailed steps on how to install the project (from pypi and from source). docs/install.rst
We need more tests! 95% coverage at least https://codecov.io/gh/pythonecuador/lira/ (we are at 86%)
Once the API is kind of stable we should document it :D
We decided to keep this repo in english and make a separate repo with the books in spanish
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.