[duniter]客户端开发人员的python库(https://git.duniter.org/nodes/typescript/duniter)
duniterp的Python项目详细描述
python实现Duniterbma api
这是与duniter节点端点通信的最完整的python库。
富客户机Sakia使用这个库来管理duniter的钱包。
功能
- 支持duniter的Basic Merkle API和protocol
- 无线程异步/同步
- 支持BMA API的HTTP、https和Web套接字传输
- 支持Elasticsearch Duniter4japi
- Duniter签名密钥
- 使用duniter凭据对消息进行签名/验证和加密/解密
要求
- python>;=3.5.2
- aiohttp >= 0.19
- pylibscrypt
- libnacl
- base58
- attr
安装
您可以通过以下pip安装duniter python api及其所有依赖项:
pip3 install duniterpy
文档
Examples文件夹中充满了帮助您的脚本!
但您也可以生成和读取autodoc:
安装狮身人面像:
pip install -r requirements_dev.txt
生成文档:
make docs
HTML文档是在docs/\u build/html文件夹中生成的。
请看一下文件HTTP API 了解更多关于bma api的信息。
开发
- 在编写docstring时,请使用https://www.python.org/dev/peps/pep-0287/#docstring-significant-features推荐的structuredText格式
- 使用make命令检查代码并正确设置其格式。
警告
开发工具需要Python3.6.x或更高版本。
使用pyenv
创建python虚拟环境curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash`
安装依赖项:
pip install -r requirements.txt
查看示例文件夹
从父文件夹运行示例:
PYTHONPATH=`pwd` python examples/request_data.py
在提交合并请求之前,请检查静态类型和测试。
安装开发依赖项:
pip install -r requirements_dev.txt
使用mypy:
检查静态类型make check
使用以下命令运行所有单元测试(内置模块单元测试):
make tests
通过传递一个特殊的env变量,只运行一些单元测试:
make tests TESTS_FILTER=tests.documents.test_block.TestBlock.test_fromraw
打包和部署
pypi
在development pyenv环境中,安装构建和部署工具:
pip install --upgrade -r requirements_deploy.txt
更改并提交并标记新版本号(语义版本号):
./release.sh 0.42.3
在dist文件夹中构建pypi包:
make build
将包部署到pypi测试存储库中(使用make之前的空格在shell历史记录中不保留带有密码的命令):
[SPACE]make deploy_test PYPI_TEST_LOGIN=xxxx PYPI_TEST_PASSWORD=xxxx
从pypi测试存储库安装包:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.python.org/simple/ duniterpy
在pypi存储库上部署包(在make之前使用空格,以便在shell历史记录中不保留带有密码的命令):
[SPACE]make deploy PYPI_LOGIN=xxxx PYPI_PASSWORD=xxxx