Serenata de Amor项目工具箱
项目描述
Serenata de Amor Toolbox
pip可安装的软件包,用于支持Serenata de Amor和Rosie开发。
Serenata_toolbox与Python 3.6+兼容
安装
$ pip install -U serenata-toolbox
如果您是普通用户,在运行pip install后即可开始使用。
如果您是核心开发者,愿意将数据集上传到云,在运行工具箱之前需要配置AMAZON_ACCESS_KEY和AMAZON_SECRET_KEY环境变量。
使用
我们准备了大量的数据集,您可以从我们的服务器下载。这个工具箱可以帮助您获取它们。以下是一些示例:
示例 1:使用命令行包装器
# without any arguments will download our pre-processed datasets and store into data/ folder
$ serenata-toolbox
# will download these specific datasets and store into /tmp/serenata-data folder
$ serenata-toolbox /tmp/serenata-data --module federal_senate chamber_of_deputies
# you can specify a dataset and a year
$ serenata-toolbox --module chamber_of_deputies --year 2009
# or specify all options simultaneously
$ serenata-toolbox /tmp/serenata-data --module federal_senate --year 2017
# getting help
$ serenata-toolbox --help
示例 2:如何下载数据集?
另一种选项是创建自己的 Python 脚本
from serenata_toolbox.datasets import Datasets
datasets = Datasets('data/')
# now lets see what are the latest datasets available
for dataset in datasets.downloader.LATEST:
print(dataset) # and you'll see a long list of datasets!
# and let's download one of them
datasets.downloader.download('2018-01-05-reimbursements.xz') # yay, you've just downloaded this dataset to data/
# you can also get the most recent version of all datasets:
latest = list(datasets.downloader.LATEST)
datasets.downloader.download(latest)
示例 3:使用快捷键
如果上一个示例看起来不简单,有一些花哨的快捷键可供选择
from serenata_toolbox.datasets import fetch, fetch_latest_backup
fetch('2018-01-05-reimbursements.xz', 'data/')
fetch_latest_backup( 'data/') # yep, we've just did exactly the same thing
示例 4:生成数据集
如果您想知道我们是如何生成这些数据集的,这个工具箱也可以帮助您(至少对于更常用的那些——其他的是在我们主仓库中生成的[链接])
from serenata_toolbox.federal_senate.dataset import Dataset as SenateDataset
from serenata_toolbox.chamber_of_deputies.reimbursements import Reimbursements as ChamberDataset
chamber = ChamberDataset('2018', 'data/')
chamber()
senate = SenateDataset('data/')
senate.fetch()
senate.translate()
senate.clean()
文档(进行中)
完整的文档仍在进行中。如果您想帮忙,您将需要Sphinx
$ cd docs
$ make clean;make rst;rm source/modules.rst;make html
贡献
首先,您应该使用 Python 的 venv 模块创建一个开发环境来隔离您的开发。然后克隆仓库,通过运行以下命令来构建包:
$ git clone https://github.com/okfn-brasil/serenata-toolbox.git
$ cd serenata-toolbox
$ python setup.py develop
在您的贡献中始终添加测试——如果您在提交 PR 之前想在本地上测试它
$ pip install tox
$ tox
当测试通过时,也要检查您编辑或添加的模块的覆盖率——如果您想在提交 PR 之前检查它
$ tox
$ open htmlcov/index.html
遵循 PEP8 以及在 非常严格 级别实施的 Landscape 最佳实践——如果您想在提交 PR 之前检查它们
$ pip install prospector
$ prospector -s veryhigh serenata_toolbox
如果这份报告包括与您文件 导入 部分相关的问题,isort 可以帮助您
$ pip install isort
$ isort **/*.py --diff
始终建议版本升级。我们使用 语义版本控制 - 或者用 Elm 社区用语
MICRO:API 保持不变,没有破坏代码的风险
MINOR:增加了值,现有值保持不变
MAJOR:现有值已更改或删除
这非常重要,因为每个合并到 master 的新代码都会触发 CI,然后 CI 会触发 PyPI 上的新版本发布。如果没有版本升级,推出新版本的工具箱将会失败。因此,我们鼓励即使只是更新了 README.rst,也添加版本升级——这是保持 PyPI 上 README.rst 更新的方法。
如果您在 API 或 README.rst 方面没有进行任何更改,并且您真的不想进行版本升级,您需要在提交信息中添加 [skip ci]。
最后,请考虑 Python 的禅
$ python -m this
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分发
构建分发
serenata-toolbox-15.1.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 746b1723bc8c871e6badf9d4a19b042e474bfaf88f23f8bdd8a80e1442034f1c |
|
MD5 | 9de64df2e50a5a2c760b7cb2a499e8e2 |
|
BLAKE2b-256 | 3242960db8e8b74e8cd04af25f8da03ff92e99e70bac338d411ff5735b8e5d1d |
serenata_toolbox-15.1.6-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a2714350e973d02652ea95bbc7728522368e73e9beb8128b82613eb5df6ea2c |
|
MD5 | 6a6a0ff418080e91c2e21abd3c845548 |
|
BLAKE2b-256 | 53ac14880ec0aab83b56130e6fecf0a3da7a452c796674ee13b17ba199e0d9c0 |