# litestar-workflows
A simple library for creating and managing workflows in Litestar.
"Workflows" are a way to define a series of steps that need to be completed to achieve a goal.
`litestar-workflows` provides a way to define workflows in code, and then execute them in a controlled manner.
Some examples of workflows that could be defined with `litestar-workflows` include:
- A user creates a new post on a blog, and the post needs to be reviewed by an editor before it can be published.
- A developer implements a new feature, and the feature must be reviewed by their team -> QA -> product owner -> ...
before it can be reflected in the production environment.
- Approval workflows for various business processes like expense reports, vacation requests, etc.
- A user requests a new virtual machine, and the request must be approved by a manager before the VM is created.
- I need to run a command on a set of hosts, but I need approval from a manager -> directory -> VP -> ... before the command is executed.
...and many more!
## Installation
```bash
python3 -m pip install litestar-workflows
```
## Usage
Here's a simple example of how to define and execute a workflow using `litestar-workflows`:
```python
from litestar_workflows import Workflow, Step
# TODO: Define the steps of the workflow :)
```
## Versioning
This project uses [Semantic Versioning](https://semver.org/).
* Major versions introduce breaking changes.
* Major versions will support the currently supported version(s) of Litestar.
* See the [Litestar Versioning Policy](https://litestar.dev/about/litestar-releases#version-numbering)
for more information.
## Contributing
Contributions are welcome! For more information, please see [CONTRIBUTING.rst](CONTRIBUTING.rst).
## License
This project is licensed under the terms of the MIT license. For more information, please see [LICENSE](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "litestar-workflows",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "approvals, litestar, workflows",
"author": null,
"author_email": "Jacob Coffee <jacob@z7x.org>",
"download_url": "https://files.pythonhosted.org/packages/d2/54/84f7c8ac94ac9d19f098eb7dfe14f642cc425262bc28f8c5c249e7b79804/litestar_workflows-0.1.0.tar.gz",
"platform": null,
"description": "# litestar-workflows\n\nA simple library for creating and managing workflows in Litestar.\n\n\"Workflows\" are a way to define a series of steps that need to be completed to achieve a goal.\n`litestar-workflows` provides a way to define workflows in code, and then execute them in a controlled manner.\n\nSome examples of workflows that could be defined with `litestar-workflows` include:\n\n- A user creates a new post on a blog, and the post needs to be reviewed by an editor before it can be published.\n- A developer implements a new feature, and the feature must be reviewed by their team -> QA -> product owner -> ...\n before it can be reflected in the production environment.\n- Approval workflows for various business processes like expense reports, vacation requests, etc.\n- A user requests a new virtual machine, and the request must be approved by a manager before the VM is created.\n- I need to run a command on a set of hosts, but I need approval from a manager -> directory -> VP -> ... before the command is executed.\n\n...and many more!\n\n## Installation\n\n```bash\npython3 -m pip install litestar-workflows\n```\n\n## Usage\n\nHere's a simple example of how to define and execute a workflow using `litestar-workflows`:\n\n```python\nfrom litestar_workflows import Workflow, Step\n\n# TODO: Define the steps of the workflow :)\n```\n\n## Versioning\n\nThis project uses [Semantic Versioning](https://semver.org/).\n* Major versions introduce breaking changes.\n* Major versions will support the currently supported version(s) of Litestar.\n * See the [Litestar Versioning Policy](https://litestar.dev/about/litestar-releases#version-numbering)\n for more information.\n\n## Contributing\n\nContributions are welcome! For more information, please see [CONTRIBUTING.rst](CONTRIBUTING.rst).\n\n## License\n\nThis project is licensed under the terms of the MIT license. For more information, please see [LICENSE](LICENSE).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Workflow management in Litestar",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/JacobCoffee/litestar-workflows/releases/",
"Discord": "https://discord.gg/litestar-919193495116337154",
"Documentation": "https://jacobcoffee.github.io/litestar-workflows",
"Issue Tracker": "https://github.com/JacobCoffee/litestar-workflows/issues",
"Reddit": "https://www.reddit.com/r/LitestarAPI",
"Repository": "https://github.com/JacobCoffee/litestar-workflows",
"Twitter": "https://twitter.com/_scriptr"
},
"split_keywords": [
"approvals",
" litestar",
" workflows"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d5dc7e1a08ab23253872eb9522dca722cd32d56f21ad3e32f05e035594a6057e",
"md5": "44a2cbf5c3429475f39c028073c5c7ad",
"sha256": "c41ecbe8b343b4be95e7936cb414967dc96296c0bb2c5ef34edd7f876f4ad6bb"
},
"downloads": -1,
"filename": "litestar_workflows-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "44a2cbf5c3429475f39c028073c5c7ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 3640,
"upload_time": "2024-03-24T18:01:42",
"upload_time_iso_8601": "2024-03-24T18:01:42.683224Z",
"url": "https://files.pythonhosted.org/packages/d5/dc/7e1a08ab23253872eb9522dca722cd32d56f21ad3e32f05e035594a6057e/litestar_workflows-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d25484f7c8ac94ac9d19f098eb7dfe14f642cc425262bc28f8c5c249e7b79804",
"md5": "5b90c0093090440487414f6c4c46d7a5",
"sha256": "9e0b014baaf12b33624807d44d825ddc96f6308beacb288a65cf0679ffa63de4"
},
"downloads": -1,
"filename": "litestar_workflows-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "5b90c0093090440487414f6c4c46d7a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4547,
"upload_time": "2024-03-24T18:01:44",
"upload_time_iso_8601": "2024-03-24T18:01:44.620368Z",
"url": "https://files.pythonhosted.org/packages/d2/54/84f7c8ac94ac9d19f098eb7dfe14f642cc425262bc28f8c5c249e7b79804/litestar_workflows-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-24 18:01:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JacobCoffee",
"github_project": "litestar-workflows",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "litestar-workflows"
}