meta: update pyproject.toml

This commit is contained in:
Fischer Moseley 2024-12-03 19:50:04 -08:00
parent 77b329438a
commit 91d2f80dcc
3 changed files with 19 additions and 13 deletions

View File

@ -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: |
@ -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

View File

@ -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:

View File

@ -7,7 +7,7 @@ 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",
@ -15,6 +15,8 @@ dependencies = [
]
requires-python = ">=3.9"
license = {file = "LICENSE"}
classifiers = ["License :: OSI Approved :: GNU General Public License v3 (GPLv3)"]
[project.optional-dependencies]
dev = [
@ -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"