Before installing, make sure to upgrade your `pip` to the latest version: ```bash pip install --upgrade pip ``` ## Latest Release (Recommended) The latest release of Manta can be installed from PyPI with: ```bash pip install --upgrade manta-fpga ``` ## Development Snapshot The latest development snapshot of Manta can be installed with: ```bash pip install --upgrade git+https://github.com/fischermoseley/manta.git ``` ## Editable Development Install If you're working on the source, you might want an editable installation with some extra dependencies used for development: ```bash git clone https://github.com/fischermoseley/manta.git cd manta pip install -e ".[dev]" pre-commit install ``` Manta's hardware-in-the-loop tests rely on Amaranth's build system for programming FPGAs, which in turn relies on the `amaranth-boards` Python package. This package is not available on PyPI, and must be installed manually with: ```bash pip install git+https://github.com/amaranth-lang/amaranth-boards.git ``` The build system also uses the open-source `xc3sprog` and `iceprog` tools for programming Xilinx and ice40 devices, respectively. If you'd like to run these tests locally, you may need to install these tools and have them available on your `PATH`. If you're on Linux, you may also need to add a new udev rule to give non-superuser accounts access to any connected FTDI devices. This can be done by making a new file at `/etc/udev/rules.d/99-ftdi-devices.rules`, which contains: ``` ACTION=="add", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", MODE:="666" ``` Be sure to reload your udev rules after saving the file. On most distributions, this is accomplished with: ```bash udevadm control --reload-rules && udevadm trigger ``` ## Adding Manta to PATH (Optional) Although optional, it is convenient to add the `manta` executable to your system's path. This allows you to invoke Manta's CLI with `manta`, rather than the more verbose `python3 -m manta`. The location of this executable depends on both your platform and if you're using a virtual environment. For example: - Windows: `%APPDATA%\Python\Scripts`, or `path\to\venv\Scripts` if using a virtual environment. - macOS/Linux/BSD: `$HOME/.local/bin`, or `path\to\venv\bin` if using a virtual environment. This also adds any other Python scripts exposed by your installed packages to your PATH.