Skip to main content

PWRPY is a Python library for interacting with the PWR network.

Project description

PWRPY

PWRPY is a Python library for interacting with the PWR network. It provides an easy interface for wallet management and sending transactions on PWR.

Installation

# latest official release (main branch)
pip3 install pwrpy

🌐 Documentation

How to Guides 🔜 & API 💻

Play with Code Examples 🎮

💫 Getting Started

Import the library:

from pwrpy.pwrsdk import PWRPY
from pwrpy.pwrwallet import Wallet

Set your RPC node:

pwr = PWRPY("https://pwrrpc.pwrlabs.io/")

Generate a new random wallet:

wallet = Wallet.new_random(12)

Import wallet by Seed Phrase:

seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)

Get wallet address:

address = wallet.get_address()

Get wallet seed phrase:

seed_phrase = wallet.get_seed_phrase()

Get wallet balance:

balance = wallet.get_balance()

Get private key:

pk = wallet.get_private_key()

Transfer PWR tokens:

response = wallet.transfer_pwr("recipientAddress", "amount", "fee_per_byte")

Sending a transcation to the PWR Chain returns a Response object, which specified if the transaction was a success, and returns relevant data. If the transaction was a success, you can retrieive the transaction hash, if it failed, you can fetch the error.

from pwrpy.pwrwallet import Wallet
seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)
amount = 1000
fee_per_byte = wallet.get_rpc().get_fee_per_byte()

response = wallet.transfer_pwr("recipientAddress", amount, fee_per_byte)
if response.success:
    print("Transfer:", response.__dict__)
else:
    print("FAILED!")

Send data to a VIDA:

from pwrpy.pwrwallet import Wallet
seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)

vida_id = 123
data = "Hello World!"
fee_per_byte = wallet.get_rpc().get_fee_per_byte()

response = wallet.send_vida_data(vida_id, data.encode(), fee_per_byte)
if response.success:
    print("SendVidaData:", response.__dict__)
else:
    print("FAILED!")

Other Static Calls

Get RPC Node Url:

Returns currently set RPC node URL.

url = pwr.get_rpc_node_url()

**Get Fee Per Byte: **

Gets the latest fee-per-byte rate.

fee = pwr.get_fee_per_byte()

Get Balance Of Address:

Gets the balance of a specific address.

balance = pwr.get_balance_of_address('0x...')

Get Nonce Of Address:

Gets the nonce/transaction count of a specific address.

nonce = pwr.get_nonce_of_address('0x...')

Get VIDA Data:

start_block = 843500
end_block = 843750
vida_id = 123

transactions = pwr.get_vida_data_transactions(start_block, end_block, vida_id)
for txs in transactions:
    print("Data:", txs.data)

✏️ Contributing

If you consider to contribute to this project please read CONTRIBUTING.md first.

You can also join our dedicated channel for pwrpy on the PWR Chain Discord

📜 License

Copyright (c) 2025 PWR Labs

Licensed under the MIT license.

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

pwrpy-6.0.9a1.tar.gz (115.4 kB view details)

Uploaded Source

Built Distribution

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

pwrpy-6.0.9a1-py3-none-any.whl (116.7 kB view details)

Uploaded Python 3

File details

Details for the file pwrpy-6.0.9a1.tar.gz.

File metadata

  • Download URL: pwrpy-6.0.9a1.tar.gz
  • Upload date:
  • Size: 115.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Darwin/24.4.0

File hashes

Hashes for pwrpy-6.0.9a1.tar.gz
Algorithm Hash digest
SHA256 e3292d367aca02f80de46fb7d1a86ff780790a54235383618ec77ae4fdd67e35
MD5 c2447746f76f75f8a23d3cd3d510e5fd
BLAKE2b-256 d7f87984e0da059c19f9cc2c15f018845d488720ae85c9a1e78717c7c857ccb5

See more details on using hashes here.

File details

Details for the file pwrpy-6.0.9a1-py3-none-any.whl.

File metadata

  • Download URL: pwrpy-6.0.9a1-py3-none-any.whl
  • Upload date:
  • Size: 116.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Darwin/24.4.0

File hashes

Hashes for pwrpy-6.0.9a1-py3-none-any.whl
Algorithm Hash digest
SHA256 65770423d6027668f15ade928db63a7306994fe06226397d2c015e605439c846
MD5 96af5018befed49db745f6c7d2b10deb
BLAKE2b-256 bbd5e43ec6996f474ffe398bedb14f023b2084591648a839f5123e9ece7c0429

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