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
# 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.0.tar.gz (6.6 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.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for koi_fish-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9c89eb2e041715e4330fd094001c8f611de0d48e8ee792c5150ad4ae0835e79c
MD5 94e52e52c33b328c83ce8a2308a382db
BLAKE2b-256 94e93402099590f4f9390d18186f1b2968a7a82a2092fca95fa06b47e46eec8e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for koi_fish-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6cbbf49c759d618dc3e9024477d3ac0693054303512e61bddcfbbb1e1b3e80f
MD5 e97b4a57889f02d5ccbc86a835620efc
BLAKE2b-256 464e3094db2f7b8d54794bcb43e3e88c76169be27ccded2d2d6bda6200f2df2c

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