Presentation slides ./Awesome CommandLine Tools.pdf
REPL --> Read, Eval, Print, Loop
python package --> prompt_toolkit (creating a commandline tool)
https://github.com/prompt-toolkit/python-prompt-toolkit
pygments package --> for lexers
- Persistent History
- History search
- Emacs Keybindings
- Auto-Completion
- Minimal Config
- Syntax Coloring
- dbcli.com ; pgcli.com ; mycli.net ; Litecli.com ; iredis.io
- fishshell.com (design)
- bpython-interpreter.org
- prompt-toolkit
REPO used for presentation --> https://github.com/sanand0/pyconindia2020
- Logging (to check progress)
- TQDM (to show progress)
- Websocket --> from gramex
- SQL-LITE-DICT (save results and avoid recomputing) https://pythonhosted.org/sqlite_object/sqlite_dict.html
- Forward-recovery (what is this in context of programming ?)
- Apache Plasma (EXPLORE)
- Comicgen --> Front-End (EXPOLRE) https://github.com/gramener/comicgen/
- Detailed article on typing https://realpython.com/python-type-checking/
Python annotations (type hints) the typing module --> https://docs.python.org/3/library/typing.html mypy python module enforce static typing
- MonkeyType (MonkeyType collects runtime types of function arguments and return values, and can automatically generate stub files or even add draft type annotations directly to your Python code based on the types collected at runtime.) https://github.com/Instagram/MonkeyType
Presentation slides ./Logging_the_right_way_.pdf
-
Structlog (Drop in replacement to standard logging library) https://www.structlog.org/en/stable/getting-started.html
-
Dynamic logging
- Change Log Level in Run time
- logging.config.listen()
- Works with fileConfig, dictConfig etc
- logging.config.listen()
- Recipies for logging
- https://docs.python.org/2/howto/logging-cookbook.html#configuration-server-example
- https://medium.com/hiredscore-engineering/logging-lets-do-it-right-41d568d3bfcd
https://docs.celeryproject.org/en/stable/getting-started/introduction.html