-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathpyproject.toml
More file actions
91 lines (80 loc) · 2.48 KB
/
Copy pathpyproject.toml
File metadata and controls
91 lines (80 loc) · 2.48 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
[project]
name = "aptos-sdk"
version = "0.12.1"
description = "Aptos SDK"
authors = [{ name = "Aptos Labs", email = "opensource@aptoslabs.com" }]
license = {file = "LICENSE"}
readme = "README.md"
requires-python = ">=3.12"
keywords = ["web3", "sdk", "aptos", "blockchain"]
classifiers = [
"License :: Other/Proprietary License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"cryptography>=50.0.0,<51",
"python-graphql-client>=0.4.3,<0.5",
"httpx[http2]>=0.28.0,<0.29",
"PyNaCl>=1.6.2,<2",
"tomli>=2.4.0,<3",
"typing-extensions>=4.15.0,<5",
# v2 dependencies
# NOTE: bip-utils still pulls in coincurve transitively; it remains part of
# the install surface until bip-utils is replaced with an alternative.
"bip-utils>=2.9,<3",
# Security overrides for transitive dependencies
"h11>=0.16.0,<0.17", # via httpx -> httpcore
"h2>=4.4.1,<5", # via httpx[http2]
"urllib3>=2.6.3,<3",
"requests>=2.32.5,<3",
"aiohttp>=3.14.3,<4",
]
[project.optional-dependencies]
dev = [
"behave>=1.2.6,<2",
"coverage>=7.6.12,<8",
"mypy>=1.16.0,<2",
"mypy-extensions>=1.1.0,<2",
"ruff==0.14.14",
"types-six>=1.17.0.20250515",
]
[project.urls]
Homepage = "https://aptos.dev/en/build/sdks/python-sdk"
Repository = "https://github.com/aptos-labs/aptos-python-sdk"
[tool.coverage.run]
source = ["aptos_sdk"]
omit = [
"aptos_sdk/**/test_*.py",
"aptos_sdk/**/*_test.py",
# The v2 mirror under aptos_sdk/v2 is a byte-for-byte copy of
# v2/src/aptos_sdk_v2 (enforced by .github/scripts/check_v2_sync.sh)
# and is exercised by the standalone v2 test suite, which uploads
# its own coverage report. Counting it here would double-penalize
# tests that intentionally live in v2/tests/.
"aptos_sdk/v2/**",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.",
"class Test\\(",
"def test_",
"raise NotImplementedError",
]
show_missing = true
[tool.coverage.html]
directory = "htmlcov"
[tool.ruff]
target-version = "py312"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
ignore = ["E501"] # line length enforced by ruff format
[tool.ruff.lint.per-file-ignores]
"features/stubs/**/*.pyi" = ["F403", "F405", "F822"] # behave type stubs use star re-exports
[tool.ruff.lint.isort]
known-first-party = ["aptos_sdk"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"