Python library to privately & securely publish, exchange, and consume data.
With ocean.py, you can:
- Publish data services: downloadable files or compute-to-data. Ocean creates a new ERC20 datatoken for each dataset / data service.
- Mint datatokens for the service
- Sell datatokens via an OCEAN-datatoken Balancer pool (for auto price discovery), or for a fixed price
- Stake OCEAN on datatoken pools
- Consume datatokens, to access the service
- Transfer datatokens to another owner, and all other ERC20 actions using web3.py etc.
ocean.py is part of the Ocean Protocol toolset.
This is in beta state and you can expect running into problems. If you run into them, please open up a new issue.
- π Installation
- π Quickstart: simple flow, marketplace, compute-to-data, more
- π¦ Development
- π License
#Install the ocean.py library. Install wheel first to avoid errors.
pip install wheel
pip install ocean-lib
ARCHFLAGS="-arch x86_64" pip install ocean-lib
This stripped-down flow shows the essence of Ocean: simply creating a datatoken.
In this flow, a data asset is posted for sale in a marketplace, and purchased. It includes metadata, and a datatoken pool for automated price discovery.
This flow uses a fixed (constant) price for datasets, not automated price discovery.
Go to fixed-rate exchange flow
This flow uses Ocean Compute-to-Data (c2d) to compute results from a dataset that never leaves the premises.
- 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
- Get an overview of ocean.py - key modules and functions
Go to developers flow if you want to further develop ocean.py.
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.