Skip to content

Commit

Permalink
meta: update pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
fischermoseley committed Dec 4, 2024
1 parent 77b3294 commit 91d2f80
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
17 changes: 7 additions & 10 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,18 @@ jobs:

- name: Install Manta from source
run: |
# Make venv
python3 -m venv venv/
source venv/bin/activate
# Update pip
python3 -m pip install -U pip
# omitting the following command causes the version of setuptools
# Omitting the following command causes the version of setuptools
# used by python to get confused, and it doesn't detect the name
# or version of the package from pyproject.toml - so the following
# workaround is used:
# https://github.com/pypa/setuptools/issues/3269#issuecomment-1254507377
export DEB_PYTHON_INSTALL_LAYOUT=deb_system
# Install Manta, with optional dev-only dependencies
python3 -m venv venv/
source venv/bin/activate
python3 -m pip install -U pip
python3 -m pip install -e ".[dev]"
python3 -m pip install git+https://github.com/amaranth-lang/amaranth-boards.git
- name: Run pre-commit against all files
run: |
Expand All @@ -36,7 +32,8 @@ jobs:
source venv/bin/activate
make test
- uses: actions/upload-artifact@v4
- name: Upload coverate reports
uses: actions/upload-artifact@v4
with:
name: coverage_reports
include-hidden-files: true
Expand Down
8 changes: 7 additions & 1 deletion doc/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,13 @@ 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 rely on 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`.
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:

Expand Down
7 changes: 5 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ authors = [
description = "A configurable and approachable tool for FPGA debugging and rapid prototyping"
readme = "README.md"
dependencies = [
"amaranth[builtin-yosys]==0.5.0",
"amaranth[builtin-yosys]>=0.5.0",
"PyYAML",
"pyserial",
"liteeth==2023.12",
"pyvcd",
]

requires-python = ">=3.9"
license = {file = "LICENSE"}
classifiers = ["License :: OSI Approved :: GNU General Public License v3 (GPLv3)"]

[project.optional-dependencies]
dev = [
Expand All @@ -26,11 +28,12 @@ dev = [
"mkdocs-material",
"mkdocstrings[python]",
"mike",
"amaranth_boards@git+https://github.com/amaranth-lang/amaranth-boards"
]

[project.urls]
"Homepage" = "https://github.com/fischermoseley/manta"
"Documentation" = "https://fischermoseley.github.io/manta"
"Issues" = "https://github.com/fischermoseley/manta/issues"

[project.scripts]
manta = "manta:main"
Expand Down

0 comments on commit 91d2f80

Please sign in to comment.