Skip to content

Install

Get Mandacaru 26.10.11

MIT licensed. One command gets a working install; the other two are optional, and the diagram says what each buys.

What each step unlocks

What each install step unlocks: pip is required; the C backend and the pseudopotential datasets are optional. pip install mandacaru required The whole framework integrals on the NumPy fallback cmake --build build optional C/OpenMP integral engine the same results, in parallel mandacaru --link-paw … optional PAW and ONCVPSP datasets every element up to uranium

Requirements

  • Python 3.14 or newer
  • A C compiler with OpenMP (GCC or Clang)
  • CMake 3.15 or newer
  • pip

The commands

  1. Install from PyPI

    $ pip install mandacaru
  2. Or install from source, editable

    $ git clone https://github.com/seixas-research/mandacaru.git $ cd mandacaru $ pip install -e .
  3. Link the PAW datasets (only for basis="PAW")

    # kept in their own repository because of their size $ git clone https://github.com/seixas-research/mandacaru-paw.git $ mandacaru --link-paw mandacaru-paw
  4. Compile the C integral backend (recommended)

    # macOS — requires Homebrew libomp $ cd src/mandacaru/integrals/csrc $ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DOpenMP_ROOT=$(brew --prefix libomp) $ cmake --build build

A calculation is a Python script, not a command line. The mandacaru command exists for the jobs outside a run — linking a dataset, as above, and --dry-run to size a register.

Check it works

Confirm the C backend compiled

False until the CMake step succeeds — everything still runs on the pure-NumPy fallback, just without OpenMP parallelism.

$ python -c "from mandacaru.integrals import HAS_C_BACKEND; print(HAS_C_BACKEND)"

True means libmandacaru_integrals loaded.

Running the test suite

53 tests cover the integrals, the basis families, the operators and mappings, the solvers, the analytic forces, checkpoints and QPE, the dry run, the Hamiltonian cache, and both hardware paths.

# from the project root $ pytest

The C backend is optional here — the suite falls back to NumPy automatically.

Stuck on something?

The installation guide on Read the Docs covers the same ground in more detail, including platform notes for the CMake step.

Documentation