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.0.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.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fanda-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 18e19170e8d617add9dc74e2ec10952dd4b86edbc13c8a4b80ff175a7be6b705
MD5 557996bcb46828311b9f3c56a932a045
BLAKE2b-256 ea4555ef5ddea00092dc390607b44a81c1c5b16740e387776d8e9f7b92934604

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fanda-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd505f4e1634456a3ac99423c56e974b8fd330035a539beb1977e623169e36c9
MD5 2a394fcded8ae0ffb1eeafdd27253cef
BLAKE2b-256 3eec2211487fa81c93abf07d0cc879d03127f70041727eb70fa50b32cb16eae3

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