twosheds is a library, written in Python, for making command language interpreters, or shells.
While shells like bash and zsh are powerful, extending them and customizing them is hard; you need to write in inexpressive arcane languages, such as bash script or C. twosheds helps you write and customize your own shell, in pure Python:
>>> import twosheds >>> shell = twosheds.Shell() >>> shell.serve_forever() $ whoami arthurjackson $ ls AUTHORS.rst build requirements.txt test_twosheds.py LICENSE dist scripts tests Makefile docs setup.cfg twosheds README.rst env setup.py twosheds.egg-info
- Tab completion
- Highly extensible
To install twosheds, simply:
$ pip install twosheds
Documentation is available at http://twosheds.readthedocs.org/en/latest/.
twosheds is under active development and contributions are especially welcome.
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until its get merged and published. Make sure to add yourself to AUTHORS. :)
If you have questions or issues about twosheds, there are several options:
Send a Tweet
If your question is less than 140 characters, feel free to tweet at the maintainer, @Ceasar_Bautista.
File an Issue
If you notice some unexpected behavior in twosheds, or want to see support for a new feature, file an issue on GitHub issues.
I'm more than happy to answer any personal or in-depth questions about twosheds. Feel free to email firstname.lastname@example.org.