powerchord


Namepowerchord JSON
Version 0.1.4 PyPI version JSON
download
home_pagehttps://github.com/githuib/powerchord
SummaryConcurrent CLI task runner
upload_time2024-02-26 01:45:37
maintainerHuib Piguillet
docs_urlNone
authorHuib Piguillet
requires_python>=3.11,<4.0
licenseMIT
keywords task runner cli utility concurrency
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Powerchord: Concurrent CLI task runner

[![Poetry](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/githuib/powerchord/master/assets/logo.json)](https://pypi.org/project/powerchord)
[![PyPI - Version](https://img.shields.io/pypi/v/powerchord)](https://pypi.org/project/powerchord/#history)
[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/powerchord)](https://pypi.org/project/powerchord)

## Installation

```commandline
pip install powerchord
```

## Usage

Run a number of tasks:

```commandline
$ powerchord -t "ruff check ." pytest mypy
✔ ruff check .  21.075 ms
✔ mypy          166.433 ms
✔ pytest        187.096 ms
```

Tasks can be labeled by passing them as NAME=COMMAND values:

```commandline
$ powerchord -t lint="ruff check ." test=pytest typing=mypy
To do:
• lint    ruff check .
• test    pytest
• typing  mypy

Results:
✔ lint    48.452 ms
✔ typing  202.403 ms
✔ test    286.231 ms
```

Verbosity can be specified for all output, for successful tasks and for failed tasks by setting log levels:

```commandline
$ powerchord -t "ruff chekc ." pytest mypy -l all=info success=info fail=error
✘ ruff chekc .  126.852 ms
chekc:1:1: E902 No such file or directory (os error 2)
Found 1 error.

✔ pytest        255.197 ms
..                                                                       [100%]
2 passed in 0.03s

✔ mypy          542.490 ms
Success: no issues found in 11 source files


✘ Failed tasks: ['ruff chekc .']
```

For all options see the help:

```commandline
powerchord -h
```

Config can also be specified in `pyproject.toml`:

Tasks:
```toml
[tool.powerchord]
tasks = ["command --arg", "...", "..."]
```

Labeled tasks:
```toml
[tool.powerchord.tasks]
task = "command --foo bar /path/to/happiness"
other-task = "..."
you-get-the-idea = "..."
```

Log levels:
```toml
[tool.powerchord.log_levels]
all = "info" # "debug" | "info" | "warning" | "error" | "critical" | ""
success = "" # log level of successful task output
fail = "error" # log level of failed task output 
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/githuib/powerchord",
    "name": "powerchord",
    "maintainer": "Huib Piguillet",
    "docs_url": null,
    "requires_python": ">=3.11,<4.0",
    "maintainer_email": "",
    "keywords": "task runner,cli utility,concurrency",
    "author": "Huib Piguillet",
    "author_email": "huib@proton.me",
    "download_url": "https://files.pythonhosted.org/packages/88/27/9b7fcbb93f37cbf8955a065024b48abb38ecc9582035347afff6d9ad76dd/powerchord-0.1.4.tar.gz",
    "platform": null,
    "description": "# Powerchord: Concurrent CLI task runner\n\n[![Poetry](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/githuib/powerchord/master/assets/logo.json)](https://pypi.org/project/powerchord)\n[![PyPI - Version](https://img.shields.io/pypi/v/powerchord)](https://pypi.org/project/powerchord/#history)\n[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/powerchord)](https://pypi.org/project/powerchord)\n\n## Installation\n\n```commandline\npip install powerchord\n```\n\n## Usage\n\nRun a number of tasks:\n\n```commandline\n$ powerchord -t \"ruff check .\" pytest mypy\n\u2714 ruff check .  21.075 ms\n\u2714 mypy          166.433 ms\n\u2714 pytest        187.096 ms\n```\n\nTasks can be labeled by passing them as NAME=COMMAND values:\n\n```commandline\n$ powerchord -t lint=\"ruff check .\" test=pytest typing=mypy\nTo do:\n\u2022 lint    ruff check .\n\u2022 test    pytest\n\u2022 typing  mypy\n\nResults:\n\u2714 lint    48.452 ms\n\u2714 typing  202.403 ms\n\u2714 test    286.231 ms\n```\n\nVerbosity can be specified for all output, for successful tasks and for failed tasks by setting log levels:\n\n```commandline\n$ powerchord -t \"ruff chekc .\" pytest mypy -l all=info success=info fail=error\n\u2718 ruff chekc .  126.852 ms\nchekc:1:1: E902 No such file or directory (os error 2)\nFound 1 error.\n\n\u2714 pytest        255.197 ms\n..                                                                       [100%]\n2 passed in 0.03s\n\n\u2714 mypy          542.490 ms\nSuccess: no issues found in 11 source files\n\n\n\u2718 Failed tasks: ['ruff chekc .']\n```\n\nFor all options see the help:\n\n```commandline\npowerchord -h\n```\n\nConfig can also be specified in `pyproject.toml`:\n\nTasks:\n```toml\n[tool.powerchord]\ntasks = [\"command --arg\", \"...\", \"...\"]\n```\n\nLabeled tasks:\n```toml\n[tool.powerchord.tasks]\ntask = \"command --foo bar /path/to/happiness\"\nother-task = \"...\"\nyou-get-the-idea = \"...\"\n```\n\nLog levels:\n```toml\n[tool.powerchord.log_levels]\nall = \"info\" # \"debug\" | \"info\" | \"warning\" | \"error\" | \"critical\" | \"\"\nsuccess = \"\" # log level of successful task output\nfail = \"error\" # log level of failed task output \n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Concurrent CLI task runner",
    "version": "0.1.4",
    "project_urls": {
        "Homepage": "https://github.com/githuib/powerchord",
        "Repository": "https://github.com/githuib/powerchord"
    },
    "split_keywords": [
        "task runner",
        "cli utility",
        "concurrency"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6fa570b6fe88fd1428063abec6b940ea6b02a4888695337f0bb33cd2369c09f",
                "md5": "d5e9cae2dc54405cebacfe32248ab502",
                "sha256": "ee8300df6836a65d033b925ae156ab643e4f5efdde8bf08f8a4d96ebeee97b42"
            },
            "downloads": -1,
            "filename": "powerchord-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d5e9cae2dc54405cebacfe32248ab502",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11,<4.0",
            "size": 9070,
            "upload_time": "2024-02-26T01:45:35",
            "upload_time_iso_8601": "2024-02-26T01:45:35.659692Z",
            "url": "https://files.pythonhosted.org/packages/b6/fa/570b6fe88fd1428063abec6b940ea6b02a4888695337f0bb33cd2369c09f/powerchord-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88279b7fcbb93f37cbf8955a065024b48abb38ecc9582035347afff6d9ad76dd",
                "md5": "bead88485a9471db38e9f2218a0ef7b7",
                "sha256": "fdcb7dd2a1576ac39c3a8c999e650409418f953626e815a4a045e4c48892aa0a"
            },
            "downloads": -1,
            "filename": "powerchord-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "bead88485a9471db38e9f2218a0ef7b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11,<4.0",
            "size": 8839,
            "upload_time": "2024-02-26T01:45:37",
            "upload_time_iso_8601": "2024-02-26T01:45:37.164259Z",
            "url": "https://files.pythonhosted.org/packages/88/27/9b7fcbb93f37cbf8955a065024b48abb38ecc9582035347afff6d9ad76dd/powerchord-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-26 01:45:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "githuib",
    "github_project": "powerchord",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "powerchord"
}
        
Elapsed time: 0.21218s