relshell
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には使える