Skip to main content

Figures and Axes

Project description

Figures and Axes

Figures and Axes (fanda) is a lightweight Python library designed to streamline the process of extracting experiment data from Weights & Biases (wandb) and generating publication-quality plots.The name is a play on "wandb" (Weights and Biases) $\rightarrow$ "fanda" (Figures and Axes).

Features

  • Seamless Extraction: Pull scalar histories, configuration configs, and summary metrics from W&B runs easily.
  • Publication Ready: Generate clean, professional figures using matplotlib and seaborn defaults tailored for academic papers.
  • Filtering: Easily select runs based on tags, groups, or specific configuration hyperparameters.
  • DataFrame Integration: Convert W&B run histories directly into Pandas DataFrames for custom analysis.

Installation

You can install fanda directly from the PyPi:

pip install fanda

Configuration

Ensure you are logged into W&B before using the library:

wandb login

Usage

Here is a simple example of how to pull data from a project and plot the training loss.

from fanda.wandb_client import fetch_wandb
from fanda import transforms
from fanda.visualizations import lineplot, add_legend, save_fig

(
    fetch_wandb("entity", "project", filters={
        "state": "finished",
        "created_at": {"$gte": "2025-01-01"},
    })
    .pipe(transforms.exponential_moving_average, column="evaluation/mean_episode_returns", alpha=0.7)
    .pipe( 
        lineplot, 
        x="_step", 
        y="loss", 
        hue="network",
        xlabel="Number of Steps",
        ylabel="Loss",
    )
    .pipe(add_legend, column="network")
    .pipe(save_fig, name="plot")
)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

If you find this tool useful for your research, please consider citing it:

@software{fanda2025github,
  author = {Noah Farr},
  title = {fanda: Figures and Axes for Weights and Biases},
  year = {2025},
  url = {https://github.com/noahfarr/fanda},
}

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

fanda-0.2.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

fanda-0.2.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file fanda-0.2.1.tar.gz.

File metadata

  • Download URL: fanda-0.2.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for fanda-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e991c395ad0812248b3db094af241b819219e30198381e2fcab2194793a967ed
MD5 f77c6a1332b4913f0897ae1172299ee8
BLAKE2b-256 714bb5813c92929b04ebbfed7fd3de159a8eb69b71e22ee00d97ae4023bf4dfe

See more details on using hashes here.

File details

Details for the file fanda-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: fanda-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for fanda-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8a71ccef98a963eb413a8e00538877f768d93af8527b70ebfc10630b729605a
MD5 db4b671c343f12b7b84cee2d0ca6ea8c
BLAKE2b-256 0bdc35cf4235d29ff9b04cd8a60cf3decc6ab095f770d2502eafc402c49a0b52

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