- `bitstring` started depending on `bitarray` in version 4.1 [0] - that would mean one additional dependency for us (from yet another maintainer), which is not even pure python - we only use bitstring for bolt11-parsing - hence this PR rewrites the bolt11-parsing and removes `bitstring` as dependency - note: I benchmarked lndecode using [1], and the new code performs better, taking around 80% time needed for old code (when using bitstring 3.1.9, pure python). Though the variance is quite large in both cases. [0]:95ee533ee4/release_notes.txt (L108)[1]:d7597d96d0
Notes
The frozen dependency lists in this folder are generated files.
- Starting from
contrib/requirements/requirements*.txt, - we use the
contrib/freeze_packages.shscript, - to generate
contrib/deterministic-build/requirements*.txt.
The source files list direct dependencies with loose version requirements, while the output files list all transitive dependencies with exact version+hash pins.
The build scripts only use these hash pinned requirement files.