Python SDK for interacting with the Open Labels Initiative; A framework for address labels in the blockchain space. Read & write labels into the OLI Label Pool, check your labels for OLI compliance.
Project description
OLI Python Package
Python SDK for interacting with the Open Labels Initiative; A framework for address labels in the blockchain space. Read & write labels into the OLI Label Pool, check your labels for OLI compliance.
Installation
pip install oli-python
Submitting New Labels
from oli import OLI
import os
# Initialize the client
# Make sure to pull in your private key from an .env file
oli = OLI(private_key=os.environ['OLI_PRIVATE_KEY'], is_production=True)
# Create a label
address = "0x9438b8B447179740cD97869997a2FCc9b4AA63a2"
chain_id = "eip155:1" # Ethereum Mainnet
tags = {
"contract_name": "growthepie donation address",
"is_eoa": True,
"owner_project": "growthepie"
}
# Validate if your label is OLI compliant
possible_to_attest = oli.validate_label_correctness(address, chain_id, tags)
print(f"You can attest your label: {possible_to_attest}")
# Submit a label as an offchain attestation
response = oli.submit_offchain_label(address, chain_id, tags)
print(f"Label submitted offchain with response: {response.text}")
# Submit a label as an onchain attestation
tx_hash, uid = oli.submit_onchain_label(address, chain_id, tags)
print(f"Label submitted onchain with hash: {tx_hash} and uid: {uid}")
# Batch submit multiple labels as one onchain attestation
labels = [
{'address': address, 'chain_id': chain_id, 'tags': tags},
{'address': address, 'chain_id': chain_id, 'tags': tags}
]
tx_hash, uids = oli.submit_multi_onchain_labels(labels)
print(f"Labels batch submitted onchain with transaction hash: {tx_hash} and uids: {uids}")
# Revoke an attestation (revoking onchain attestations here)
trx_hash = oli.revoke_attestation(uid, onchain=True)
print(f"Label {uid} revoked with hash: {trx_hash}")
# Revoke multiple attestations (revoking onchain attestations here)
trx_hash, count = oli.multi_revoke_attestations(uids, onchain=True)
print(f"Labels batch revoked with hash: {trx_hash}")
Querying Existing Labels
from oli import OLI
import os
# Initialize the client (read mode only doesn't require a private key)
oli = OLI()
# Query attestations for a specific address
result = oli.graphql_query_attestations(address=address)
print(result)
# Download parquet export of raw attestations
oli.get_full_raw_export_parquet()
# Download parquet export of decoded attestations
oli.get_full_decoded_export_parquet()
Wallet Requirements
The OLI Label Pool lives on Base as an Ethereum Attestation schema.
Make sure your wallet contains ETH on Base Mainnet to pay for onchain transaction (including offchain revocations). Offchain attestations are free.
For testing purposes, you can use Base Sepolia Testnet by setting is_production=False when initializing the client.
Features
- Submit onchain (single or batch) and offchain (single) labels into the OLI Label Pool
- Revoke your own labels (single or batch)
- Validate if your label is OLI compliant
- Query attestations using GraphQL
- Download full dataset exports in Parquet format
Documentation
For more details, see the OLI Documentation.
License
MIT
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 oli_python-1.1.0.tar.gz.
File metadata
- Download URL: oli_python-1.1.0.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b69bdd10bffc92029c7b0ef3cdd7a2a4078eb4fe7356f3b76f827d2a5caae18b
|
|
| MD5 |
1666b340c43f58660915f15ed1336113
|
|
| BLAKE2b-256 |
44e7945f3cc119c62976bd031c42192ad8ceca7cc0ca50c6575b2917be6c13ec
|
File details
Details for the file oli_python-1.1.0-py3-none-any.whl.
File metadata
- Download URL: oli_python-1.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed70e34f64ab58ae0bdce24ab81f3b7cf925fccda5e7567002893b09c909360b
|
|
| MD5 |
724c03ebee71704dc3e7b52b8da9acac
|
|
| BLAKE2b-256 |
e3c09d4e07f551192b9cdc1e56fc7b41d133702ad49920243c446fc32b4a0aaf
|