Skip to main content

Run and handle the output of multiple executables in pyallel (as in parallel)

Project description

Pyallel

Run and handle the output of multiple executables in pyallel (as in parallel)

Requires Python >=3.8

Tested on Linux and MacOS only

Quick start

pyallel can be installed using pip:

pip install pyallel

Once installed, you can run pyallel to see usage information, like so:

pyallel

Currently you can provide a variable number of commands to run to pyallel, like so:

[!IMPORTANT] If your need to provide arguments to a command, you must surround the command and it's arguments in quotes!

pyallel "black --color --check --diff ." "MYPY_FORCE_COLOR=1 mypy ." "ruff check --no-fix ."

TODOs

  • Allow output for all provided commands to be streamed to stdout (this will require a re-work of how we print command output as we currently just print output once the command finishes)
  • Add CI checks to run the tests and linters against Python versions > 3.8
  • Allow specific command outputs to be streamed to stdout, while all other commands will only get outputted after the streamed commands have completed (such as running pytest as a streamed command, whilst running mypy, ruff etc. as non-streamed commands). This will require adding special arguments/modes to each command so they are treated differently from other commands
  • Add visual examples of pyallel in action
  • Add custom parsing of command output to support filtering for errors (like vim's errorformat)
  • Provide a way to set environment variables for each command to run with
  • Allow list of files to be provided to supply as input arguments to each command
  • Allow input to be piped into pyallel via stdin to supply as standard input to each command
  • Add custom config file for pyallel to read from as an alternative to providing arguments via the command line
  • Add support for providing config via a [tool.pyallel] section in a pyproject.toml file in the current working directory
  • Maybe allow command dependencies to be defined in a python file where commands are decorated with info that details it's dependencies?
  • Add test suite
  • Improve error handling when parsing provided commands (check they are valid executables)

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

pyallel-0.5.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

pyallel-0.5.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file pyallel-0.5.0.tar.gz.

File metadata

  • Download URL: pyallel-0.5.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for pyallel-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c9b2d6d2e341e6f22cd0619f223e0f460fc347fbaf15ce5b12ca72d989333dca
MD5 31e937cf96bfd78293615290e1e211b1
BLAKE2b-256 3b516747ed504e714b97a7c63a07956548437d319de85838bc28e978b2499b1e

See more details on using hashes here.

File details

Details for the file pyallel-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pyallel-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for pyallel-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de657641fee9cb61c9ec86a836e6a841ab2271695a9f8e2f778d2acfb0c2ada1
MD5 a39d3fdc2cc0ed9c571193af18692a40
BLAKE2b-256 22070e7f33bffa34246fc55952e39cde12f68d7f9a3046ebddbc96341d256405

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