Skip to main content

CLI task runner & automation tool

Project description

Koi fish

Koi fish

Python 3.X PyPI Downloads


Command line task runner & automation tool


How to use

  • Describe jobs as tables/dictionaries in a config file called 'koi.toml'.
    (Put the config inside the root directory of your project)
[test]
description = "run tests"
dependencies = "uv sync --all-extras --dev"
commands = "uv run pytest -v --cov=./pyrio --cov-fail-under=90 --cov-report=xml"
  • description and dependencies could be optional but not commands
[no-deps]
commands = "echo 'Hello world'"
  • dependencies and commands could be strings or (in case of more than one) a list of strings
commands = ["uv run ruff check", "uv run ruff format"]
  • You could provide a [run] table inside the config file with a 'suite' - list of selected jobs to run
[run]
suite = ["lint", "format", "test"]

  • Run the tool in the terminal with a simple 'koi' command
$ koi
(logs omitted...)
$ All jobs succeeded! ['lint', 'format', 'test']
Detoxing took: 14.088007061000098
  • In case of failing jobs you get general stats
(logs omitted...)
$ Unsuccessful detoxing took: 13.532951637999759
Failed jobs: ['format']
Successful jobs: ['lint', 'test']

or

$ Unsuccessful detoxing took: 8.48367640699962
Failed jobs: ['format']
Successful jobs: ['lint']
Skipped jobs: ['test']

  • You could run specific jobs in the command line
$ koi --job format

or a list of jobs

$ koi -j format test

NB: If there is a 'run' table in the config file jobs specified in the command line take precedence

  • other available options
# run all jobs from the config file 
$ koi --run-all  # short form: -r
# hide output logs from running commands
$ koi --silent  # -s
# don't print shell commands - similar to @<command> in Makefile
$ koi --mute-commands  # -m
# skip a job from config file - can be combined e.g. with --run-all
$ koi -r --skip test
  • commands showing data
# display all jobs from the config file
$ koi --all  # -a
# ['install', 'format', 'test', 'cleanup', 'run']
# display all jobs from the 'suite' table
$ koi --suite  # -t
# ['install', 'format', 'test']
# display config for a given job
$ koi --describe  format  # -d
# FORMAT
#         description: format code
#         commands: uv run ruff check
#                   uv run ruff format

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

koi_fish-1.0.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

koi_fish-1.0.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file koi_fish-1.0.1.tar.gz.

File metadata

  • Download URL: koi_fish-1.0.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for koi_fish-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3371ed997b4738c9b95e5aa804bfd16f70343a41ded29036827af721814646ba
MD5 f278be4515c5ba5530ff5db97f6098ba
BLAKE2b-256 6920d2c1227605281c72c1d75e6ef270d21b8e08f50f1a25008434de245fefa6

See more details on using hashes here.

File details

Details for the file koi_fish-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: koi_fish-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for koi_fish-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 994af3d522a3c0abc7237c4148e8039ad159b6b4ad4dced56d344c0b7c0f0a50
MD5 09b2e2b3b5599ec53df01fd7db192c34
BLAKE2b-256 158ea02d2d19550cd0aec1001651f15dcee166de7dcf718ee9352c7eef677daa

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