1
0
Files
electrum/contrib/deterministic-build
SomberNight c9ed717bea dependencies: remove bitstring
- `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
2024-05-27 14:24:45 +00:00
..
2024-02-22 11:26:06 +00:00

Notes

The frozen dependency lists in this folder are generated files.

  • Starting from contrib/requirements/requirements*.txt,
  • we use the contrib/freeze_packages.sh script,
  • 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.