LNPay Python SDK - at the moment a basic wrapper for the LNPay API
Project description
lnpay-py
LNPay Python SDK - at the moment a basic wrapper for the LNPay API
Install
Get it on pip
pip install lnpay-py
Setup
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.
Instantiate a Wallet / Check Balance
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)
Create a wallet
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)
Generate Invoice
my_wallet = LNPayWallet(lnpay_wallet_key)
invoice_params = {
'num_satoshis': 2,
'memo': 'Tester'
}
invoice = my_wallet.create_invoice(invoice_params)
print(invoice)
Pay Invoice
my_wallet = LNPayWallet(lnpay_wallet_key)
invoice_params = {
'payment_request': 'lnbc....'
}
pay_result = my_wallet.pay_invoice(invoice_params)
print(pay_result)
Transfers between wallets
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)
Get Wallet Transactions
my_wallet = LNPayWallet(lnpay_wallet_key)
transactions = my_wallet.get_transactions()
print(transactions)
Get LNURL
my_wallet = LNPayWallet(lnpay_wallet_key)
lnurl_params = {
'num_satoshis': 1,
'memo': 'SatsBack!'
}
lnurl_link = my_wallet.get_lnurl(lnurl_params)
print(lnurl_link)
Get Invoice / Check if Settled
lntx_id = 'lntx_XXX'
ln_tx = LNPayLnTx(lntx_id)
invoice_result = ln_tx.get_info()
print(invoice_result)
Development
1. Installation
You will need to have python installed as well as pip
Clone the repository
2. Getting started
- open the command line and switch into the project folder
pip install -rrequirements.txtpython setup.py install
3. Run Tests
./run_tests.sh
4. Publishing To Pypi
- 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/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lnpay-py-0.1.0.tar.gz.
File metadata
- Download URL: lnpay-py-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
844751741efe8192e13c647fe16e2e657a89b79e5f6733db0a1bff217c6314f0
|
|
| MD5 |
4532dfe45ba42581666337fb1744d667
|
|
| BLAKE2b-256 |
3ecc40146ac56ca00f8b49282bacd37ef27be105c08754693b64cc42f66fd4a9
|
File details
Details for the file lnpay_py-0.1.0-py3.6.egg.
File metadata
- Download URL: lnpay_py-0.1.0-py3.6.egg
- Upload date:
- Size: 14.9 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0aabe392f6cea90bb07630ca60a470625b7ec2815dc09bf20a16b48b485e237
|
|
| MD5 |
c14d44ebc28f658ead6d238a7e4c1cbd
|
|
| BLAKE2b-256 |
5da8234aad46080f11b2569e9c45c55f2b807eac30c2c88138f6f384b1ba9e9d
|