forked from lowRISC/opentitan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
92 lines (75 loc) · 2.27 KB
/
pyproject.toml
File metadata and controls
92 lines (75 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Copyright lowRISC contributors (OpenTitan project).
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
[project]
name = "opentitan"
version = "0.0.0"
description = "Open-source hardware root-of-trust"
requires-python = ">=3.10, <3.14"
dependencies = [
# Keep sorted
"beautifulsoup4 ~= 4.12",
"hjson==3.1.0",
"libclang==16.0.0",
"libcst ~= 1.1",
"lxml ~= 5.0",
"mako ~= 1.2",
"ninja ~= 1.11.1.1",
"pluralizer==1.2.0",
"pycryptodome ~= 3.19",
"pyelftools==0.29",
"pytest-timeout ~= 2.1",
"pytest ~= 7.2",
"pyyaml ~= 6.0",
"rich==12.6.0", # maximum version compatible with Python 3.6.8 (used on CentOS7 nightly regression machines)
"semantic_version==2.10.0",
"tabulate==0.8.10",
"typer==0.6.1",
# Dependencies: util/get-toolchain.py
"urllib3==2.6.3",
# Dependencies: bitstreams cache
"jsonschema ~= 4.17",
# Dependencies: gen-flash-img.py
"pyfinite==1.9.1",
# Dependencies: dv_sim
"enlighten ~= 1.10",
"mistletoe==0.9.0",
# Premailer 3.9.0 broke the API by introducing an allow_loading_external_files
# argument that is now mandatory, but didn't exist in previous versions.
# To relax the constraint we either need to do a runtime detection, or switch all
# users to a newer version.
"premailer==3.8.0",
# Dependencies: check_dif_statuses.py
"pydriller ~= 2.7",
"termcolor==1.1.0",
# Linters
"flake8 ~= 7.1",
"isort ~= 5.10",
"mypy == 0.991",
"yapf==0.32.0",
"ruff>=0.9.6",
# Type stubs for mypy checking.
"types-pyyaml ~= 6.0",
"types-tabulate==0.8.11",
# Dependency of sw/host/vendor/google_verible_verilog_syntax_py
"anytree ~= 2.8",
# Dependency of third_party/tock
"tockloader==1.13",
# The hardware package manager and build system.
"fusesoc==2.4.3",
"peakrdl-systemrdl >= 1.0",
]
[tool.setuptools]
# This is actually not a python project, we just use pyproject.toml to manage dependencies.
py-modules = []
[tool.ruff]
target-version = "py310"
line-length = 100
# Don't lint vendored files which must be fixed upstream.
extend-exclude = [ "*vendor*" ]
[tool.ruff.lint]
preview = true
explicit-preview-rules = true
extend-select = ["E", "E303", "W391"]
[tool.uv.workspace]
members = ["util/testplantool", "util/testplantool/testplanlib"]