ERC190包的Python抽象。
项目描述
加入聊天 https://gitter.im/ethpm/lobby CircleCI PyPI版本
Python实现的以太坊包管理规范。
在ReadTheDocs上的文档中了解更多。
警告!
Py-EthPM目前处于公共alpha测试阶段。 请注意:- 预期会有错误,并且不打算在生产环境中使用 - 事物可能会非常慢或者根本无法工作
快速入门
pip install ethpm
开发者设置
如果您想对Py-EthPM进行修改,请查看以太坊开发战术手册,了解我们如何做
测试
拉取请求
代码风格
文档
开发者环境搭建
您可以使用以下方式搭建您的开发环境:
git clone git@github.com:ethpm/py-ethpm.git
cd py-ethpm
virtualenv -p python3 venv
. venv/bin/activate
pip install -e .[dev]
测试设置
在开发过程中,您可能希望在每次保存文件时运行测试。
在文件更改时显示 flake8 错误
# Test flake8
when-changed -v -s -r -1 py-ethpm/ tests/ -c "clear; flake8 py-ethpm tests && echo 'flake8 success' || echo 'error'"
使用一条命令运行多进程测试,但不显示颜色
# in the project root:
pytest --numprocesses=4 --looponfail --maxfail=1
# the same thing, succinctly:
pytest -n 4 -f --maxfail=1
使用一个线程运行,带有颜色和桌面通知
cd venv
ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on <REPO_NAME> failed'" ../tests ../<MODULE_NAME>
如何执行测试?
执行 tox 来运行测试
测试由多个组件组成。您可以针对特定组件运行测试。例如
# Run Tests for the Core component (for Python 3.5):
tox -e py35
# Run Tests for the Core component (for Python 3.6):
tox -e py36
如果由于某种原因它不起作用,请添加 --recreate 参数。
tox 非常适合针对完整构建目标集进行测试。但如果您想单独运行测试,py.test 更适合开发工作流程。例如,仅运行一个文件中的测试
pytest tests/ethpm/utils/test_uri_utils.py
IPFS 集成测试(tests/ethpm/integration/)需要直接连接到 IPFS 节点,默认情况下跳过(除了在 CircleCI 中运行)。要包含这些测试在您的测试运行中,首先启动一个 IPFS 节点,然后将 --integration 添加到 pytest 命令中。
发布设置
对于类似 Debian 的系统
apt install pandoc
要发布新版本
make release bump=$$VERSION_PART_TO_BUMP$$
如何升级版本号
该存储库的版本格式为稳定版本的 {major}.{minor}.{patch},以及不稳定版本的 {major}.{minor}.{patch}-{stage}.{devnum}(stage 可以是 alpha 或 beta)。
要发布下一个版本,指定要升级的部分,例如 make release bump=minor 或 make release bump=devnum。
如果您处于 beta 版本,make release bump=stage 将切换到稳定版本。
如果当前版本是稳定的,要发布不稳定版本,请明确指定新版本,例如 make release bump="--new-version 4.0.0-alpha.1 devnum"
EthPM-Spec
EthPM-Spec <https://github.com/ethpm/ethpm-spec>__ 作为子模块在此存储库中引用。**
如果您克隆此存储库,请运行此命令以获取子模块的内容
git submodule init
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。