Metadata-Version: 2.3
Name: litestar-workflows
Version: 0.1.0
Summary: Workflow management in Litestar
Project-URL: Changelog, https://github.com/JacobCoffee/litestar-workflows/releases/
Project-URL: Discord, https://discord.gg/litestar-919193495116337154
Project-URL: Documentation, https://jacobcoffee.github.io/litestar-workflows
Project-URL: Issue Tracker, https://github.com/JacobCoffee/litestar-workflows/issues
Project-URL: Reddit, https://www.reddit.com/r/LitestarAPI
Project-URL: Repository, https://github.com/JacobCoffee/litestar-workflows
Project-URL: Twitter, https://twitter.com/_scriptr
Author-email: Jacob Coffee <jacob@z7x.org>
License: MIT
License-File: LICENSE
Keywords: approvals,litestar,workflows
Requires-Python: >=3.9
Requires-Dist: litestar>=2
Requires-Dist: rich-click>=1.7.4
Provides-Extra: db
Requires-Dist: litestar[sqlalchemy]; extra == 'db'
Provides-Extra: dev-lint
Requires-Dist: blacken-docs>=1.16.0; extra == 'dev-lint'
Requires-Dist: codespell>=2.2.6; extra == 'dev-lint'
Requires-Dist: mypy>=1.9.0; extra == 'dev-lint'
Requires-Dist: pre-commit>=3.6.2; extra == 'dev-lint'
Requires-Dist: pyright>=1.1.355; extra == 'dev-lint'
Requires-Dist: ruff>=0.3.4; extra == 'dev-lint'
Requires-Dist: sourcery>=1.16.0; extra == 'dev-lint'
Provides-Extra: dev-test
Requires-Dist: pytest-asyncio>=0.23.6; extra == 'dev-test'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev-test'
Requires-Dist: pytest>=8.1.1; extra == 'dev-test'
Provides-Extra: ui
Requires-Dist: litestar[jinja]; extra == 'ui'
Description-Content-Type: text/markdown

# 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).
