# Tinyfan
Tinyfan: Minimalist Data Pipeline Kit - Generate Argo Workflows with Python
# Features
* Generate Argo Workflows manifests from Python data pipeline definitions.
* Ease of Use and highly extendable
* Intuitive data model abstraction: let Argo handle orchestration—we focus on the data.
* Argo Workflows is notably lightweight and powerful – and so are we!
* Enhanced DevOps Experience: easly testable, Cloud Native and GitOps-ready.
# Our Goal
* **Minimize mental overhead** when building data pipelines.
# Not Our Goal
* **Full-featured orchestration framework:** We don't aim to be a battery-powered, comprehensive data pipeline orchestration solution.
No databases, web servers, or controllers—just a data pipeline compiler. Let's Algo Workflows handle all the complexity.
# Installation
```
# Requires Python 3.10+
pipx install tinyfan
```
# Tiny Example
```python
# main.py
# Asset definitions
from tinyfan import asset
@asset(schedule="*/3 * * * *")
def world() -> str:
return "world"
@asset()
def greeting(world: str):
print("hello " + world)
```
```shell
# Apply the changes to argo workflow
tinyfan template main.py | kubectl apply -f -
```
# Real World Example (still tiny though!)
Comming soon
# License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "tinyfan",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "argo-workflow, pipeline, tinyfan, workflow",
"author": null,
"author_email": "eunchuldev <eunchulsong@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ef/4b/9213eeef1e97f5d59f0ca48204d245d407fa861966a358f1dc055af8d2ec/tinyfan-0.2.1.tar.gz",
"platform": null,
"description": "# Tinyfan\n\nTinyfan: Minimalist Data Pipeline Kit - Generate Argo Workflows with Python\n\n# Features\n\n* Generate Argo Workflows manifests from Python data pipeline definitions.\n* Ease of Use and highly extendable\n* Intuitive data model abstraction: let Argo handle orchestration\u2014we focus on the data.\n* Argo Workflows is notably lightweight and powerful \u2013 and so are we!\n* Enhanced DevOps Experience: easly testable, Cloud Native and GitOps-ready.\n\n# Our Goal\n\n* **Minimize mental overhead** when building data pipelines.\n\n# Not Our Goal\n\n* **Full-featured orchestration framework:** We don't aim to be a battery-powered, comprehensive data pipeline orchestration solution. \n No databases, web servers, or controllers\u2014just a data pipeline compiler. Let's Algo Workflows handle all the complexity.\n\n# Installation\n\n```\n# Requires Python 3.10+\npipx install tinyfan\n```\n\n# Tiny Example\n\n```python\n# main.py\n\n# Asset definitions\n\nfrom tinyfan import asset\n\n@asset(schedule=\"*/3 * * * *\")\ndef world() -> str:\n return \"world\"\n\n@asset()\ndef greeting(world: str):\n print(\"hello \" + world)\n```\n\n```shell\n# Apply the changes to argo workflow\n\ntinyfan template main.py | kubectl apply -f -\n```\n\n# Real World Example (still tiny though!)\n\nComming soon\n\n\n\n# License\n\nThis project is licensed under the MIT License.\n",
"bugtrack_url": null,
"license": null,
"summary": "Tiny Argo Workflows python devkit",
"version": "0.2.1",
"project_urls": {
"Documentation": "https://github.com/eunchuldev/tinyfan#readme",
"Issues": "https://github.com/eunchuldev/tinyfan/issues",
"Source": "https://github.com/eunchuldev/tinyfan"
},
"split_keywords": [
"argo-workflow",
" pipeline",
" tinyfan",
" workflow"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ebdb25b11f4eb105eb7619c370cc4e6b394ee6de7dab0f23864524fab9adbd4d",
"md5": "948eabc3a9f47e1aff1b083f771b4329",
"sha256": "d8be7e03eeb425fd72e8a5f5aa9397f7262616ca46b38ad3ab086b1676a25b47"
},
"downloads": -1,
"filename": "tinyfan-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "948eabc3a9f47e1aff1b083f771b4329",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 17152,
"upload_time": "2025-02-16T13:30:39",
"upload_time_iso_8601": "2025-02-16T13:30:39.568461Z",
"url": "https://files.pythonhosted.org/packages/eb/db/25b11f4eb105eb7619c370cc4e6b394ee6de7dab0f23864524fab9adbd4d/tinyfan-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ef4b9213eeef1e97f5d59f0ca48204d245d407fa861966a358f1dc055af8d2ec",
"md5": "289866e3fcdf96f15866368bf9115cb4",
"sha256": "f67c6e58156026ffd298401724f2187d37581f94cd023ace3a8885c95a4bbd9f"
},
"downloads": -1,
"filename": "tinyfan-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "289866e3fcdf96f15866368bf9115cb4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 49853,
"upload_time": "2025-02-16T13:30:41",
"upload_time_iso_8601": "2025-02-16T13:30:41.784049Z",
"url": "https://files.pythonhosted.org/packages/ef/4b/9213eeef1e97f5d59f0ca48204d245d407fa861966a358f1dc055af8d2ec/tinyfan-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-16 13:30:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eunchuldev",
"github_project": "tinyfan#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tinyfan"
}