Skip to main content

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)

Metadata

Release files for faterunner 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for faterunner 0.2.0
File Size Uploaded
faterunner-0.2.0.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for faterunner 0.2.0
File Interpreter ABI Platform
faterunner-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.0 kB

Release files / faterunner-0.2.0.tar.gz

Download URL faterunner-0.2.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
02675396e68a17230c77a6fb14fd2d63095c5ca49c392281f3ad702f3516958d
BLAKE2b-256 checksum
How to use checksums
1c979a081c0ba1a811feec324040e0d39843adefdec55b048771c9c324e36031
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / faterunner-0.2.0-py3-none-any.whl

Download URL faterunner-0.2.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b21debf964e310a94b545281468ba347b59f17698d0a7a6f62c50de66403107
BLAKE2b-256 checksum
How to use checksums
10717cf2204c7d2267a7bbab27349fe6f2d32692c2f5061e36dc98ec4ae3a7c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page