[project]
name = "cln-meta-project"
version = "0.1.0"
description = "Just a helper to get our python dependencies under control"
authors = [{ name = "Christian Decker", email = "cdecker@blockstream.com" }]
requires-python = ">=3.9.2,<4.0"
dependencies = [
  "Mako>=1.1.6",
  "websocket-client>=1.2.3",
  "grpcio-tools==1.75.1",
  "grpcio==1.75.1",
  # We want a specific version of protobuf to match CI's .github/scripts/setup.sh
  "protobuf==6.32.1",
  "cryptography>=46",
  "pyln-client",
  "pyln-proto",
  "pyln-grpc-proto",
  "pytest-trackflaky",
  "pytest-rerunfailures>=16.0.1",
  "pyln-testing",
  "pyln-proto",
  "mnemonic>=0.21",
]
package-mode = false
[dependency-groups]
dev = [
  # Test dependencies and inherited dependencies belong here
  "crc32c>=2.2.post0", # Belongs to lnprototest
  "pytest>=8.0.0",
  "pytest-xdist>=3.6.0",
  "pytest-test-groups>=1.2.0",
  "pytest-timeout>=2.4.0",
  "flake8>=7.0",
  "pytest-custom-exit-code==0.3.0",
  "requests>=2.32.0",
  "flask-socketio>=5",
  "tqdm",
  "pytest-benchmark",
  "pdoc3>=0.11.6",
  "pre-commit>=4.3.0",
]

[project.optional-dependencies]
grpc = ["pyln-testing"]

[tool.poetry]
package-mode = false

[tool.uv]
package = false

[tool.uv.workspace]
members = [
  "contrib/pyln-client",
  "contrib/pyln-proto",
  "contrib/pyln-grpc-proto",
  "plugins/wss-proxy",
  "contrib/pyln-testing",
  "contrib/pyln-spec/bolt1",
  "contrib/pyln-spec/bolt2",
  "contrib/pyln-spec/bolt4",
  "contrib/pyln-spec/bolt7",
  "contrib/pytest-trackflaky",
]

[tool.uv.sources]
pyln-client = { workspace = true }
pyln-proto = { workspace = true }
pyln-grpc-proto = { workspace = true }
wss-proxy = { workspace = true }
pyln-bolt1 = { workspace = true }
pyln-bolt2 = { workspace = true }
pyln-bolt4 = { workspace = true }
pyln-bolt7 = { workspace = true }
pytest-trackflaky = { workspace = true }
pyln-testing = { workspace = true }
