tinyfan


Nametinyfan JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryTiny Argo Workflows python devkit
upload_time2025-02-16 13:30:41
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords argo-workflow pipeline tinyfan workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.47824s