# StepFunction
![License](https://img.shields.io/badge/License-MIT-blue.svg)
![Python](https://img.shields.io/badge/Python-3.12%2B-brightgreen.svg)
![Status](https://img.shields.io/badge/Status-Alpha-red.svg)
`StepFunction` is a Python library for orchestrating complex workflows through a step-by-step process. It allows for easy management of sequential and parallel tasks with robust error handling and branching. The library is inspired by AWS Step Functions but implemented as a Python-native solution to orchestrate workflows across any environment.
## Features
- **Sequential and Parallel Execution**: Run steps one after another or in parallel.
- **Error Handling**: Define failure paths and handle exceptions gracefully.
- **Branching Logic**: Direct workflows based on conditions.
- **Sub-Step Functions**: Modularize workflows by embedding sub-step functions.
- **Visualization**: Integrated support for visualizing the workflow graph.
## Installation
You can install the `StepFunction` package using `pip`:
```bash
pip install stepfunction
```
## Documentation and Further Reading
For more detailed usage examples and advanced use cases, please read the [blog post](https://blog.vineethp.com/posts/introducingstepfunction/) that explains the design and usage of the library in-depth. This blog post covers advanced concepts like error handling, sub-step functions, and visualizing workflows in a real-world context.
## Dependencies
The StepFunction package requires the following dependencies:
- `graphviz == 0.20.3`
These will be automatically installed when you install the package via pip.
## Contributing
If you'd like to contribute to StepFunction, feel free to submit issues or pull requests. Contributions are welcome!
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Author
Created and maintained by **Vineeth Penugonda**.
Raw data
{
"_id": null,
"home_page": null,
"name": "stepfunction",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "StepFunction, Workflow, Orchestration, Library",
"author": "Vineeth Penugonda",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/bc/e8/bc95784c7dcbe74f7cba40efcda55d8b05c37080b1e65c2307ed8d629cf2/stepfunction-0.0.1.tar.gz",
"platform": null,
"description": "# StepFunction\n\n![License](https://img.shields.io/badge/License-MIT-blue.svg)\n![Python](https://img.shields.io/badge/Python-3.12%2B-brightgreen.svg)\n![Status](https://img.shields.io/badge/Status-Alpha-red.svg)\n\n`StepFunction` is a Python library for orchestrating complex workflows through a step-by-step process. It allows for easy management of sequential and parallel tasks with robust error handling and branching. The library is inspired by AWS Step Functions but implemented as a Python-native solution to orchestrate workflows across any environment.\n\n## Features\n\n- **Sequential and Parallel Execution**: Run steps one after another or in parallel.\n- **Error Handling**: Define failure paths and handle exceptions gracefully.\n- **Branching Logic**: Direct workflows based on conditions.\n- **Sub-Step Functions**: Modularize workflows by embedding sub-step functions.\n- **Visualization**: Integrated support for visualizing the workflow graph.\n\n## Installation\n\nYou can install the `StepFunction` package using `pip`:\n\n```bash\npip install stepfunction\n```\n\n## Documentation and Further Reading\n\nFor more detailed usage examples and advanced use cases, please read the [blog post](https://blog.vineethp.com/posts/introducingstepfunction/) that explains the design and usage of the library in-depth. This blog post covers advanced concepts like error handling, sub-step functions, and visualizing workflows in a real-world context.\n\n## Dependencies\n\nThe StepFunction package requires the following dependencies:\n\n- `graphviz == 0.20.3`\n\nThese will be automatically installed when you install the package via pip.\n\n## Contributing\n\nIf you'd like to contribute to StepFunction, feel free to submit issues or pull requests. Contributions are welcome!\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Author\nCreated and maintained by **Vineeth Penugonda**.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Step Function Workflow Orchestration Library",
"version": "0.0.1",
"project_urls": {
"Blog_Post": "https://blog.vineethp.com/posts/introducingstepfunction/",
"Homepage": "https://github.com/vinecodes/stepfunction",
"Issues": "https://github.com/vinecodes/stepfunction/issues"
},
"split_keywords": [
"stepfunction",
" workflow",
" orchestration",
" library"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9d215677d9d12aaf4f79b3a0139b202d9c54ab8bb8eb707e78aa87e6062e1201",
"md5": "85e089402a09e08ac821e1753ea9bbc1",
"sha256": "ea263fe5d7833d0b212e58fa3272390c8ac6fb2ee3215a2d93fc0b40e4b8b91a"
},
"downloads": -1,
"filename": "stepfunction-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "85e089402a09e08ac821e1753ea9bbc1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 12713,
"upload_time": "2024-10-02T14:25:44",
"upload_time_iso_8601": "2024-10-02T14:25:44.319424Z",
"url": "https://files.pythonhosted.org/packages/9d/21/5677d9d12aaf4f79b3a0139b202d9c54ab8bb8eb707e78aa87e6062e1201/stepfunction-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bce8bc95784c7dcbe74f7cba40efcda55d8b05c37080b1e65c2307ed8d629cf2",
"md5": "cfba294871f7bb29726335901a89322c",
"sha256": "81fdc88b949294baaa5e6c75b24170102c5aecbdd0f879be04c0781c4467f663"
},
"downloads": -1,
"filename": "stepfunction-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "cfba294871f7bb29726335901a89322c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 9659,
"upload_time": "2024-10-02T14:25:47",
"upload_time_iso_8601": "2024-10-02T14:25:47.038479Z",
"url": "https://files.pythonhosted.org/packages/bc/e8/bc95784c7dcbe74f7cba40efcda55d8b05c37080b1e65c2307ed8d629cf2/stepfunction-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-02 14:25:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vinecodes",
"github_project": "stepfunction",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "stepfunction"
}