Skip to main content

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)

See this example file

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.txt
  • python 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lnpay-py-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lnpay_py-0.1.0-py3.6.egg (14.9 kB view details)

Uploaded Egg

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

Hashes for lnpay-py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 844751741efe8192e13c647fe16e2e657a89b79e5f6733db0a1bff217c6314f0
MD5 4532dfe45ba42581666337fb1744d667
BLAKE2b-256 3ecc40146ac56ca00f8b49282bacd37ef27be105c08754693b64cc42f66fd4a9

See more details on using hashes here.

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

Hashes for lnpay_py-0.1.0-py3.6.egg
Algorithm Hash digest
SHA256 f0aabe392f6cea90bb07630ca60a470625b7ec2815dc09bf20a16b48b485e237
MD5 c14d44ebc28f658ead6d238a7e4c1cbd
BLAKE2b-256 5da8234aad46080f11b2569e9c45c55f2b807eac30c2c88138f6f384b1ba9e9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page