tinyfan


Nametinyfan JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryTiny Argo Workflows python devkit
upload_time2025-01-09 18:03:57
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/e6/80/e18e984781383adbdeb4362b7e5509e5fd505b817f3fd5acc017265da580/tinyfan-0.1.2.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.1.2",
    "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": "7e3577cfc24277f3ec97fd676876773d253a46717f31a59b45950e1ec7d96372",
                "md5": "ef60b4e028c9f36c8a66b98954f2ea26",
                "sha256": "315f7ce9b38fef290305593072041f2caff5869d2b9a17c9ece5e040011ce693"
            },
            "downloads": -1,
            "filename": "tinyfan-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ef60b4e028c9f36c8a66b98954f2ea26",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 16843,
            "upload_time": "2025-01-09T18:03:56",
            "upload_time_iso_8601": "2025-01-09T18:03:56.308718Z",
            "url": "https://files.pythonhosted.org/packages/7e/35/77cfc24277f3ec97fd676876773d253a46717f31a59b45950e1ec7d96372/tinyfan-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e680e18e984781383adbdeb4362b7e5509e5fd505b817f3fd5acc017265da580",
                "md5": "1960d456e4166e7bf077a54bc0b0dae5",
                "sha256": "d8e4732c06b42e3fb5fc18fefdc77694086b9d5d3903a77b6a3de7ce78969736"
            },
            "downloads": -1,
            "filename": "tinyfan-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "1960d456e4166e7bf077a54bc0b0dae5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 48931,
            "upload_time": "2025-01-09T18:03:57",
            "upload_time_iso_8601": "2025-01-09T18:03:57.372531Z",
            "url": "https://files.pythonhosted.org/packages/e6/80/e18e984781383adbdeb4362b7e5509e5fd505b817f3fd5acc017265da580/tinyfan-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-09 18:03:57",
    "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.41277s