mach-nix VS dm-haiku

Compare mach-nix vs dm-haiku and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
mach-nix dm-haiku
23 10
831 2,806
- 0.9%
5.7 7.8
about 2 months ago 26 days ago
Python Python
MIT 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.

mach-nix

Posts with mentions or reviews of mach-nix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-09.
  • Installing chatgpt-wrapper
    2 projects | /r/NixOS | 9 Jan 2023
    Another way if the above doesn't work is to use mach-nix:https://github.com/DavHau/mach-nix
  • How to install pip3
    2 projects | /r/Nix | 15 Dec 2022
    For python, I can highly recommend mach-nix. Makes it really easy to also keep a requirements.txt to stay compatible with non-nix-users.
  • Updated ESP-IDF and MicroPython expressions
    3 projects | /r/NixOS | 14 Dec 2022
    The ESP32 toolchain is quite cumbersome to install - even under NixOS. The wiki tells you to create a shell.nix that creates a python virtual env at the first execution. I used DavHau's mach-nix to create esp-idf.nix and subsequently micropython-esp32.nix.
  • Share your Data Science stack in Nixpkgs
    4 projects | /r/NixOS | 30 Nov 2022
    mach-nix and friends are pretty good, but I've found that the expectations of all the commonly-used data science stuff is pretty antithetical to the Nix Way. I'm not sure if it's still the case, but last I tried, Hydra wasn't building CUDA (since it's non-free), so I had to compile that and e.g. TensorFlow and PyTorch. Very painful, even on a beefy system.
  • how to install Python packages not yet in the Nix repo?
    4 projects | /r/NixOS | 27 Nov 2022
  • Help with installing python packages.
    3 projects | /r/NixOS | 18 Aug 2022
    I don't do much Python, but usually everything works just fine with mach-nix. I would try something like this: ``` { pkgs ? import (fetchTarball "https://github.com/nixos/nixpkgs/archive/nixpkgs-unstable.tar.gz") { } }:
  • Nix: Taming Unix with Functional Programming
    18 projects | news.ycombinator.com | 5 Aug 2022
    There are some sifferent/new tools for adding your own Python packages these days. It's still not truly solved, but one of these new package generation tools might serve your better:

    poetry2nix: https://github.com/nix-community/poetry2nix

    dream2nix: https://nix-community.github.io/dream2nix/guides/getting-sta...

    mach-nix: https://github.com/DavHau/mach-nix

    pip2nix: https://github.com/nix-community/pip2nix

    pynixify: https://github.com/cript0nauta/pynixify

    The tools available to you at the time (pypi2nix and maybe python2nix, if it was a long time ago) have been abandoned in favor of the newer tools, I think chiefly poetry2nix but I'm not sure.

    There's still the Nixpkgs buildPythonPackage stuff, I think, if your goal is to upstream a lib into Nixpkgs. But if you just want to build your own Python applications and vendorize the deps (e.g., for work), you might try one of the tools above, which weren't available 3+ years ago. Maybe Nixy Python users and developers can reply with some of their experiences using those tools :)

  • what's the best way to transform nixos into "normal distro"
    2 projects | /r/NixOS | 9 Jul 2022
  • How shall I install a Python library/module?
    1 project | /r/NixOS | 8 Jun 2022
    Have a look at mach-nix which is a small utility library for nix to build Python packages declaratively.
  • Critique my first overlay (xonsh 0.12.4)
    2 projects | /r/NixOS | 17 May 2022
    final: prev: { xonsh = prev.xonsh.overrideAttrs (old: rec { version = "0.12.4"; src = final.fetchFromGitHub { owner = "xonsh"; repo = "xonsh"; rev = version; sha256 = "0kdps0gf0767zy0fs6qn39rv4z3x7ck0qz1pzx6962593171yk8b"; }; propagatedBuildInputs = prev.xonsh.propagatedBuildInputs ++ [final.python3Packages.virtualenv]; }); python39 = prev.python39.override { self = prev.python39; packageOverrides = python_final: python_prev: { prompt-toolkit = python_prev.prompt-toolkit.overrideAttrs (old: rec { version = "3.0.29"; src = final.python3Packages.fetchPypi { pname = "prompt_toolkit"; inherit version; sha256 = "sha256-vWQPYOjOzXTw3CSXE9QzrOLdxitl7gf5bTWOCxUrbqc="; }; }); }; }; # Using mach-nix to fetch unpackaged xontrib plugins # adapted from https://github.com/NixOS/nixpkgs/issues/75786#issuecomment-873654103 mach-nix = import (builtins.fetchGit { url = "https://github.com/DavHau/mach-nix/"; ref = "refs/tags/3.4.0"; }) { pkgs = final; }; xonsh_pyenv = final.mach-nix.mkPython { requirements = '' xontrib-fzf-widgets xonsh-direnv ''; }; xonsh_with_plugins = final.xonsh.overrideAttrs (old: { propagatedBuildInputs = old.propagatedBuildInputs ++ final.xonsh_pyenv.python.pkgs.selectPkgs final.xonsh_pyenv.python.pkgs; }); }

dm-haiku

Posts with mentions or reviews of dm-haiku. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-23.
  • Maxtext: A simple, performant and scalable Jax LLM
    10 projects | news.ycombinator.com | 23 Apr 2024
    Is t5x an encoder/decoder architecture?

    Some more general options.

    The Flax ecosystem

    https://github.com/google/flax?tab=readme-ov-file

    or dm-haiku

    https://github.com/google-deepmind/dm-haiku

    were some of the best developed communities in the Jax AI field

    Perhaps the “trax” repo? https://github.com/google/trax

    Some HF examples https://github.com/huggingface/transformers/tree/main/exampl...

    Sadly it seems much of the work is proprietary these days, but one example could be Grok-1, if you customize the details. https://github.com/xai-org/grok-1/blob/main/run.py

  • Help with installing python packages.
    3 projects | /r/NixOS | 18 Aug 2022
    I am fresh to nix os especially when it comes to using python on it how do I install packages withought using pip I need to install numpy~=1.19.5 transformers~=4.8.2 tqdm~=4.45.0 setuptools~=51.3.3 wandb>=0.11.2 einops~=0.3.0 requests~=2.25.1 fabric~=2.6.0 optax==0.0.6 git+https://github.com/deepmind/dm-haiku git+https://github.com/EleutherAI/lm-evaluation-harness/ ray[default]==1.4.1 jax~=0.2.12 Flask~=1.1.2 cloudpickle~=1.3.0 tensorflow-cpu~=2.5.0 google-cloud-storage~=1.36.2 smart_open[gcs] func_timeout ftfy fastapi uvicorn lm_dataformat ​ which‍ I can just do pip -r thetxtfile but idk how to do this in nix os also I would be using python3.7 so far this is what I have come up with but I know its wrong { pkgs ? import {} }: let packages = python-packages: with python-packages; [ mesh-transformer-jax/ jax==0.2.12 numpy~=1.19.5 transformers~=4.8.2 tqdm~=4.45.0 setuptools~=51.3.3 wandb>=0.11.2 einops~=0.3.0 requests~=2.25.1 fabric~=2.6.0 optax==0.0.6 #the other packages ]; pkgs.mkShell { nativeBuildInputs = [ pkgs.buildPackages.python37 ]; }
  • [D] Should We Be Using JAX in 2022?
    8 projects | /r/MachineLearning | 15 Feb 2022
    What's your favorite Deep Learning API for JAX - Flax, Haiku, Elegy, something else?
  • [D] Current State of JAX vs Pytorch?
    3 projects | /r/MachineLearning | 1 Feb 2022
    Just going to add that you should check out haiku if you are considering JAX: https://github.com/deepmind/dm-haiku
  • PyTorch vs. TensorFlow in 2022
    13 projects | news.ycombinator.com | 14 Dec 2021
    As a researcher in RL & ML in a big industry lab, I would say most of my colleagues are moving to JAX 0https://github.com/google/jax], which this article kind of ignores. JAX is XLA-accelerated NumPy, it's cool beyond just machine learning, but only provides low-level linear algebra abstractions. However you can put something like Haiku [https://github.com/deepmind/dm-haiku] or Flax [https://github.com/google/flax] on top of it and get what the cool kids are using :)
  • [D] JAX learning resources?
    4 projects | /r/JAX | 23 Sep 2021
    - https://github.com/deepmind/dm-haiku/tree/main/examples
  • Why would I want to develop yet another deep learning framework?
    4 projects | /r/learnmachinelearning | 16 Sep 2021
  • Help with installing python packages
    6 projects | /r/NixOS | 18 Aug 2021

What are some alternatives?

When comparing mach-nix and dm-haiku you can also consider the following projects:

poetry2nix - Convert poetry projects to nix automagically [maintainer=@adisbladis]

flax - Flax is a neural network library for JAX that is designed for flexibility.

discord-overlay - [DEPRECATED] A Nixpkgs overlay providing the latest version(s) of the Discord desktop app, automatically updated every 30 minutes

jax-resnet - Implementations and checkpoints for ResNet, Wide ResNet, ResNeXt, ResNet-D, and ResNeSt in JAX (Flax).

spotify-dl - Downloads songs from your Spotify Playlist

trax - Trax — Deep Learning with Clear Code and Speed

nix-alien - Run unpatched binaries on Nix/NixOS

equinox - Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

lm-evaluation-harness - A framework for few-shot evaluation of language models.

elegy - A High Level API for Deep Learning in JAX

nix-prefetch-github - Prefetch sources from github for nix build tool

jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more