mandala

A powerful and easy to use Python framework for experiment tracking and incremental computing (by amakelov)

Mandala Alternatives

Similar projects and alternatives to mandala

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better mandala alternative or higher similarity.

mandala reviews and mentions

Posts with mentions or reviews of mandala. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-07.
  • Mandala: A little plaground for testing pixel logic patterns
    2 projects | news.ycombinator.com | 7 Mar 2024
    I was so confused, expecting this to be some trickery related to the computational-graph-memoization-and-exploration tool "mandala" https://github.com/amakelov/mandala
  • Mandala: Notebook memoization on steroids, used by Anthropic
    1 project | news.ycombinator.com | 21 Dec 2023
  • Improve Jupyter Notebook Reruns by Caching Cells
    5 projects | news.ycombinator.com | 19 Dec 2023
    This is neat and self-contained! But as someone running experiments with a high degree of interactivity, I often have an orthogonal requirement: add more computations to the same cell without recomputing previous computations done in the cell (or in other cells).

    For a concrete example, often in an ML project you want to study how several quantities vary across several parameters. A straightforward workflow for this is: write some nested loops, collect results in python dictionaries, finally put everything together in a dataframe and compare (by plotting or otherwise).

    However, after looking at the results, maybe you spot some trend and wonder if it will continue if you tweak one of the parameters by using a new value for it; of course, you also want to look at the previous values and bring everything together in the same plot(s). You now have a problem: either re-run the cell (thus losing previous work, which is annoying even if you have to wait 1 minute - you know it's a wasted minute!), or write the new computation in a new cell, possibly with a lot of redundancy (which over time makes the notebook hard to navigate and keep consistent).

    So, this and other considerations eventually convinced me that the function is more natural than the cell as an interface/boundary at which caching should be implemented, at least for my use cases (coming from ML research). I wrote a framework based on this idea, with lots of other features (some quite experimental/unusual) to turn this into a feasible experiment management tool - check it out at https://github.com/amakelov/mandala

    P.S.: I notice you use `pickle` for the hashing - `joblib.dump` is faster with objects containing numpy arrays, which covers a lot of useful ML things

  • ML Experiments Management with Git
    4 projects | news.ycombinator.com | 2 Nov 2023
    Another option, that manages versioning of your computational graph and its results and provides extremely elegant query-able memoization is Mandala https://github.com/amakelov/mandala

    It is a much simpler and much more magical piece of software that truly expanded how I think about writing, exploring, and experimenting with code. Even if you never use it, you probably would really enjoy reading the blog posts the author wrote about the design of the tool https://amakelov.github.io/blog/pl/

  • Snakemake – A framework for reproducible data analysis
    6 projects | news.ycombinator.com | 15 Jul 2023
    You might like mandala (https://github.com/amakelov/mandala) - it is not a build recipe tool, rather it is a tool that tracks the history of how your builds / computational graph has changed, and ties it to how the data looked like at each such step.
  • Piper: A proposal for a graphy pipe-based build system
    3 projects | /r/ProgrammingLanguages | 23 Apr 2023
    u/rust4yy: I've been building mandala, a Python framework for (among other things) incremental computing. One way to think of it is "a build system for Python objects", except the units of computation are Python functions.
  • A note from our sponsor - SaaSHub
    www.saashub.com | 23 Apr 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic mandala repo stats
8
228
6.3
about 1 month ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com