core-lightning/contrib/pyln-proto
Rusty Russell f52065201b pyln.proto.message.*: add type annotations.
Other changes along the way:

1. In a couple of places we passed None as a dummy for for
   `otherfields` where {} is just as good.
2. Turned bytes into hex for errors.
3. Remove nonsensical (unused) get_tlv_by_number() function from MessageNamespace
4. Renamed unrelated-but-overlapping `field_from_csv` and
   `type_from_csv` static methods, since mypy thought they should have
   the same type.
5. Unknown tlv fields are placed in dict as strings, not ints, for
   type simplicity.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-06-12 15:35:35 +02:00
..
examples pyln: Split pylightning into multiple pyln modules 2019-09-30 13:27:37 +02:00
pyln/proto pyln.proto.message.*: add type annotations. 2020-06-12 15:35:35 +02:00
tests new modules: pyln.proto.message.{bolt1,bolt2,bolt4,bolt7} 2020-06-12 15:35:35 +02:00
Makefile pyln.proto.message.*: Add Makefile to do mypy checks. 2020-06-12 15:35:35 +02:00
README.md pyln: Split pylightning into multiple pyln modules 2019-09-30 13:27:37 +02:00
requirements.txt pyln.proto.message: use BufferedIOBase instead of bytes for binary ops. 2020-06-12 15:35:35 +02:00
setup.py new modules: pyln.proto.message.{bolt1,bolt2,bolt4,bolt7} 2020-06-12 15:35:35 +02:00

pyln-proto: Lightning Network protocol implementation

This package implements some of the Lightning Network protocol in pure python. It is intended for protocol testing and some minor tooling only. It is not deemed secure enough to handle any amount of real funds (you have been warned!).

Installation

pyln-proto is available on pip:

pip install pyln-proto

Alternatively you can also install the development version to get access to currently unreleased features by checking out the c-lightning source code and installing into your python3 environment:

git clone https://github.com/ElementsProject/lightning.git
cd lightning/contrib/pyln-proto
python3 setup.py develop

This will add links to the library into your environment so changing the checked out source code will also result in the environment picking up these changes. Notice however that unreleased versions may change API without warning, so test thoroughly with the released version.