LNPay Python SDK - at the moment a basic wrapper for the LNPay API
Get it on pip
pip install lnpay-py
First import into your python module
import lnpay_py
Now, you need to instantiate it with a Public API Key from LNPay.co
# Set your public key
lnpay_api_key = 'pak_XXX'
# init lnpay
lnpay_py.initialize(lnpay_api_key)
Usage - Documentation
The first alpha version of this SDK is mainly a wrapper for the LNPay API
Everyhing revolves around the wallet and Wallet Access Keys (WAK) which grant various levels of permission.
When interacting with the wallet, import the wallet module and then initialize the wallet.
from lnpay_py.wallet import LNPayWallet
my_wallet = LNPayWallet(lnpay_wallet_key)
Then you can proceed to check balance, etc.
info = my_wallet.get_info()
print(info)
You can create a wallet from the UI or via the API. When you create a wallet via the API, Wallet Access Keys (WAK) are returned. You need to save these.
wallet_params = {
'user_label': 'My wallet'
}
new_wallet = lnpay_py.create_wallet(wallet_params)
print(new_wallet)
my_wallet = LNPayWallet(lnpay_wallet_key)
invoice_params = {
'num_satoshis': 2,
'memo': 'Tester'
}
invoice = my_wallet.create_invoice(invoice_params)
print(invoice)
my_wallet = LNPayWallet(lnpay_wallet_key)
invoice_params = {
'payment_request': 'lnbc....'
}
pay_result = my_wallet.pay_invoice(invoice_params)
print(pay_result)
my_wallet = LNPayWallet(lnpay_wallet_key)
transfer_params = {
'dest_wallet_id': 'w_XXX',
'num_satoshis': 1,
'memo': 'Transfer Memo'
}
transfer_result = my_wallet.internal_transfer(transfer_params)
print(transfer_result)
my_wallet = LNPayWallet(lnpay_wallet_key)
transactions = my_wallet.get_transactions()
print(transactions)
my_wallet = LNPayWallet(lnpay_wallet_key)
lnurl_params = {
'num_satoshis': 1,
'memo': 'SatsBack!'
}
lnurl_link = my_wallet.get_lnurl(lnurl_params)
print(lnurl_link)
lntx_id = 'lntx_XXX'
ln_tx = LNPayLnTx(lntx_id)
invoice_result = ln_tx.get_info()
print(invoice_result)
You will need to have python installed as well as pip
Clone the repository
- open the command line and switch into the project folder
pip install -rrequirements.txt
python setup.py install
- Edit & run the example file
python example/run.py
./run_tests.sh
- Create an account for pypi & pypi test
- Install twine -
pip install twine
- Increment version in
__init__.py
- Remove current items in dist -
rm -rf dist/*
- Build package -
python setup.py install
- Build sdist -
python setup.py sdist
- Run pypi test upload -
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- Upload to pypi -
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*