Skip to main content

Versatile utility function to run external processes

Project description

ProcRunner

https://img.shields.io/pypi/v/procrunner.svg https://travis-ci.org/DiamondLightSource/python-procrunner.svg?branch=master https://ci.appveyor.com/api/projects/status/jtq4brwri5q18d0u/branch/master Documentation Status Updates

Versatile utility function to run external processes

Features

  • runs an external process and waits for it to finish

  • does not deadlock, no matter the process stdout/stderr output behaviour

  • returns the exit code, stdout, stderr (separately), and the total process runtime as a dictionary

  • process can run in a custom environment, either as a modification of the current environment or in a new environment from scratch

  • stdin can be fed to the process, the returned dictionary contains information how much was read by the process

  • stdout and stderr is printed by default, can be disabled

  • stdout and stderr can be passed to any arbitrary function for live processing

  • optionally enforces a time limit on the process

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.6.1 (2018-05-02)

  • Maintenance release to add some tests for executable resolution.

0.6.0 (2018-05-02)

  • Fix Win32 API executable resolution for commands containing a dot (‘.’) in addition to a file extension (say ‘.bat’).

0.5.1 (2018-04-27)

  • Fix Win32API dependency installation on Windows.

0.5.0 (2018-04-26)

  • New keyword ‘win32resolve’ which only takes effect on Windows and is enabled by default. This causes procrunner to call the Win32 API FindExecutable() function to try and lookup non-.exe files with the corresponding name. This means .bat/.cmd/etc.. files can now be run without explicitly specifying their extension. Only supported on Python 2.7 and 3.5+.

0.4.0 (2018-04-23)

  • Python 2.7 support on Windows. Python3 not yet supported on Windows.

0.3.0 (2018-04-17)

  • run_process() renamed to run()

  • Python3 compatibility fixes

0.2.0 (2018-03-12)

  • Procrunner is now Python3 3.3-3.6 compatible.

0.1.0 (2018-03-12)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

procrunner-0.6.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

procrunner-0.6.1-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file procrunner-0.6.1.tar.gz.

File metadata

  • Download URL: procrunner-0.6.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for procrunner-0.6.1.tar.gz
Algorithm Hash digest
SHA256 053d657f82b0da0d014d87370e780f105c784a28d651ee8d0c2ebcd1b09cfa7d
MD5 b5fce22d72eab47ca63a7aad3d05de46
BLAKE2b-256 7e3702ac040b1ac6025a8f8afd9c11317061c600d8768424915ab0ef4c9c045e

See more details on using hashes here.

File details

Details for the file procrunner-0.6.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for procrunner-0.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 741c54704e0623e3081d4f09d6c14608614b4b2c0c67f83b893cbc9d55e17023
MD5 2e0aeac1196a8f945b66970773ea537e
BLAKE2b-256 d213109f789ba230d86d757faa9032f1d4390db2a9a1be79b5ee0fbb41a36fae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page