sh v1.10 Release Notes
-
- partially applied functions with
functools.partial
have been fixed for_out
and_err
callbacks #160 -
_out
or_err
being callables no longer puts the running command in the background. to achieve the previous behavior, pass_bg=True
to your command. - ๐ deprecated
_with
contexts #195 - โฑ
_timeout_signal
allows you to specify your own signal to kill a timed-out process with. use a constant from thesignal
stdlib module. #171 - ๐ฆ signal exceptions can now be caught by number or name.
SignalException_9 == SignalException_SIGKILL
- ๐ฆ child processes that timeout via
_timeout
raisesh.TimeoutException
instead ofsh.SignalExeception_9
#172 - ๐ fixed
help(sh)
from the python shell andpydoc sh
from the command line. #173 - ๐ program names can no longer be shadowed by names that sh.py defines internally. removed the requirement of trailing underscores for programs that could have their names shadowed, like
id
. - memory optimization when a child process's stdin is a newline-delimted string and our bufsize is newlines
- feature,
_done
special keyword argument that accepts a callback to be called when the command completes successfully #185 - ๐ bugfix for being unable to print a baked command in python3+ #176
- ๐ bugfix for cwd not existing and causing the child process to continue running parent process code #202
- ๐ป child process is now guaranteed to exit on exception between fork and exec.
- ๐ fix python2 deprecation warning when running with -3 PR #165
- ๐ bugfix where sh.py was attempting to execute directories #196, PR #189
- only backgrounded processes will ignore SIGHUP
- allowed
ok_code
to take arange
object. #PR 210 - 0๏ธโฃ added
sh.args
with context which allows overriding of all command defaults for the duration of that context. - added
sh.pushd
with context which takes a directory name and changes to that directory for the duration of that with context. PR #206 - โ tests now include python 3.4 if available. tests also stop on the first python that suite that fails.
- ๐ฆ SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGPIPE, SIGSYS have been added to the list of signals that throw an exception PR #201
- "callable" builtin has been faked for python3.1, which lacks it.
- "direct" option added to
_piped
special keyword argument, which allows sh to hand off a process's stdout fd directly to another process, instead of buffering its stdout internally, then handing it off. #119
- partially applied functions with