manta/doc/installation.md

44 lines
2.2 KiB
Markdown
Raw Normal View History

Before installing, make sure to upgrade your `pip` to the latest version:
2023-08-02 16:39:07 +02:00
2024-02-10 07:49:58 +01:00
```bash
pip install --upgrade pip
```
2023-08-02 16:39:07 +02:00
## Latest Version
2023-04-18 19:55:40 +02:00
You can install the latest version of Manta directly from source with:
2024-02-10 07:49:58 +01:00
```bash
pip install --upgrade git+https://github.com/fischermoseley/manta.git
2023-04-18 19:55:40 +02:00
```
## Editable Development Install
If you're working on the source, you might want an editable installation with some extra dependencies used for development:
2023-04-18 19:55:40 +02:00
2024-02-10 07:49:58 +01:00
```bash
git clone https://github.com/fischermoseley/manta.git
cd manta
pip install -e ".[dev]"
```
## Adding Manta to Path (Recommended)
2023-04-18 19:55:40 +02:00
2023-07-25 17:19:46 +02:00
It's recommended to place Manta on your system path by adding `export PATH="~/.local/bin:$PATH"` to your `.bashrc` or `.zshrc`. This isn't strictly necessary, but it means that Manta (and any other executable Python modules) can be run as just `manta` on the command line, instead of `python3 -m manta`. If you're on Windows, this location will likely be different.
2023-04-18 19:55:40 +02:00
Later Manta will be availabe on the PyPI lists, and you'll be able to just `pip install mantaray`, but that's not configured quite yet.
## Dependencies
Manta requires the following dependencies:
2024-02-10 07:49:58 +01:00
- [Amaranth HDL](https://amaranth-lang.org/docs/amaranth/latest/), which comes with it's own built-in copy of Yosys.
- [LiteEth](https://github.com/enjoy-digital/liteeth), for sending and receiving UDP packets on the FPGA.
- [pySerial](https://pyserial.readthedocs.io/en/latest/index.html), for communicating with the FPGA over UART.
- [pyYAML](https://pyyaml.org/), for parsing configuration files written in YAML.
- [pyVCD](https://github.com/westerndigitalcorporation/pyvcd), for writing waveforms captured by the Logic Analyzer Core to standard Value Change Dump (VCD) files.
As well as these dependencies for development, which are installed with the `[dev]` argument:
2023-03-10 03:17:39 +01:00
2024-02-10 07:49:58 +01:00
- [Pytest](https://pytest.org/), for unit testing.
- [Black](https://black.readthedocs.io/en/stable/), for formatting the Python source.
- [mkdocs-material](https://squidfunk.github.io/mkdocs-material/), for generating the documentation site.
- [amaranth_boards](https://github.com/amaranth-lang/amaranth-boards), for building designs for hardware-in-the-loop testing done by the CI.