Metadata-Version: 2.4
Name: invoke-toolkit
Version: 0.0.26
Summary: A set of extended APIs for PyInvoke for composable scripts, plugins and richer output
Project-URL: Documentation, https://github.com/D3f0/invoke-toolkit#readme
Project-URL: Issues, https://github.com/D3f0/invoke-toolkit/issues
Project-URL: Source, https://github.com/D3f0/invoke-toolkit
Author-email: Nahuel Defossé <D3f0@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.10
Requires-Dist: appdirs
Requires-Dist: invoke>=2.2.1
Requires-Dist: pdbpp[dev]>=0.11.7
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: rich>=14.2.0
Requires-Dist: tomlkit>=0.13.3
Requires-Dist: typing-extensions>=4.13.2
Provides-Extra: dev
Requires-Dist: hunter>=3.7.0; extra == 'dev'
Requires-Dist: pdbpp>=0.11.7; extra == 'dev'
Description-Content-Type: text/markdown

# invoke-toolkit

A set of extensions for rich output, more options in collection/config discovery through `entry-points`.

This extends the Collection from Invoke so it can create automatically collections.

[![PyPI - Version](https://img.shields.io/pypi/v/invoke-toolkit.svg)](https://pypi.org/project/invoke-toolkit)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/invoke-toolkit.svg)](https://pypi.org/project/invoke-toolkit)

-----

## Table of Contents

- [invoke-toolkit](#invoke-toolkit)
  - [Table of Contents](#table-of-contents)
  - [Features](#features)
  - [Do I need this package](#do-i-need-this-package)
  - [Installation](#installation)
  - [Development](#development)
  - [License](#license)

## Features

- Task discovery by namespace for extendable/composable CLIs
- Discovery to *plain old* tasks.py (or any other name)
- Integration with stand alone binaries for specific tasks
- **Future** Download binaries

## Do I need this package

If you have...

- Used `invoke` for a while and...
- Have a large `tasks.py` that needs to be modularized
- Have a lot of copy/pasted code in multiple `tasks.py` across multiple repos.
- Have exceeded the approach of a repository cloned as `~/tasks/` with more .py files that you want to manage.
- Or you want to combine various tasks defined in multiple directories
- You want to create a zipped (shiv) redistribute script for container environments
  like Kubernetes based CI environments with only requiring the Python interpreter.

## Installation

```console
pip install invoke-toolkit
```

## Development

This project utilizes the `pre-commit` framework, make sure you run:

`pre-commit install`

With `uvx`:

`uvx --with pre-commit-uv pre-commit install`

## License

`invoke-toolkit` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
