We introduce version 3 of NetKet, the machine learning toolbox for manybody quantum physics.NetKet is built around neural-network quantum states and provides efficient algorithms for their evaluation and optimization.This new version is built on top of JAX, a differentiable programming and accelerated linear algebra framework for the Python programming language.The most significant new feature is the possibility to define arbitrary neural network ansätze in pure Python code using the concise notation of machinelearning frameworks, which allows for just-in-time compilation as well as the implicit generation of gradients thanks to automatic differentiation.NetKet 3 also comes with support for GPU and TPU accelerators, advanced support for discrete symmetry groups, chunking to scale up to thousands of degrees of freedom, drivers for quantum dynamics applications, and improved modularity, allowing users to use only parts of the toolbox as a foundation for their own code.§ ¤These dependencies, namely mpi4py and mpi4jax , can only be installed if a working MPI distribution is already available.Once NetKet is installed, it can be imported in a Python session or script and its version can be checked as § ¤ 1 >>> import netket as nk 2 >>> print(nk.__version__)We recommend that users to use an up-to-date version when starting a new project.In code listings, we will often refer to the netket module as nk for brevity. Quantum-mechanical primitivesIn general, when working with NetKet, the flow is the following: first, one defines the Hilbert space of the system (section 2.1) and the Hamiltonian or super-operator of interest