
The latter is overly strict and breaks installation with PDM (which is more principled than our other PEP517 build backends).
37 lines
1.2 KiB
TOML
37 lines
1.2 KiB
TOML
[build-system]
|
|
requires = ["wheel", "setuptools>=67.0", "setuptools_scm[toml]>=6.2"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[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"
|
|
|
|
[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"
|