twosheds is a library, written in Python, for making command language interpreters, or shells.
Shells like bash are very powerful, but they require you to learn C or clunky domain-specific scripting languages to extend and customize. twosheds lets you write your own shell, in Python, which means you can customize it completely:
>>> import twosheds
>>> shell = twosheds.Shell()
>>> shell.interact()
$ 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
- Substitution
- History
- 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:
If your question is less than 140 characters, feel free to send a tweet to @Ceasar_Bautista.
If you notice some unexpected behavior in twosheds, or want to see support for a new feature, file an issue on GitHub.
I'm more than happy to answer any personal or in-depth questions about twosheds. Feel free to email cbautista@gmail.com.