What’s New

v1.2.0 (2020-07-01)

Code changes

  • Type annotations
  • pathlib support
  • Logging: Use a custom global or context-local logger. The default logger has been changed from the root logger to pshell.
  • New function wait_for_server()
  • Add unit tests for kill() around SIGTERM handling (thanks Jacob Lin)

Packaging changes

  • Added support for Python 3.8; dropped support for Python 3.5
  • Increased minimum required version of psutil to 5.3
  • Use setuptools-scm for versioning

CI changes

  • Migrated from conda to pip
  • Migrated from Travis+AppVeyor to GitHub Workflows
  • Integrated with codecov.io
  • Run test suite on MacOS
  • Run test suite on Windows with Python 3.6 and 3.7
  • Mandatory flake8, black, isort, and mypy

v1.1.0 (2018-11-19)

  • Many bugfixes for Windows. Removed bash dependency in Windows; commands run in cmd by default.
  • Breaking API change: changed kill_procs(procs) to kill(*procs)
  • kill() now accepts integer PIDs in addition to psutil.Process objects
  • New function killall()
  • New ignore_readonly parameter for remove()

v1.0.0 (2018-10-11)

Fork from Legal & General’s landg.bash.

  • Broken down module and unit tests into smaller bits
  • Replaced nosetests with py.test
  • Added support for Ubuntu and Windows
  • CI tests for Linux (Python 3.5, 3.6, 3.7) and Windows (Python 3.6)

API changes:

  • Merged gzip_open into open(). Added support for bzip2 and lzma compression.
  • Changed parameters of concatenate(). By default, the output file is deleted if it already exists.