63 lines
1.8 KiB
TOML
63 lines
1.8 KiB
TOML
# Project metadata
|
|
|
|
[project]
|
|
dynamic = ["version", "urls"]
|
|
|
|
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"
|
|
|
|
# Build system configuration
|
|
|
|
[build-system]
|
|
requires = ["wheel", "setuptools>=67.0", "setuptools_scm[toml]>=6.2"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools]
|
|
# 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.
|
|
packages = ["amaranth"]
|
|
|
|
[tool.setuptools_scm]
|
|
local_scheme = "node-and-timestamp"
|
|
|
|
# Development workflow configuration
|
|
|
|
[tool.pdm.dev-dependencies]
|
|
test = [
|
|
"coverage",
|
|
]
|
|
docs = [
|
|
"sphinx~=5.3",
|
|
"sphinxcontrib-platformpicker~=1.3",
|
|
"sphinx-rtd-theme~=1.2",
|
|
"sphinx-autobuild",
|
|
]
|
|
|
|
[tool.pdm.scripts]
|
|
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"
|