Python client for Original.
Project description
Official Python SDK for Original API
Table of Contents
✨ Getting started
Ensure you have registered for an account at Original before getting started. You will need to create an app and note down your API key and secret from the API Keys page to use the Original SDK.
Install Original
$ pip install original-sdk
📚 Documentation
Initialization
The Original SDK is set up to expose the Original API.
Read the full Original API documentation.
Create a new instance of the Original client by passing in your api key and secret, with the environment associated with that app.
Development
For development apps, you must pass the environment:
from original_sdk import OriginalClient, Environment
client = OriginalClient(api_key='YOUR_DEV_APP_API_KEY', api_secret='YOUR_DEV_APP_SECRET', env=Environment.Development)
Production
For production apps, you can optionally pass the production environment:
from original_sdk import OriginalClient, Environment
client = OriginalClient(api_key='YOUR_PROD_APP_API_KEY', api_secret='YOUR_PROD_APP_SECRET', env=Environment.Production)
or omit the environment, which will default to production:
from original_sdk import OriginalClient
client = OriginalClient(api_key='YOUR_PROD_APP_API_KEY', api_secret='YOUR_PROD_APP_SECRET')
User
The user methods exposed by the sdk are used to create and retrieve users from the Original API.
# create a new user
new_user_uid = client.create_user(email='YOUR_EMAIL', client_id='YOUR_CLIENT_ID' )
# gets a user by uid, will throw a 404 Not Found error if the user does not exist
# returns user data
user = client.get_user(new_user_uid)
# gets a user by email or client_id
# will return user data type if the user exists, otherwise will return null
user_by_email = client.get_user_by_email('YOUR_EMAIL')
user_by_client_id = client.get_user_by_client_id('YOUR_CLIENT_ID')
Asset
The asset methods exposed by the sdk are used to create (mint) assets and retrieve assets from the Original API.
# prepare the new asset params
new_asset_data = {
"user_uid": "324167489835",
"client_id": "client_id_1",
"collection_uid": "221137489875",
"data": {
"name": "Dave Starbelly",
"unique_name": True,
"image_url": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
"store_image_on_ipfs": True,
"description": "Friendly OpenSea Creature that enjoys long swims in the ocean.",
"external_url": "https://openseacreatures.io/3",
"attributes": [
{
"trait_type": "Base",
"value": "Starfish"
},
{
"trait_type": "Eyes",
"value": "Big"
},
{
"trait_type": "Aqua Power",
"display_type": "boost_number",
"value": 40
},
{
"trait_type": "Stamina Increase",
"display_type": "boost_percentage",
"value": 10
},
]
}
}
# create a new asset
# returns the uid of the newly created asset
new_asset_uid = client.create_asset(**new_asset_data)
# gets an asset by uid, will throw a 404 Not Found error if the asset does not exist
asset = client.get_asset(new_asset_uid)
# gets assets by the owner uid
# will return a list of assets owned by the user
assets = client.get_asset_by_user_uid(user_uid)
# prepare the edit asset params
edit_asset_data = {
"data": {
"name": "Dave Starbelly Edited",
"unique_name": True,
"image_url": "https://storage.googleapis.com/opensea-prod.appspot.com/puffs/3.png",
"description": "Friendly OpenSea Creature that enjoys long swims in the ocean. Edited",
"attributes": [
{
"trait_type": "Base",
"value": "Starfish"
},
]
}
}
# edits an asset by uid, by passing in the new asset data
# returns success true or false
client.edit_asset(new_asset_uid, **edit_asset_data)
Collection
The collection methods exposed by the sdk are used to retrieve collection details from the Original API.
# gets a collection by uid, will throw a 404 Not Found error if the collection does not exist
# returns collection detail
collection = client.get_collection('221137489875')
Transfer
The transfer methods exposed by the sdk are used to transfer assets from one user to another wallet.
# create a transfer of an asset, by passing in transfer details
# returns the uid of the newly created transfer
transfer_uid = client.create_transfer(
asset_uid = asset_uid,
from_user_uid = user_uid,
to_address = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
)
# gets a transfer by uid, will throw a 404 Not Found error if the transfer does not exist
transfer = client.get_transfer(transfer_uid)
# gets transfers by user uid
# will return a list of transfers for the user
transfers = client.get_transfers_by_user_uid(user_uid)
Burn
The burn methods exposed by the sdk are used to burn assets from a user's wallet.
# create a burn of an asset
# returns the uid of the newly created burn
burn_uid = client.create_burn(
asset_uid=asset_uid,
from_user_uid=user_uid,
)
# gets a burn by uid, will throw a 404 Not Found error if the burn does not exist
burn = client.get_burn(burn_uid)
# gets burns by user uid
burns = client.get_burn_by_user_uid(user_uid)
Deposit
The deposit methods exposed by the sdk are used to return the details for depositing assets.
# gets deposit details for a user
# returns the deposit details
deposit = client.get_deposit(user_uid)
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 original_sdk-1.2.0.tar.gz
.
File metadata
- Download URL: original_sdk-1.2.0.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/7.0.1 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 414cc2440233b5a2c570f5a3ebbc9e968c802d4ad1893177e8686569ca4f190f |
|
MD5 | de72e87f6a32234e56ad7528c9730a2c |
|
BLAKE2b-256 | 07467c0c24f0e5a9962a98c2eadcfdb2528cb9905a4293ad5dabfea7e9d1be47 |
File details
Details for the file original_sdk-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: original_sdk-1.2.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/7.0.1 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.66.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fc54de74c17cb25319cf5da11b434da620d928c275578235217211da3337f46 |
|
MD5 | 229e6bb52007fd4f2475b8367a8cfc63 |
|
BLAKE2b-256 | e3807ceadf32fa4d0f818465d82a7c3472a9d385c755cd9967cd339cc416498c |