A framework to manage shell commands' inputs/outputs as relational data.


License
Other
Install
pip install relshell==0.3.3

Documentation

relshell

https://travis-ci.org/laysakura/relshell.png?branch=master

A framework to manage shell commands' inputs/outputs as relational data.

For users

Unfortunately, relshell is not documented so well yet. See relshell/test/test_practical_use_*.py as well as API reference .

For developers

API reference

Sphinx-powered documents are available on http://packages.python.org/relshell

Building and uploading documents

$ ./setup.py build_sphinx
$ browser doc/html/index.html
$ ./setup.py upload_sphinx

Testing

$ ./setup.py nosetests
$ browser htmlcov/index.html  # check coverage

Uploading packages to PyPI

$ emacs setup.py   # edit `version` string
$ emacs CHANGES.rst
$ ./setup.py sdist upload

Or use zest.releaser, a convenient tool for repeated release cycles.

TODO (ugly Japanese)

  • relshellプロセス ===(thread)===> シェルオペレータ ===(fork)===> シェルコマンドプロセス という流れを作る(Queueもいるね)

  • shellstreaming/README.rst にあるような感じで,batchをop間でやりとりできるようにする

  • シェルプロセスは非同期でも扱いたい.そもそもpopenとかがそういうインターフェースだし.

  • デバッグオプションをonにしたらどんな動作しているのかくらい出力してあげたい

  • daemonizeできる条件 - in_batchをstdinからとり,out_batchを(stdout|file)に出す - 「in_batch_xに対する出力分out_batch_xがここまでですよ」と定義できる(例えば,空行はout_batch_xの終わりですよ,とか)

    • enjuには使える