3

I was really excited about the Envoy project when I first heard about it. Having a sane API for subprocess is something I very much need.

However, envoy seems not to be maintained anymore. The last commit was made 10 months ago, and the last release was made 2 years ago. There are a bunch of serious bugs in it that I reported a long time ago, but were not fixed.

I'm looking for an alternative. Does anyone know of a Python package that does the same thing as Envoy (gives a good API to subprocess), except it's actively maintained?

Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
Ram Rachum
  • 84,019
  • 84
  • 236
  • 374

1 Answers1

2

There is the sarge package, available with: pip install sarge

It is documented here: http://sarge.readthedocs.org/en/latest/tutorial.html#installation-and-testing

It seems to be actively maintained & the maintainer is a frequent user of stack overflow (see one of their posts on the topic here: https://stackoverflow.com/a/11032170/2942522 )

A snippet from the sarge docs & one of the usage examples provided:

"If you want to interact with external programs from your Python applications, Sarge is a library which is intended to make your life easier than using the subprocess module in Python’s standard library."

>>> from sarge import run, Capture
>>> p = run('echo foo; echo bar; echo baz', stdout=Capture())
>>> p.stdout.readline()
'foo\n'
>>> p.stdout.readline()
'bar\n'
>>> p.stdout.readline()
'baz\n'
>>> p.stdout.readline()
''
Community
  • 1
  • 1
treddy
  • 2,771
  • 2
  • 18
  • 31