ocean.py: a Python library to privately & securely publish, exchange, and consume data.
With ocean.py, you can:
- Publish data services: downloadable files or compute-to-data. Create an ERC721 data NFT for each service, and ERC20 datatoken for access (1.0 datatokens to access).
- Sell datatokens via for a fixed price. Sell data NFTs.
- Transfer data NFTs & datatokens to another owner, and all other ERC721 & ERC20 actions using web3.py.
ocean.py is part of the Ocean Protocol toolset.
This is in beta state. If you run into problems, please open up a new issue.
🏄 Quickstart
Follow these steps in sequence to ramp into Ocean.
- Install Ocean
- Setup:
- Walk through main flow: publish asset, post for free / for sale, dispense it / buy it, and consume it
Tools
- Define gas strategy - auto-determine gas fee for remote networks
- Search & filter data - find assets by tag
- Custody-light flow - consume a free & a priced asset without custody
Use-case flows
- Predict ETH - data challenges with prize $$ to predict future ETH price
- Data Farming - curate data assets, earn rewards
On-chain key-value store via data NFTs
- Sharing public data on-chain - e.g. public AI models
- Sharing private data on-chain - e.g. private AI models
More types of data assets
Each of the following shows how to publish & consume a particular type of data.
- C2D - tokenize & monetize AI algorithms via Compute-to-Data
- REST API - Example on Binance ETH price feed
- GraphQL - Example on Ocean Data NFTs
- On-chain data - Example on Ocean swap fees
- Adding credentials - Example on publishing an asset with custom credentials
Learn more
- Understand config parameters - envvars vs files
- Learn about off-chain services - Ocean Provider for data services, Aquarius metadata store
🦑 Development
- Developers flow - to further develop ocean.py
- Release process - to do a new release of ocean.py
🏛 License
Copyright ((C)) 2023 Ocean Protocol Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.