Skip to main content

F.. A.. Task Execution Runner

Project description

Faterunner

CI

The fate of a task is to be run.

Or "F.. A.. Task Execution Runner". (TODO: backronym)

Parsers

Faterunner can support many configuration file formats. It will try to guess the correct configuration file.

Right now Faterunner only supports pyproject.toml format, but you can add your own file format support by implementing a parser and exposing it to faterunner.parsers entry point

[project.entry-points.'faterunner.parsers']
my-parser = 'myproject.parser:MyParser'

Pyproject

[tool.faterunner.targets]
# you can define a task as a list of commands
check = ['ruff check .', 'ruff format --check .']
format = ['ruff check --fix .', 'ruff format .']

# or you can define them as a table of {commands = ..., dependencies = ..., options = ...}
[tool.faterunner.targets.docker-build]
options = { shell = true } # inline options for the task
commands = ['docker build -t my-project:$(git rev-parse HEAD) .'] # interpolation
[tool.faterunner.targets.docker-run]
dependencies = ['docker-build'] # will run only if `docker-build` succeeded
options = { shell = true }
commands = ['docker run --rm -p 5000:5000 my-project:$(git rev-parse HEAD)']

[tool.faterunner.targets.check-and-format]
dependencies = ['check', 'format'] # task with no commands

[tool.faterunner.targets.i-have-no-mouth-and-i-must-scream]
options = { silent = true }
commands = ['echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH"']

Options

  • silent: Suppress output. (stdout and stderr)
  • ignore_err: Ignore any error.
  • keep_going: Keep running tasks even if some cannot be done. (like make -k ...)
  • dry: Do not execute actions.
  • shell: Run in a shell. (for subprocess actions)

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

faterunner-0.2.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

faterunner-0.2.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file faterunner-0.2.0.tar.gz.

File metadata

  • Download URL: faterunner-0.2.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for faterunner-0.2.0.tar.gz
Algorithm Hash digest
SHA256 02675396e68a17230c77a6fb14fd2d63095c5ca49c392281f3ad702f3516958d
MD5 14637779d401a81ab28f5d9a67cb4d59
BLAKE2b-256 1c979a081c0ba1a811feec324040e0d39843adefdec55b048771c9c324e36031

See more details on using hashes here.

File details

Details for the file faterunner-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: faterunner-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for faterunner-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b21debf964e310a94b545281468ba347b59f17698d0a7a6f62c50de66403107
MD5 763bb219f16b691b536738c72dd322fa
BLAKE2b-256 10717cf2204c7d2267a7bbab27349fe6f2d32692c2f5061e36dc98ec4ae3a7c3

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