海洋水瓶座。

ocean-aquarius的Python项目详细描述


banner

水瓶座

? Aquarius provides an off-chain database store for metadata about data assets. It's part of the Ocean Protocol software stack.

注:水瓶座以前被称为提供者

“水瓶座是十二宫星座,位于摩羯座和双鱼座之间。它的名字是拉丁语的“水载体”或“杯载体”。水瓶座是黄道带上最古老的星座之一(太阳的明显路径)。“

Docker Build StatusTravis (.com)Codacy coveragePyPIGitHub contributors


有龙和乌贼这是在alpha状态,你可以预期会遇到问题。如果你碰到他们,请打开a new issue_


对于水瓶座操作员

如果你正在开发一个市场,你会希望在本地运行宝瓶座和其他几个组件,最简单的方法是使用驳船。请参阅the Barge repository中的说明。

对于水瓶座API用户

海洋协议文档站点有documentation about the Aquarius API。注意,它显示了当前与nile testnet一起部署的版本的文档。要获取其他版本的文档,页面顶部有一个“过去版本”链接。

如果你有水瓶座在本地运行,你可以在 http://localhost:5000/api/v1/docs或者 http://0.0.0.0:5000/api/v1/docs

提示1:如果这不起作用,那么尝试https

提示2:如果你的浏览器在顶部显示了一个夸张的标题,但是上面写着“未能加载规范”,那么我们发现,在chrome中,如果我们转到chrome://flags/#allow-insecure-localhost并将其切换到enabled,然后重新启动chrome,它就工作了。

如果您想进一步了解元数据的本体,可以在 OEP-8

对于水瓶座开发者

一般海洋开发文件

有关ocean的python代码样式和相关“元”开发人员文档的信息,请参见the oceanprotocol/dev-ocean repository

本地运行,用于开发和测试

首先,克隆此存储库:

git clone git@github.com:oceanprotocol/aquarius.git
cd aquarius/

然后运行mongodb数据库,这是水瓶座的要求mongodb可以使用official documentation中的指令直接安装。或者如果安装了docker,则可以运行:

docker run -d -p 27017:27017 mongo

注意,它运行MongoDB,但水瓶座也可以使用BigChainDB或ElasticSearch。如果要运行ElasticSearch或BigchainDB,请更新文件config.ini,并使用首选方法运行数据库引擎

然后安装宝瓶座的操作系统级别要求:

sudo apt update
sudo apt install python3-dev python3.7-dev libssl-dev

(注意:在编写本文时,python3-dev是针对python 3.6的。python3.7-dev如果您想在本地使用python 3.7进行测试,那么就需要{}。BigChainDB需要libssl-dev。)

在安装aquarius的python包需求之前,您应该创建并激活一个virtualenv(或等效的)。

最简单的方法是:

pip install -r requirements.txt
exportFLASK_APP=aquarius/run.py
exportCONFIG_FILE=config.ini
flask run

将使用http(即不是ssl/tls)。

运行flask应用程序的正确方法是使用应用服务器,如gunicorn。这允许您使用ssl/tls运行。 您可以通过执行以下操作生成一些用于测试的证书:

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

当它要求公共名(cn)时,回答localhost

然后编辑配置文件config.ini,以便:

aquarius.url = http://localhost:5000

然后执行此命令:

gunicorn --certfile cert.pem --keyfile key.pem -b 0.0.0.0:5000 -w 1 aquarius.run:app

配置

可以使用CONFIG_FILE环境变量(推荐)传递配置,也可以在CONFIG.ini文件中查找配置

在配置中,现在有两个部分:

  • oceandb:包含要连接到oceandb的不同值。您可以找到有关如何使用oceandbhere的更多信息。
  • 资源:在本节中,我们将展示宝瓶座将被部署到的url。
[resources]aquarius.url = http://localhost:5000

测试

通过travis设置自动测试,执行tox。 我们的测试使用pytest框架。

新版本

bumpversion.sh脚本帮助提升项目版本。可以使用{major|minor|patch}作为第一个参数来执行脚本,从而相应地提高版本。

许可证

版权所有2018海洋协议基金会有限公司

有执照的在apache许可下,版本2.0(“许可”); 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Thumbnailator库将图像转换为cmyk   Java反射从目录中的类运行测试   JavaEclipseJDT编译器说方法未定义,但EclipseIDE没有   重构如何重构一行重复的java代码   java Eclipse:使用删除线文本呈现自定义注释   java问题与ArrayList复制数据   java如何在swagger中传递访问令牌?   使用另一个java文件运行java文件时出错   java为什么谷歌云存储生成的上传链接在成功上传后不会失效?   java将我的客户端PC重定向到默认登录页面   java hibernate c3p0配置mysql问题   java和java之间的区别。尼奥。文件文件和java。伊奥。文件   列出java循环并向映射中添加值   java为什么OJ报告这段代码的运行时错误?