<!-- markdownlint-disable-file MD031 -->
[//]: # "It breaks numbered lists on Mkdocs"
[//]: # "MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines"
# 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 mode)
- Use all Conjuring tasks excluding some (opt-out mode)
- 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.
## Quick setup
1. 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`).
2. Create a `tasks.py` file on your home dir:
```shell
echo -e "from conjuring import *\n\nnamespace = cast_all_spells()" > ~/tasks.py
```
3. You should see the list of Conjuring tasks from any directory where you type this:
```shell
invoke --list
```
Raw data
{
"_id": null,
"home_page": "https://github.com/andreoliwa/conjuring",
"name": "conjuring",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "invoke,tasks,automation,cli,python",
"author": "W. Augusto Andreoli",
"author_email": "andreoliwa@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9d/59/65356711f711d2c45a182dcd3c1dbe86c93bab9e99350bf3de8382f80381/conjuring-0.7.0.tar.gz",
"platform": null,
"description": "<!-- markdownlint-disable-file MD031 -->\n\n[//]: # \"It breaks numbered lists on Mkdocs\"\n[//]: # \"MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines\"\n\n# Conjuring\n\nReusable global [Invoke](https://github.com/pyinvoke/invoke) tasks that can be\nmerged with local project tasks.\n\n## Features\n\n- Merge any local `tasks.py` file with global Conjuring tasks\n- Use all global Conjuring tasks provided by this package\n- Only include the global Conjuring tasks you want (opt-in mode)\n- Use all Conjuring tasks excluding some (opt-out mode)\n- Add your own custom tasks from Python modules or packages to global tasks\n- Display your custom task modules conditionally\n- Display your custom individual tasks conditionally\n- Merge your project tasks with the global reusable tasks\n- Prefix task names of your custom module\n\nMore details on the [features documentation](https://andreoliwa.github.io/conjuring/features/).\n\n## Tasks\n\nEach module under [the `conjuring/spells` directory](https://github.com/andreoliwa/conjuring/tree/master/src/conjuring/spells)\nis a collection of Invoke tasks.\n\n## Quick setup\n\n1. Install Conjuring in an isolated virtualenv with [pipx](https://github.com/pypa/pipx):\n ```shell\n pipx install --include-deps conjuring\n ```\n The `--include-deps` flag is needed to install Invoke's apps (`invoke` and `inv`).\n2. Create a `tasks.py` file on your home dir:\n ```shell\n echo -e \"from conjuring import *\\n\\nnamespace = cast_all_spells()\" > ~/tasks.py\n ```\n3. You should see the list of Conjuring tasks from any directory where you type this:\n ```shell\n invoke --list\n ```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\ud83d\udc0d\ud83e\udd16 Reusable global Invoke tasks that can be merged with local project tasks",
"version": "0.7.0",
"project_urls": {
"Documentation": "https://andreoliwa.github.io/conjuring/",
"Homepage": "https://github.com/andreoliwa/conjuring",
"Repository": "https://github.com/andreoliwa/conjuring"
},
"split_keywords": [
"invoke",
"tasks",
"automation",
"cli",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a9955eb82502dbf5624ad9b4024a3faddc4e652fd51e1e854577a9ab0168b1aa",
"md5": "b912408c926df6eb9f7a7ab052306ed9",
"sha256": "3e1c66d51871824e0c094314ab465dc47a2dbbfaaa43da5553135c0a53d837ad"
},
"downloads": -1,
"filename": "conjuring-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b912408c926df6eb9f7a7ab052306ed9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 40979,
"upload_time": "2023-05-27T00:01:25",
"upload_time_iso_8601": "2023-05-27T00:01:25.187393Z",
"url": "https://files.pythonhosted.org/packages/a9/95/5eb82502dbf5624ad9b4024a3faddc4e652fd51e1e854577a9ab0168b1aa/conjuring-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d5965356711f711d2c45a182dcd3c1dbe86c93bab9e99350bf3de8382f80381",
"md5": "610d333761848b64302448a25d5b42b2",
"sha256": "f4f200aed18921e3eab83ab80ab05b97e3b18ba6b688270d18d318753a2d8d55"
},
"downloads": -1,
"filename": "conjuring-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "610d333761848b64302448a25d5b42b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 32567,
"upload_time": "2023-05-27T00:01:27",
"upload_time_iso_8601": "2023-05-27T00:01:27.226927Z",
"url": "https://files.pythonhosted.org/packages/9d/59/65356711f711d2c45a182dcd3c1dbe86c93bab9e99350bf3de8382f80381/conjuring-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-27 00:01:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "andreoliwa",
"github_project": "conjuring",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "conjuring"
}