Skip to main content

A simple and efficient workflow framework for Python

Project description

Nanoflow

PyPI - Python Version pypi PyPI - Downloads LICENSE
uv ruff Gitmoji

Nanoflow is a simple and efficient workflow framework for Python. It allows you to define and execute tasks and workflows with ease.

Features

  • Define tasks and workflows using decorators
  • Support for task dependencies
  • Retry functionality for tasks
  • GPU resource management for parallel task execution

Roadmap

  • Split commands into command and args to avoid too long
  • Integration with FastAPI for managing workflows as web APIs
  • Enhance TUI, improve task log display, use terminal-like style
  • Support for multiple configuration files or folders
  • Support for passing parameters and matrix
  • Support to depend on a task that has matrix

Installation Downloads

Installation using pip/pipx/uv

Before this, please ensure that Python 3.10 or above is installed, along with pip.

pip install nanoflow

If you want to try the Nightly version, you can try

pip install git+https://github.com/zrr1999/nanoflow@main

Before this, please ensure that pipx/uv is installed.

pipx install nanoflow
uv tool install nanoflow

Source Installation

git clone https://github.com/zrr1999/nanoflow
cd nanoflow
pip install .

Usage

To use Nanoflow as a package, you can define tasks and workflows using decorators:

from nanoflow import workflow, task

@task
def task_a():
    print("a")

@workflow
async def workflow_a():
    await task_a.submit()


if __name__ == "__main__":
    workflow_a.run()

To use Nanoflow as a cli or tui, you can use the following command:

nanoflow examples/simple.toml
nanoflow examples/simple.toml --use-tui

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanoflow-0.6.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

nanoflow-0.6.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file nanoflow-0.6.0.tar.gz.

File metadata

  • Download URL: nanoflow-0.6.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for nanoflow-0.6.0.tar.gz
Algorithm Hash digest
SHA256 d3373680266223ca3eeeea79e59e4d86306ff648ba7e25eb8df5c2da3d678cb6
MD5 418b82909d9ce91739cc73f896069b98
BLAKE2b-256 2bb186c591e048e1d5725ec27a5351dfd6f406ffe75cb6cac3ee85bbfb5bcb84

See more details on using hashes here.

Provenance

File details

Details for the file nanoflow-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: nanoflow-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for nanoflow-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 574f4ade37f7860ed09e51e6c4754273a6a37624570cf5144d22f132b95590f4
MD5 78c75210b642de2c00e0118136940416
BLAKE2b-256 171740577483451ed8024cbd1ea07d97318f24f6ccc5c201bac6fe0d87d3c72d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page