Simple py driver for bundlr
Project description
pybundlr
Simple py driver for bundlr.
- Constructed by wrapping bundlr CLI.
- Full API in pybundlr.py
- Pypi main, test
- GitHub repo
Installation
Ensure prerequisites:
- Linux/MacOS
- Python 3.8.5+
- Bundlr CLI:
npm install -g @bundlr-network/client
Open a new terminal and:
#Create & activate venv
python -m venv venv
source venv/bin/activate
#main install
pip3 install pybundlr
Using Pybundlr Library
First, a quick example that reads information from a bundlr node. In this case, a balance.
In terminal, go into Python console: python
In Python console:
from pybundlr import pybundlr
eth_address = "0x7BA3d8551A6f2C70a5d47bb448BcF7EF69661822"
bal = pybundlr.balance(eth_address, "matic")
print(f"{eth_address[:4]}'s MATIC balance in bundlr node: {bal} wei")
Exit the Python console for the next step.
Now, for more thorough example. We'll create a file, publish it online, then read it back.
The bundlr node will need funds to pay for storage. So, please ensure that you have a Polygon account that holds some MATIC. Just a few cents' worth should be enough.
In terminal, export the private key of your Polygon account:
export TEST_PRIVATE_KEY1=<your private key>
In terminal, go into Python console: python
In Python console:
import os
import requests
from pybundlr import pybundlr
eth_private_key = os.getenv('REMOTE_TEST_PRIVATE_KEY1')
#create test file
file_name = "/tmp/testfile.txt"
content_in = "test content" + "\n"
with open(file_name, 'a') as f:
f.write(content_in)
#fund the node, and upload the file
url = pybundlr.fund_and_upload(file_name, "matic", eth_private_key)
print(f"Uploaded file. It's online at: {url}")
#retrieve the result
result = requests.get(url)
content_out = result.text
assert content_out == content_in
This example was on Polygon mainnet, with currency = "matic"
. Pybundlr also works on Ethereum mainnet ("ethereum"
), Arweave ("arweave"
), and more.
Development
- Developers flow - to further develop pybundlr
- Release process - to do a new release of pybundlr
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
File details
Details for the file pybundlr-0.1.7.tar.gz
.
File metadata
- Download URL: pybundlr-0.1.7.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2ca459b44d5cbc1731a4223d8864d49b907ff90967804b6570725322125557c |
|
MD5 | 4f0fcdd333bb752e5b52e3208b03ffeb |
|
BLAKE2b-256 | 784e94c0f7ba72411dedc2d87af2ae19cca7ce5ad5890e8d42b8a07b091b411e |
File details
Details for the file pybundlr-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: pybundlr-0.1.7-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b99479c48cde9ba7e4654fcdff1d2dab55adab0b72751d0dbb21b08a83c3e7 |
|
MD5 | 11fa8bfa82a89253a0766a00d56f0bce |
|
BLAKE2b-256 | f3f903d009fb6291320a6a718e21c5598f146c91578a5ede18fe299e2594e4cc |