Skip to main content

Simple py driver for bundlr

Project description

pybundlr

Simple py driver for bundlr.

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:

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 pybundlr
import os
import requests

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}")

#retreive 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.

The code itself has the full interface and behavior.

Development

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

pybundlr-0.1.3.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

pybundlr-0.1.3-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file pybundlr-0.1.3.tar.gz.

File metadata

  • Download URL: pybundlr-0.1.3.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for pybundlr-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0bd44979ec2685ca9ba748270eb083effbd12f7f9fa5adc570831e0c44a629ca
MD5 555a60fc40d5777fe19065cea03dd2c4
BLAKE2b-256 2dd48fcd0c7d127183db6e72b82115c86e3c76c2966cb517d8ce53860be45925

See more details on using hashes here.

File details

Details for the file pybundlr-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pybundlr-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for pybundlr-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d598ceeed3beb9e4a3a0059d788a9403bbfccdda813614aa6544666685f287cd
MD5 59d83b02b2700a0cff00977086f59dcc
BLAKE2b-256 84ecfbda8488da0429ecb1787c9209783e82caee91058b24259f4255f8d659b1

See more details on using hashes here.

Supported by

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