-
Notifications
You must be signed in to change notification settings - Fork 2k
/
pyproject.toml
148 lines (139 loc) · 6.07 KB
/
pyproject.toml
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
[tool.poetry]
name = "chia-blockchain"
# see [tool.poetry-dynamic-versioning]
version = "0.0.0"
description = "Chia blockchain full node, farmer, timelord, and wallet."
authors = ["Mariano Sorgente <[email protected]>"]
license = "Apache License"
readme = "README.md"
keywords= ["chia", "blockchain", "node"]
homepage = "https://chia.net/"
packages = [{ include = "chia"}, { include = "mozilla-ca/cacert.pem" }]
[tool.poetry.scripts]
chia = "chia.cmds.chia:main"
chia_daemon = "chia.daemon.server:main"
chia_wallet = "chia.server.start_wallet:main"
chia_full_node = "chia.server.start_full_node:main"
chia_harvester = "chia.server.start_harvester:main"
chia_farmer = "chia.server.start_farmer:main"
chia_introducer = "chia.server.start_introducer:main"
chia_crawler = "chia.seeder.start_crawler:main"
chia_seeder = "chia.seeder.dns_server:main"
chia_timelord = "chia.server.start_timelord:main"
chia_timelord_launcher = "chia.timelord.timelord_launcher:main"
chia_full_node_simulator = "chia.simulator.start_simulator:main"
chia_data_layer = "chia.server.start_data_layer:main"
chia_data_layer_http = "chia.data_layer.data_layer_server:main"
chia_data_layer_s3_plugin = "chia.data_layer.s3_plugin_service:run_server"
[[tool.poetry.source]]
name = "chia"
url = "https://pypi.chia.net/simple/"
priority = "supplemental"
[tool.poetry.urls]
"Source" = "https://github.com/Chia-Network/chia-blockchain/"
"Changelog" = "https://github.com/Chia-Network/chia-blockchain/blob/main/CHANGELOG.md"
[tool.poetry.dependencies]
python = ">=3.9, <3.13"
aiofiles = "24.1.0" # Async IO for files
aiohttp = "3.10.4" # HTTP server for full node rpc
aiosqlite = "0.20.0" # asyncio wrapper for sqlite, to store blocks
anyio = "4.6.2.post1"
bitstring = "4.1.4" # Binary data management library
boto3 = "1.35.43" # AWS S3 for Data Layer S3 plugin
chiabip158 = "1.5.1" # bip158-style wallet filters
chiapos = "2.0.7" # proof of space
chia_rs = "0.16.0"
chiavdf = "1.1.8" # timelord and vdf verification
click = "8.1.7" # For the CLI
clvm = "0.9.11"
clvm_tools = "0.4.9" # Currying Program.to other conveniences
clvm_tools_rs = "0.1.45" # Rust implementation of clvm_tools' compiler
colorama = "0.4.6" # Colorizes terminal output
colorlog = "6.9.0" # Adds color to logs
concurrent_log_handler = "0.9.25" # Concurrently log and rotate logs
cryptography = "43.0.1" # Python cryptography library for TLS - keyring conflict
dnslib = "0.9.25" # dns lib
dnspython = "2.6.1" # Query DNS seeds
filelock = "3.16.1" # For reading and writing config multiprocess and multithread safely (non-reentrant locks)
keyring = "25.5.0" # Store keys in MacOS Keychain, Windows Credential Locker
packaging = "24.0"
pip = "24.2"
psutil = "6.1.0"
pyyaml = "6.0.2" # Used for config file format
setproctitle = "1.3.3" # Gives the chia processes readable names
setuptools = "75.5.0"
sortedcontainers = "2.4.0" # For maintaining sorted mempools
typing-extensions = "4.12.2" # typing backports like Protocol and TypedDict
watchdog = "4.0.1" # Filesystem event watching - watches keyring.yaml
zstd = [
{version="1.5.5.1", python = "<3.12"},
{version="1.5.5.1", python = "3.12", source="chia"},
]
importlib-resources = "6.4.0"
hsms = "0.3.1"
aiohttp_cors = { version = "0.7.0", optional = true }
build = { version = "1.2.1", optional = true }
coverage = { version = "7.6.4", optional = true }
diff-cover = { version = "9.2.0", optional = true }
# TODO: but... keyrings_cryptfile goes 15 minutes without locking while this does in 75 seconds
"keyrings.cryptfile" = { version = "1.3.9", optional = true }
mypy = { version = "1.11.1", optional = true }
pre-commit = [ { version = "3.5.0", python = "<3.9", optional = true }, { version = "3.7.1", python = ">=3.9", optional = true } ]
py3createtorrent = { version = "1.2.1", optional = true }
pyinstaller = { version = "6.9.0", optional = true }
pytest = { version = "8.3.3", optional = true }
pytest-cov = { version = "5.0.0", optional = true }
pytest-mock = { version = "3.14.0", optional = true }
pytest-monitor = { version = "1.6.6", platform = "linux", optional = true }
pytest-xdist = { version = "3.6.1", optional = true }
types-aiofiles = { version = "24.1.0.20240626", optional = true }
types-cryptography = { version = "3.3.23.2", optional = true }
types-pyyaml = { version = "6.0.12.20240311", optional = true }
types-setuptools = { version = "75.5.0.20241122", optional = true }
lxml = { version = "5.2.2", optional = true }
miniupnpc = { version = "2.2.2", source = "chia", optional = true }
# big-o = {version = "0.11.0", optional = true}
# numpy = [
# {version="1.24.4", python = "<3.9", optional = true},
# {version="1.26.4", python = ">=3.9", optional = true}]
ruff = { version = "0.7.1", optional = true }
[tool.poetry.extras]
dev = ["aiohttp_cors", "build", "coverage", "diff-cover", "mypy", "pre-commit", "py3createtorrent", "pyinstaller", "pytest", "pytest-cov", "pytest-mock", "pytest-monitor", "pytest-xdist", "ruff", "types-aiofiles", "types-cryptography", "types-pyyaml", "types-setuptools", "lxml"]
upnp = ["miniupnpc"]
legacy_keyring = ["keyrings.cryptfile"]
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
pattern = "default-unprefixed"
format-jinja = """
{%- if distance == 0 -%}
{%- if stage is none -%}
{{ base }}
{%- else -%}
{{ base }}-{{stage}}{{revision}}
{%- endif -%}
{%- else -%}
{%- if stage is none -%}
{{ base }}-dev{{ distance }}
{%- else -%}
{{ base }}-{{stage}}{{revision}}.dev{{ distance }}
{%- endif -%}
{%- endif -%}
"""
#format-jinja = """
# {%- if distance == 0 -%}
# {{ serialize_pep440(base, stage, revision) }}
# {%- else -%}
# {{ serialize_pep440(base, stage, revision, dev=distance) }}
# {%- endif -%}
#"""
style = "semver"
bump = true
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"
[project]
# duplicating until poetry v2, then revisit https://github.com/Chia-Network/chia-blockchain/pull/18797
name = "chia-blockchain"
# This has to match the poetry python entry above
requires-python = ">=3.9, <3.13"