🐳 Ocean protocol library.
Project description
ocean.py
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, Brownie, etc.
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.
- 🏗 Installation
- 🏄 Quickstart: simple flow, marketplace, compute-to-data, more
- 🦑 Development
- 🏛 License
🏗 Installation
#Install the ocean.py library. Allow pre-releases for the latest v4 version. Install wheel first to avoid errors.
pip install wheel
pip install --pre ocean-lib
⚠️ Mac users: if you encounter an "Unsupported Architecture" issue, then install including ARCHFLAGS: ARCHFLAGS="-arch x86_64" pip install ocean-lib
. [Details.]
🏄 Quickstart
Here are flows to try out, from simple to specific detailed variants.
- Simple flow - the essence of Ocean - creating a data NFT & datatoken.
- Publish flow - a dataset is published.
- Consume flow - a published dataset is consumed (downloaded).
- Marketplace flow - a data asset is posted for sale at fixed rate, then purchased.
- Dispenser flow - here, a datatoken dispenser is created and datatokens are dispensed for free.
Remote flows
- Get test MATIC - from Mumbai network
- Simple remote flow - like the simple flow, but using remote services.
- Compute-to-data flow - uses C2D to build an AI model.
More types of data assets
- REST API flow - publish & consume REST API-style URIs, showing Binance ETH price feed
- GraphQL flow - publish & consume GraphQL-style URIs
- On-chain data flow - publish & consume on-chain data
Data Bounties flows
- Predict future ETH price - predict future ETH price via a local AI model
Key-value flows
- Key-value database - use data NFTs to store arbitrary key-value pairs on-chain.
- Profile NFTs - enable "login with Web3" where Dapp can access private user profile data.
Learn more
- Get test OCEAN - from Rinkeby
- Understand config parameters - envvars vs files
- Learn about off-chain services - Ocean Provider for data services, Aquarius metadata store
- Learn about wallets - on generating, storing, and accessing private keys
🦑 Development
- Developers flow - to further develop ocean.py
- Release process - to do a new release of ocean.py
🏛 License
Copyright ((C)) 2022 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.
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
ocean-lib-1.4.0.tar.gz
(67.0 kB
view hashes)
Built Distribution
Close
Hashes for ocean_lib-1.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56bd8a8023047c48714c1df1abe4e1e82adf3a4ff327e4b402fc04cf93ee7a05 |
|
MD5 | d0ea0fc4acbbbe7875c03b5ced737e98 |
|
BLAKE2b-256 | e800b4c43ba813d3c798ffd3f3133790d8ade2b8e5eff9cee96e0b1b696ae36c |