Skip to main content

A graceful, distributed, and Git-powered experiment tracking and model explanation tool for AI researchers. See through every forward pass. Flow will over — and flowers will bloom. 一个优雅、分布式的 AI 实验记录与可视化工具,致力于打破模型训练中的“黑盒”迷雾,让每一次 forward 都可见、可溯、可协作 —— 柳暗花明,终见曙光。

Project description

🌸 Flowillower 柳暗花明

“山重水复疑无路,柳暗花明又一村。”——宋·陆游 《游山西村》

“Through layered peaks and winding flows, no path seems in sight; /

Beyond shadowed willows, blooming flowers—a village comes to light”

(Lu You, 1167 AD in the Song Dynasty, “Travel to a Village West of the Mountains”, as translated by the library author in 2025).

A graceful, distributed, and Git-powered experiment tracking and model explanation tool for AI researchers. See through every forward pass. Flow will over — and flowers will bloom.

✨ What is flowillower?

flowillower(willow + flower = flo -willow- er = flowillower = flow-will-over ) is a lightweight, decentralized alternative to experiment tracking tools like Weights & Biases or TensorBoard — built for researchers who care not just about metrics, but about meaning.

It enables you to:

  • 🌱 Track metrics, models, and forward flows
  • 🧠 Visualize PyTorch model structures and internal tensor paths
  • 🌍 Store all logs in a Git-powered directory (local-first, push-optional)
  • 🚀 Deploy visualizations to Hugging Face or ModelScope Spaces via a template app
  • 🔐 Keep your data — your data (No central server required)

Whether you’re blocked in a thicket of non-converging experiments or wandering in a maze of parameter sweeps — flowillower aims to be the “bright flowers from dark willows” of your research journey.

🚀 Quickstart

Installation

Install latest from the GitHub repository:

$ pip install git+https://github.com/THU-CVML/flowillower.git

or from conda

$ conda install -c THU-CVML flowillower

or from pypi

$ pip install flowillower

Documentation

Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.

Basic usage

Fill me in please! Don’t forget code examples:

from flowillower import init, log_metrics, log_model, push
import torch.nn as nn

# Initialize an experiment (creates a local Git repo)
init(project_name="my_cool_exp")

# Log your model architecture
model = nn.Sequential(nn.Linear(10, 32), nn.ReLU(), nn.Linear(32, 1))
log_model(model)

# Log some fake metrics
log_metrics(step=1, metrics={"loss": 0.234, "accuracy": 0.89})
log_metrics(step=2, metrics={"loss": 0.123, "accuracy": 0.91})

# Optional: push to a remote Git repo for team sharing or cloud viewing
push("https://huggingface.co/spaces/yourname/yourapp")

🙌 Contributing

We welcome contributions, ideas, and issues! See CONTRIBUTING.md or open a discussion to share your thoughts.

📜 License: Apache 2.0

Install flowillower in Development mode

# make sure flowillower package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to flowillower
$ nbdev_prepare

📂 Project Structure

🧠 Why the name “flowillower”?

It’s a blend of “willow” + “flower”, inspired by the Chinese idiom “柳暗花明又一村” (Liǔ àn huā míng yòu yī cūn) — light at the end of the tunnel.

Even deeper: flow + will + over → “flow will over” → Break free from rigid workflows, discover breakthroughs, and bloom.

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

flowillower-0.0.3.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowillower-0.0.3-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file flowillower-0.0.3.tar.gz.

File metadata

  • Download URL: flowillower-0.0.3.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for flowillower-0.0.3.tar.gz
Algorithm Hash digest
SHA256 87e8224dfdfcf2bca178f5ea48762435639933f547d774c9713d0b1e209077ca
MD5 c85446683a342b6664a41a55cc230309
BLAKE2b-256 372682a44f8342b919b147148ad91ecc9d697023bd03fa005bdc2b3d5a783f72

See more details on using hashes here.

File details

Details for the file flowillower-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: flowillower-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for flowillower-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f2e70141771c998a43bd2ff5f8f77d0043a5e52fdc8d2f79e70035299578e45
MD5 2210e168968f29e8b334482bea44a45a
BLAKE2b-256 8aec32ae685b022986c27f95c86c3e9e373bd6ea325a9b2fdfefde58d864f4b3

See more details on using hashes here.

Supported by

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