clerk VS mandala

Compare clerk vs mandala and see what are their differences.

mandala

A powerful and easy to use Python framework for experiment tracking and incremental computing (by amakelov)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
clerk mandala
22 8
1,697 228
1.6% -
8.5 6.3
6 days ago about 1 month ago
Clojure Python
ISC License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

clerk

Posts with mentions or reviews of clerk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-07.
  • The Current State of Clojure's Machine Learning Ecosystem
    4 projects | news.ycombinator.com | 7 Apr 2024
    Something I really like in the Clojure data science stack that isn't mentioned is Clerk* — an interesting take on notebooks. I think it's a good gateway into Clojure for those coming from a Python or R background.

    *https://clerk.vision/

  • Improve Jupyter Notebook Reruns by Caching Cells
    5 projects | news.ycombinator.com | 19 Dec 2023
  • Critique of Lazy Sequences in Clojure
    5 projects | news.ycombinator.com | 7 Aug 2023
    Clojure's lazy sequences by default are wonderful ergonomically, but it provides many ways to use strict evaluation if you want to. They aren't really a hassle either. I've been doing Clojure for the last few years and have a few grievances, but overall it's the most coherent, well thought out language I've used and I can't recommend it enough.

    There is the issue of startup time with the JVM, but you can also do AOT compilation now so that really isn't a problem. Here are some other cool projects to look at if you're interested:

    Malli: https://github.com/metosin/malli

    Babashka: https://github.com/babashka/babashka

    Clerk: https://github.com/nextjournal/clerk

  • Moldable Live Programming for Clojure
    1 project | /r/hypeurls | 18 Jun 2023
    2 projects | news.ycombinator.com | 18 Jun 2023
  • Morse, an open-source interactive tool for inspecting Clojure
    2 projects | news.ycombinator.com | 28 Apr 2023
    I'm really enjoying using Clojure with Clerk: https://github.com/nextjournal/clerk

    It's a bit like a Jupyter notebook, but you get to use your own editor, you still have a normal Clojure REPL, it's stored in git like "normal" code, etc.

  • Adding Clerk to a Leiningen Project
    1 project | /r/Clojure | 8 Mar 2023
    Hey all, I'm new to Clojure and would appreciate your help with a few questions I had getting started. I'm using Leiningen to setup my projects and manage my packages as recommended in Brave & True. So far I've been able to add any dependencies I've needed without much issue, Neanderthal, tech.v3.dataset, etc. I'm interested in data science, and was hoping to set up a notebook environment to be able to quickly produce data visualizations on the fly since I'm used to working with Jupyter. I came across Clerk, but I'm having some trouble adding it to my project. Here's what I tried:
  • Clojure Turns 15 panel discussion video
    24 projects | news.ycombinator.com | 13 Feb 2023
  • The program is the database is the interface
    1 project | news.ycombinator.com | 13 Feb 2023
    Clojure also has Clerk, which is like Jupyter, but more befitting Clojure's overall philosophy: https://clerk.vision/
  • Clojure conventions for writing complicated mathematical calculations?
    2 projects | /r/Clojure | 20 Jan 2023
    If I were working long enough with gnarly enough equations I'd look into using Clerk to visualize the equations with MathJax or similar, probably following Sam Ritchie's footsteps with SICMUtils. To me this is the true readability answer: lisp notation for precise implementations, compiling to a rich & familiar visual representation.

mandala

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.

What are some alternatives?

When comparing clerk and mandala you can also consider the following projects:

next-auth - Authentication for the Web.

oxen-release - Lightning fast data version control system for structured and unstructured machine learning datasets. We aim to make versioning datasets as easy as versioning code.

portal - A clojure tool to navigate through your data.

snakemake-wrappers - This is the development home of the Snakemake wrapper repository, see

libpython-clj - Python bindings for Clojure

beaver - Simple, but capable build system and command runner for any project

JD Esurvey - JD eSurvey is an open source enterprise survey web application written in Java and based on the Spring Framework. Check out the tutorial videos to find out more about the application features.

sdk - Metadata store for Production ML

leo-editor - Leo is an Outliner, Editor, IDE and PIM written in 100% Python.

make-booster - Utility routines to simplify using GNU make and Python

pytudes - Python programs, usually short, of considerable difficulty, to perfect particular skills.

aim - Aim 💫 — An easy-to-use & supercharged open-source experiment tracker.