Skip to content
Python library for making POSIX shells
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
scripts
tests
twosheds
.gitignore
.travis.yml
AUTHORS.rst
HISTORY.rst
LICENSE
Makefile
README.rst
requirements.txt
setup.cfg
setup.py
tox.ini

README.rst

twosheds

https://badge.fury.io/py/twosheds.png https://pypip.in/d/twosheds/badge.png https://travis-ci.org/Ceasar/twosheds.svg?branch=master

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

Get started now.

Features

  • Substitution
  • History
  • Tab completion
  • Highly extensible

Installation

To install twosheds, simply:

$ pip install twosheds

Documentation

Documentation is available at http://twosheds.readthedocs.org/en/latest/.

Contribute

twosheds is under active development and contributions are especially welcome.

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off it).
  3. Write a test which shows that the bug was fixed or that the feature works as expected.
  4. Send a pull request and bug the maintainer until its get merged and published. Make sure to add yourself to AUTHORS. :)

Support

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.

E-mail

I'm more than happy to answer any personal or in-depth questions about twosheds. Feel free to email cbautista@gmail.com.

You can’t perform that action at this time.