core-lightning/contrib/pyln-testing/pyproject.toml
Christian Decker 92f10f2c34 pyln: Fix relative path dependencies when publishing to PyPI
So this was quite a journey:

 - We want relative depdendencies (using the `path` argument) whenever
   developing locally. Otherwise we would have to install each
   dependency every time we change a single character, which
   undoubtedly would cause us to waste time trying to debug an issue
   just because we forgot to install.
 - When publishing however we want to rely on the version number,
   since the repo context gets lost upon publishing, and path
   dependencies cause failures.

The solution then it seems is to use `dev-dependencies` (not that
surprising once you find it) with relative paths, so that `poetry
install` uses these over the normal dependencies (no idea how they
dedup them) and use `dependencies` when publishing. The paths are
still in there when publishing, but `pip install` ignores them.

I checked that `poetry install` from an unrelated project doesn't
accidentally use the path dependencies, even when adding them as
dev-dependencies. This should hopefully also allow installing them
as a repo link, though I can't test that right now.
2022-06-26 13:54:01 +09:30

31 lines
719 B
TOML

[tool.poetry]
name = "pyln-testing"
version = "0.11.1"
description = "Test your Core Lightning integration, plugins or whatever you want"
authors = ["Christian Decker <decker.christian@gmail.com>"]
license = "BSD-MIT"
readme = "README.md"
packages = [
{ include = "pyln/testing" },
]
[tool.poetry.dependencies]
python = "^3.7"
pytest = "^7.0.1"
ephemeral-port-reserve = "^1.1.4"
psycopg2-binary = "^2.9.3"
python-bitcoinlib = "^0.11.0"
jsonschema = "^4.4.0"
pyln-client = "^0.11"
Flask = "^2.0.3"
cheroot = "^8.6.0"
psutil = "^5.9.0"
[tool.poetry.dev-dependencies]
pyln-client = { path = "../pyln-client", develop = true}
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"