├── .appenv ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── AGENTS.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── TODO.md ├── bin └── multiplex ├── docs └── spec │ ├── feature-delay_suffixes.md │ ├── feature-input_guards.md │ ├── feature-input_redirects.md │ ├── feature-process_input_guards.md │ ├── feature-process_start_condition.md │ ├── feature-start_on_output.md │ ├── feature-timestamps.md │ └── format-command.md ├── examples ├── actions-demo.sh ├── cicd-pipeline.sh ├── color-demo.sh ├── complete-demo.sh ├── delay-suffixes-demo.sh ├── dependencies-demo.sh ├── dev-environment.sh ├── http-benchmark.sh ├── parallel-coordination.sh ├── process-delays.sh ├── redirects-demo.sh ├── sequential-build.sh ├── special-cases.sh ├── time-delays.sh └── timestamp-demo.sh ├── setup.py ├── src └── py │ └── multiplex.py └── tests ├── api-command.py ├── api-terminate-descendants.py ├── api-terminate.py ├── assets └── forking-process.sh ├── cli-delay-terminate.sh ├── core-killtask.py ├── feature-delay_suffixes.py ├── feature-dependencies.py ├── feature-dependency-delays.py ├── run-stdout-buffer.py ├── test-cli-ctrl-c.py ├── test-color.py ├── test-comprehensive.py ├── test-interactive-ctrl-c.py ├── test-macos.py ├── test-parallel-execution.py ├── test-process-start-dependency.py ├── test-process-tree.py ├── test-redirects-runtime.py ├── test-redirects.py ├── test-sighup.py ├── test-sigint.py ├── test-start-delays.py ├── test-start-on-output-runtime.py ├── test-start-on-output.py ├── test-timestamp.py └── unit-parse.py /.appenv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/.appenv -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/.gitignore -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/AGENTS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/TODO.md -------------------------------------------------------------------------------- /bin/multiplex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/bin/multiplex -------------------------------------------------------------------------------- /docs/spec/feature-delay_suffixes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-delay_suffixes.md -------------------------------------------------------------------------------- /docs/spec/feature-input_guards.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-input_guards.md -------------------------------------------------------------------------------- /docs/spec/feature-input_redirects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-input_redirects.md -------------------------------------------------------------------------------- /docs/spec/feature-process_input_guards.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-process_input_guards.md -------------------------------------------------------------------------------- /docs/spec/feature-process_start_condition.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-process_start_condition.md -------------------------------------------------------------------------------- /docs/spec/feature-start_on_output.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-start_on_output.md -------------------------------------------------------------------------------- /docs/spec/feature-timestamps.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/feature-timestamps.md -------------------------------------------------------------------------------- /docs/spec/format-command.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/docs/spec/format-command.md -------------------------------------------------------------------------------- /examples/actions-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/actions-demo.sh -------------------------------------------------------------------------------- /examples/cicd-pipeline.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/cicd-pipeline.sh -------------------------------------------------------------------------------- /examples/color-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/color-demo.sh -------------------------------------------------------------------------------- /examples/complete-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/complete-demo.sh -------------------------------------------------------------------------------- /examples/delay-suffixes-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/delay-suffixes-demo.sh -------------------------------------------------------------------------------- /examples/dependencies-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/dependencies-demo.sh -------------------------------------------------------------------------------- /examples/dev-environment.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/dev-environment.sh -------------------------------------------------------------------------------- /examples/http-benchmark.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/http-benchmark.sh -------------------------------------------------------------------------------- /examples/parallel-coordination.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/parallel-coordination.sh -------------------------------------------------------------------------------- /examples/process-delays.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/process-delays.sh -------------------------------------------------------------------------------- /examples/redirects-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/redirects-demo.sh -------------------------------------------------------------------------------- /examples/sequential-build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/sequential-build.sh -------------------------------------------------------------------------------- /examples/special-cases.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/special-cases.sh -------------------------------------------------------------------------------- /examples/time-delays.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/time-delays.sh -------------------------------------------------------------------------------- /examples/timestamp-demo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/examples/timestamp-demo.sh -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/setup.py -------------------------------------------------------------------------------- /src/py/multiplex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/src/py/multiplex.py -------------------------------------------------------------------------------- /tests/api-command.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/api-command.py -------------------------------------------------------------------------------- /tests/api-terminate-descendants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/api-terminate-descendants.py -------------------------------------------------------------------------------- /tests/api-terminate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/api-terminate.py -------------------------------------------------------------------------------- /tests/assets/forking-process.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/assets/forking-process.sh -------------------------------------------------------------------------------- /tests/cli-delay-terminate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/cli-delay-terminate.sh -------------------------------------------------------------------------------- /tests/core-killtask.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/core-killtask.py -------------------------------------------------------------------------------- /tests/feature-delay_suffixes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/feature-delay_suffixes.py -------------------------------------------------------------------------------- /tests/feature-dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/feature-dependencies.py -------------------------------------------------------------------------------- /tests/feature-dependency-delays.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/feature-dependency-delays.py -------------------------------------------------------------------------------- /tests/run-stdout-buffer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/run-stdout-buffer.py -------------------------------------------------------------------------------- /tests/test-cli-ctrl-c.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-cli-ctrl-c.py -------------------------------------------------------------------------------- /tests/test-color.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-color.py -------------------------------------------------------------------------------- /tests/test-comprehensive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-comprehensive.py -------------------------------------------------------------------------------- /tests/test-interactive-ctrl-c.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-interactive-ctrl-c.py -------------------------------------------------------------------------------- /tests/test-macos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-macos.py -------------------------------------------------------------------------------- /tests/test-parallel-execution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-parallel-execution.py -------------------------------------------------------------------------------- /tests/test-process-start-dependency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-process-start-dependency.py -------------------------------------------------------------------------------- /tests/test-process-tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-process-tree.py -------------------------------------------------------------------------------- /tests/test-redirects-runtime.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-redirects-runtime.py -------------------------------------------------------------------------------- /tests/test-redirects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-redirects.py -------------------------------------------------------------------------------- /tests/test-sighup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-sighup.py -------------------------------------------------------------------------------- /tests/test-sigint.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-sigint.py -------------------------------------------------------------------------------- /tests/test-start-delays.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-start-delays.py -------------------------------------------------------------------------------- /tests/test-start-on-output-runtime.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-start-on-output-runtime.py -------------------------------------------------------------------------------- /tests/test-start-on-output.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-start-on-output.py -------------------------------------------------------------------------------- /tests/test-timestamp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/test-timestamp.py -------------------------------------------------------------------------------- /tests/unit-parse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebastien/multiplex/HEAD/tests/unit-parse.py --------------------------------------------------------------------------------