Installation ============ Requirements ------------ The only requirement to use pygram11 is NumPy_. If you install binaries from conda-forge or PyPI, NumPy will be installed as a required dependency. Extras for Source Builds ^^^^^^^^^^^^^^^^^^^^^^^^ When building from source, all you need is a C++ compiler with C++14 support. The ``setup.py`` script will test to see if OpenMP is available. If it's not, then the installation will abort. Most Linux distributions with modern GCC versions should provide OpenMP automatically (search the web to see how to install OpenMP from your distribution's package manager). On macOS you'll want to install ``libomp`` from Homebrew to use OpenMP with the Clang compiler shipped by Apple. Install Options --------------- PyPI ^^^^ .. code-block:: none $ pip install pygram11 conda-forge ^^^^^^^^^^^ Installations from conda-forge provide a build that used OpenMP. .. code-block:: none $ conda install pygram11 -c conda-forge .. note:: On macOS the OpenMP libraries from LLVM (``libomp``) and Intel (``libiomp``) can clash if your ``conda`` environment includes the Intel Math Kernel Library (MKL) package distributed by Anaconda. You may need to install the ``nomkl`` package to prevent the clash (Intel MKL accelerates many linear algebra operations, but does not impact pygram11): Source ^^^^^^ .. code-block:: none $ pip install git+https://github.com/douglasdavis/pygram11.git@main .. _pybind11: https://github.com/pybind/pybind11 .. _NumPy: http://www.numpy.org/ .. _OpenMP: https://www.openmp.org/