Metadata-Version: 2.4
Name: conjuring
Version: 0.10.0
Summary: 🐍🤖 Reusable global Invoke tasks that can be merged with local project tasks
Author-email: "W. Augusto Andreoli" <andreoliwa@sent.com>
License-Expression: MIT
Keywords: automation,cli,invoke,python,tasks
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development
Requires-Python: >=3.9
Requires-Dist: humanize
Requires-Dist: invoke
Requires-Dist: iterfzf
Requires-Dist: more-itertools
Requires-Dist: packaging
Requires-Dist: python-slugify
Requires-Dist: requests
Requires-Dist: rich
Requires-Dist: ruamel-yaml
Requires-Dist: tomlkit
Requires-Dist: tqdm
Requires-Dist: typer
Provides-Extra: dev
Requires-Dist: ipdb; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-datadir; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Provides-Extra: lint
Requires-Dist: pylint; extra == 'lint'
Description-Content-Type: text/markdown

# Conjuring

Reusable global [Invoke](https://github.com/pyinvoke/invoke) tasks that can be
merged with local project tasks.

## Features

- Merge any local `tasks.py` file with global Conjuring tasks
- Use all global Conjuring tasks provided by this package
- Only include the global Conjuring tasks you want (opt-in spells)
- Use all Conjuring tasks excluding some (opt-out spells)
- Add your own custom tasks from Python modules or packages to global tasks
- Display your custom task modules conditionally
- Display your custom individual tasks conditionally
- Merge your project tasks with the global reusable tasks
- Prefix task names of your custom module

More details on the [features documentation](https://andreoliwa.github.io/conjuring/features/).

## Tasks

Each module under [the `conjuring/spells` directory](https://github.com/andreoliwa/conjuring/tree/master/src/conjuring/spells)
is a collection of Invoke tasks.

Read more in [Spells (API reference)](https://andreoliwa.github.io/conjuring/spells/).

## Quick setup

Install Conjuring in an isolated virtualenv with [pipx](https://github.com/pypa/pipx):

```shell
pipx install --include-deps conjuring
```

The `--include-deps` flag is needed to install Invoke's apps (`invoke` and `inv`).

Run the command to configure files on your home directory:

```shell
# For more options:
# conjuring init --help
conjuring init
```

You should see the list of Conjuring tasks from any directory where you type this:

```shell
invoke --list
```

For more configuration options, [read the detailed documentation](https://andreoliwa.github.io/conjuring/features/#modes).
