[project] name = "chia-blockchain" dynamic = [ "dependencies", "version" ] description = "Chia blockchain full node, farmer, timelord, and wallet." requires-python = ">=3.10, <4" authors = [ {name="Mariano Sorgente", email="mariano@chia.net"} ] license = "Apache-2.0" readme = {file = "README.md", content-type = "text/markdown"} keywords= ["chia", "blockchain", "node"] homepage = "https://chia.net/" [tool.poetry] # see [tool.poetry-dynamic-versioning] packages = [{ include = "chia"}] version = "0.0.0" [project.scripts] chia = "chia.cmds.chia:main" chia_daemon = "chia.daemon.server:main" chia_wallet = "chia.wallet.start_wallet:main" chia_full_node = "chia.full_node.start_full_node:main" chia_harvester = "chia.harvester.start_harvester:main" chia_farmer = "chia.farmer.start_farmer:main" chia_introducer = "chia.introducer.start_introducer:main" chia_crawler = "chia.seeder.start_crawler:main" chia_seeder = "chia.seeder.dns_server:main" chia_timelord = "chia.timelord.start_timelord:main" chia_timelord_launcher = "chia.timelord.timelord_launcher:main" chia_full_node_simulator = "chia.simulator.start_simulator:main" chia_data_layer = "chia.data_layer.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" chia_solver = "chia.solver.start_solver:main" [[tool.poetry.source]] name = "chia" url = "https://pypi.chia.net/simple/" priority = "supplemental" [project.urls] source = "https://github.com/Chia-Network/chia-blockchain/" changelog = "https://github.com/Chia-Network/chia-blockchain/blob/main/CHANGELOG.md" [tool.poetry.dependencies] 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.2" # bip158-style wallet filters chiapos = ">=2.0.10" # proof of space chia-puzzles-py = ">=0.20.1" chia_rs = ">=0.35.2, <0.36" chiavdf = ">=1.1.10" # timelord and vdf verification click = ">=8.1.7" # For the CLI clvm = ">=0.9.14" clvm_tools = ">=0.4.9" # Currying Program.to other conveniences chialisp = ">=0.4.1" # Rust implementation of ChiaLisp 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.5" hsms = ">=0.3.2" 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.7.1", optional = true } py3createtorrent = { version = ">=1.2.1", optional = true } pyinstaller = { version = ">=6.9.0", python = "<3.14", 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 } pytest-rerunfailures = { version = ">=16.1, <17.0", optional = true } tach = { version = ">=0.29.0", 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.20240917", optional = true } types-setuptools = { version = ">=75.5.0.20241122", optional = true } lxml = { version = ">=5.2.2", optional = true } miniupnpc = {version = ">=2.3.2, <3", source = "chia", optional = true} # big-o = {version = "0.11.0", optional = true} # numpy = [ # {version="<=1.24.4", python = "<3.10", optional = true}, # {version=">=1.26.4", python = ">=3.10", optional = true}] ruff = { version = ">=0.8.1", optional = true } [project.optional-dependencies] dev = ["aiohttp_cors", "build", "coverage", "diff-cover", "mypy", "pre-commit", "py3createtorrent", "pyinstaller", "pytest", "pytest-cov", "pytest-mock", "pytest-monitor", "pytest-xdist", "pytest-rerunfailures", "ruff", "tach", "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"