Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
> The purpose is not to do this however, the goal for a repl cli is usually to invoke a set of particular, already implemented commands, not on the fly python input and output. The implementation will be predefined and packaged, repl are only used to run a list of specific commands with arguments that implementation has already defined.
That's a very strange definition for a REPL, I would just call that an (interactive) CLI. Maybe that's why you couldn't find anything when you were doing your search? I used python-prompt-toolkit [0] when building such interfaces. pgcli [1] is an example of such an interface built with prompt-toolkit.
It has a lot of nice autocomplete and readline emulation options. Maybe it's something you can integrate with your project.
[0] https://github.com/prompt-toolkit/python-prompt-toolkit
[1] https://www.pgcli.com/
Great job! Heres a similar tool but for the Click command line toolkit instead of argparse:
https://github.com/click-contrib/click-repl
(Also should work with Typer and other libraries wrapping Click)
Interesting! You can also inherit from code.InteractiveConsole[0] to build a REPL. That's how the new sqlite3 REPL is implemented[1]
[0]: https://docs.python.org/3/library/code.html#code.Interactive...
[1]: https://github.com/python/cpython/blob/02d9f1504beebd98dea80...
This looks really nice.
I've been spending a lot of time with python lately because of new project work, I had never really used python before. It's been really cool to keep finding stuff like this.
The equivalent of something like in the .net world (eg https://github.com/dotnet/command-line-api) and even powershell modules (https://learn.microsoft.com/en-us/powershell/module/microsof...) have a steeper learning curve and take significantly MORE work to set up for the end-user.