A Python SDK for interacting with Story.
Project description
Story SDK
Welcome to the documents for Story Python SDK. The Python SDK provides the APIs for developers to build applications with Story. By using the SDK, developers can create the resources like IP assets and perform actions to interact with the resource.
How to use Story Protocol SDK in Your Project
Install Story Protocol core SDK
Suppose you already have a node project or created a new node project. First, you need to install story_protocol_python_sdk in your project. You can use one of the following command to install the package:
Use pip:
pip install story_protocol_python_sdk web3
Besides the Story Protocol SDK package story_protocol_python_sdk, we also require the package web3 (https://pypi.org/project/web3/) to access the DeFi wallet accounts.
Initiate SDK Client
Next we can initiate the SDK Client by first setting up our wallet and then the client itself.
Set up your wallet
The SDK supports using web3 for initiating SDK client. Create a Python file and write the following code to initiate the client with a private key:
:information-source: Make sure to have WALLET_PRIVATE_KEY set up in your .env file.
import os
from dotenv import load_dotenv
from web3 import Web3
load_dotenv()
private_key = os.getenv('WALLET_PRIVATE_KEY')
rpc_url = os.getenv('RPC_PROVIDER_URL')
# Initialize Web3
web3 = Web3(Web3.HTTPProvider(rpc_url))
# Set up the account with the private key
account = web3.eth.account.from_key(private_key)
The preceding code created the account object for creating the SDK client.
Set up SDK client
To set up the SDK client, import StoryClient from story_protocol_python_sdk. Write the following code, utilizing the account we created previously.
:information-source: Make sure to have RPC_PROVIDER_URL for your desired chain set up in your .env file. We recommend using the public default one with
RPC_PROVIDER_URL=https://aeneid.storyrpc.io.
from story_protocol_python_sdk import StoryClient
# Create StoryClient instance
aeneid_chain_id = 1315
story_client = StoryClient(web3, account, aeneid_chain_id)
Development
For detailed development setup instructions, including how to install dependencies with uv and set up pre-commit hooks, see DEVELOPMENT.md.
Running test cases
- Integration Tests
pytest
- Unit Tests
coverage run -m pytest tests/unit -v -ra -q
- Generating a Coverage Report
coverage report
Formatting
black .
Release
| Package | Description |
|---|---|
| story_protocol_python_sdk | A Python SDK for interacting with the Story Protocol. |
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Details see: CONTRIBUTING
Please make sure to update tests as appropriate.
License
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 story_protocol_python_sdk-0.3.15rc1.tar.gz.
File metadata
- Download URL: story_protocol_python_sdk-0.3.15rc1.tar.gz
- Upload date:
- Size: 78.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4753e1defd599b08a7f950de93519c8415756ad5ca2bf2510fdbf7b8279d4c97
|
|
| MD5 |
fca9eed984f3b98af7aa0c28f906adc6
|
|
| BLAKE2b-256 |
fe7fcdb60f78efff6f70802e28c59c9131a61c274574f1c76bbf00931b46cf15
|
File details
Details for the file story_protocol_python_sdk-0.3.15rc1-py3-none-any.whl.
File metadata
- Download URL: story_protocol_python_sdk-0.3.15rc1-py3-none-any.whl
- Upload date:
- Size: 127.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc2da88b01ce62631e2ccca32c5a73cb61ea165a6deed7daa06d177857046fd4
|
|
| MD5 |
de8361afdddc9126d7a83813617e1f6c
|
|
| BLAKE2b-256 |
0de082e1b81262e2ed88492ce6aeff240cf7ecdbbd2e642fc0f91f55c41e2ba3
|