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.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.5.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

procrunner-0.5.1-py2.py3-none-any.whl (7.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for procrunner-0.5.1.tar.gz
Algorithm Hash digest
SHA256 e9ba7bd2540fd8d658d4e99a7b9b20ebaf20258d2ae8bbdf2bb054d3de9d98d5
MD5 4046501ca668376de24691930a8f902c
BLAKE2b-256 c24118365de5e79c0275e6f045e9df6f731d547098c9ed5ef32373caf93d2532

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for procrunner-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 15a2f95bee8bea407037a932c771b536db4f607b1a67754487ed8c09553772ad
MD5 c6b8ec10280d7bb71840e3665776b3fe
BLAKE2b-256 2ed55b019f20314eb00123c547992ebc51c95a3f024ba371900d023f910fdfd8

See more details on using hashes here.

Supported by

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