
This change means that tests will succeed even if the system Yosys binary is broken. yices2 must still be present on the system.
78 lines
2.2 KiB
TOML
78 lines
2.2 KiB
TOML
# Project metadata
|
|
|
|
[tool.pdm.version]
|
|
source = "scm"
|
|
|
|
[project]
|
|
dynamic = ["version"]
|
|
|
|
name = "amaranth"
|
|
description = "Amaranth hardware definition language"
|
|
authors = [{name = "Amaranth HDL contributors"}]
|
|
license = {file = "LICENSE.txt"}
|
|
|
|
requires-python = "~=3.8"
|
|
dependencies = [
|
|
"importlib_resources; python_version<'3.9'", # for amaranth._toolchain.yosys
|
|
"pyvcd>=0.2.2,<0.5", # for amaranth.sim.pysim
|
|
"Jinja2~=3.0", # for amaranth.build
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# this version requirement needs to be synchronized with the one in amaranth.back.verilog!
|
|
builtin-yosys = ["amaranth-yosys>=0.10"]
|
|
remote-build = ["paramiko~=2.7"]
|
|
|
|
[project.scripts]
|
|
amaranth-rpc = "amaranth.rpc:main"
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://amaranth-lang.org/"
|
|
"Documentation" = "https://amaranth-lang.org/docs/amaranth/" # modified in pdm_build.py
|
|
"Source Code" = "https://github.com/amaranth-lang/amaranth"
|
|
"Bug Tracker" = "https://github.com/amaranth-lang/amaranth/issues"
|
|
|
|
# Build system configuration
|
|
|
|
[build-system]
|
|
requires = ["pdm-backend"]
|
|
build-backend = "pdm.backend"
|
|
|
|
[tool.pdm.build]
|
|
# If amaranth 0.3 is checked out with git (e.g. as a part of a persistent editable install or
|
|
# a git worktree cached by tools like poetry), it can have an empty `nmigen` directory left over,
|
|
# which causes a hard error because setuptools cannot determine the top-level package.
|
|
# Add a workaround to improve experience for people upgrading from old checkouts.
|
|
includes = ["amaranth/"]
|
|
|
|
# Development workflow configuration
|
|
|
|
[tool.pdm.dev-dependencies]
|
|
test = [
|
|
"yowasp-yosys",
|
|
"coverage",
|
|
]
|
|
docs = [
|
|
"sphinx~=5.3",
|
|
"sphinxcontrib-platformpicker~=1.3",
|
|
"sphinx-rtd-theme~=1.2",
|
|
"sphinx-autobuild",
|
|
]
|
|
examples = [
|
|
"amaranth-boards @ git+https://github.com/amaranth-lang/amaranth-boards.git"
|
|
]
|
|
|
|
[tool.pdm.scripts]
|
|
_.env_file = ".env.toolchain"
|
|
|
|
test.composite = ["test-code", "test-docs"]
|
|
test-code.env = {PYTHONWARNINGS = "error"}
|
|
test-code.cmd = "python -m coverage run -m unittest discover -t . -s tests -v"
|
|
test-docs.cmd = "sphinx-build -b doctest docs/ docs/_build"
|
|
|
|
document.cmd = "sphinx-build docs/ docs/_build/"
|
|
document-live.cmd = "sphinx-autobuild docs/ docs/_build/ --watch amaranth"
|
|
|
|
coverage-text.cmd = "python -m coverage report"
|
|
coverage-html.cmd = "python -m coverage html"
|