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 runningmypy
,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 apyproject.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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b2d6d2e341e6f22cd0619f223e0f460fc347fbaf15ce5b12ca72d989333dca |
|
MD5 | 31e937cf96bfd78293615290e1e211b1 |
|
BLAKE2b-256 | 3b516747ed504e714b97a7c63a07956548437d319de85838bc28e978b2499b1e |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | de657641fee9cb61c9ec86a836e6a841ab2271695a9f8e2f778d2acfb0c2ada1 |
|
MD5 | a39d3fdc2cc0ed9c571193af18692a40 |
|
BLAKE2b-256 | 22070e7f33bffa34246fc55952e39cde12f68d7f9a3046ebddbc96341d256405 |