Port of Bitcoin core coin selection logic to Python, prioritizing fidelity to the original and convenience.
Classes / functions were named and organized per the original C++ code as far as was practicable.
pip install bitcoin_coin_selection
select_coins
is the main interface here. See the exmples folder for a step-by-step walkthrough.
Bitcoin core coin selection logic:
https://github.com/bitcoin/bitcoin/blob/master/src/wallet/coinselection.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/wallet/wallet.cpp
Erhardt's thesis on coin selection
https://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf
Explanation of the "OutputGroup" type (privacy enhancement)
bitcoin/bitcoin#12257