-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathpyproject.toml
More file actions
77 lines (71 loc) · 2.56 KB
/
Copy pathpyproject.toml
File metadata and controls
77 lines (71 loc) · 2.56 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
[project]
name = "mech-client"
version = "0.21.2"
description = "Basic client to interact with a mech"
requires-python = ">=3.10,<3.15"
readme = "README.md"
license = "Apache-2.0"
dependencies = [
"open-aea-helpers==0.21.25",
"gql>=3.4.1",
"tabulate>=0.9.0,<0.10",
"setuptools>=78.1.1,<82",
"olas-operate-middleware>=0.15.2,<0.16",
"safe-eth-py>=7.18.0,<8",
"click<9,>=8.1",
"pip>=24.0",
"python-dotenv>=1.0,<2",
# open-aea-cli-ipfs ≤ 2.1.0 pulled these in transitively; 2.2.x dropped
# them but `mech_client/infrastructure/ipfs/client.py` still imports them.
"py-multibase==1.0.3",
"py-multicodec==0.2.1",
]
[project.scripts]
mechx = "mech_client.cli.main:cli"
[dependency-groups]
dev = [
"pytest-asyncio==1.3.0",
"pytest-cov>=7.0.0,<8",
"mkdocs>=1.6.0,<2",
"mkdocs-material>=9.5.0,<10",
# TODO: flip to ==0.7.0 once tomte v0.7.0 publishes to PyPI.
"tomte[cli, tests] @ git+https://github.com/valory-xyz/tomte.git@v0.7.0",
]
[tool.uv]
default-groups = "all"
prerelease = "allow"
[tool.tomte]
# First-party Python lives at the repo root, not under packages/.
service_specific_packages = ["mech_client", "scripts"]
pytest_targets = ["tests/unit"]
# Library, not a runtime open-autonomy app — set explicitly so tomte's
# liccheck / check-third-party-hashes envs render valid upstream pins.
open_autonomy_version = "0.21.25"
open_aea_version = "2.2.9"
# 32-byte keccak hashes (public protocol identifiers, not credentials)
# trip gitleaks' generic-secret rule. `marketplace_interact.py` was
# removed in v0.17.0 but `gitleaks detect` scans full history.
gitleaks_extra_paths = [
"mech_client/infrastructure/config/payment_config.py",
"mech_client/marketplace_interact.py",
]
# TODO: flip to ==0.7.0 once tomte v0.7.0 publishes to PyPI.
tomte_dep_pin = " @ git+https://github.com/valory-xyz/tomte.git@v0.7.0"
# E1101: operate's LocalResource has dynamic attributes pylint can't follow.
# W0719: CLI surfaces wrap library exceptions as plain Exception.
# C0411: tomte's canonical isort.cfg pins known_first_party=autonomy, so
# isort treats `mech_client.*` as third-party while pylint's
# is_local_module heuristic sees it as first-party.
# W2301: `...` body is required to dodge a darglint 1.8.1 / Py3.14 crash
# on abstract methods; pylint flags it as redundant.
pylint_disables = ["E1101", "W0719", "C0411", "W2301"]
[tool.uv.build-backend]
module-name = [
"mech_client",
"scripts",
]
module-root = ""
namespace = true
[build-system]
requires = ["uv_build>=0.11.2,<0.12.0"]
build-backend = "uv_build"