R2C输入集生成器
项目描述
输入集生成器
这是R2C平台的输入集生成器。
安装
要安装,只需执行 pip install r2c-inputset-generator
。然后运行 r2c-isg
来加载shell。
注意: 此应用程序将在终端当前目录中缓存对各个软件包注册表的HTTP请求。在加载shell之前,请确保导航到适当的目录,或者在shell内部使用命令 set-api --nocache
。
快速入门
尝试以下命令序列
-
加载过去365天内下载量最高的前4,000个PyPI项目,按下载量降序排序,裁剪到下载量最高的前100个,下载项目元数据和所有版本,并生成输入集json。
load pypi list top4kyear sort "desc download_count" trim 100 get -mv all set-meta -n test -v 1.0 export inputset.json
-
加载所有npm项目,样本100,下载最新版本,并生成输入集json。
load npm list allbydependents sample 100 get -v latest set-meta -n test -v 1.0 export inputset.json
-
加载包含GitHub网址和提交哈希的csv文件,获取项目元数据和最新版本,生成类型为GitRepoCommit的输入集json,删除所有版本,并生成类型为GitRepo的输入集json。
load --columns "url v.commit" github file list_of_github_urls_and_commits.csv get -mv latest set-meta -n test -v 1.0 export inputset_1.json trim -v 0 export inputset_2.json
-
从组织名称加载GitHub仓库列表。
load github org netflix
Shell使用
输入/输出
-
load (OPTIONS) [noreg | github | npm | pypi] [WEBLIST_NAME | FILEPATH.csv]
从网络列表或本地文件生成数据集。以下网络列表可用- GitHub: top1kstarred, top1kforked;最被星标或被分叉的1,000个仓库
- NPM: allbydependents;所有包,按依赖者数量从多到少排序(注意:1M+个项目...请谨慎处理)
- Pypi: top4kmonth 和 top4kyear;过去30/365天下载量最高的4,000个项目
选项
-c --columns "列名字符串":一个csv格式的列名列表。覆盖默认列(名称和版本),以及文件中列出的任何标题(文件中的标题以"!"开头)。CSV读取器识别以下列关键词:name, url, org, v.commit, v.version。所有其他列都作为项目或版本属性读取。
示例用法:--headers "name url downloads v.commit v.date"。 - GitHub: top1kstarred, top1kforked;最被星标或被分叉的1,000个仓库
-
backup (FILEPATH.p)
将数据集备份到pickle文件中(默认为./dataset_name.p)。 -
restore FILEPATH.p
从pickle文件中恢复数据集。 -
import [noreg | github | npm | pypi] FILEPATH.json
从R2C输入集构建数据集。 -
export (FILEPATH.json)
将数据集导出为R2C输入集(默认为./dataset_name.json)。
数据获取
-
get (OPTIONS)
从GitHub/NPM/Pypi下载项目和版本元数据。选项
-m --metadata:获取所有项目的元数据。
-v --versions [all | latest]:获取所有项目的历史版本。
转换
-
trim (OPTIONS) N
将数据集裁剪到n个项目或每个项目n个版本。选项
-v --versions:二进制标志;按版本而不是项目裁剪。 -
sample (OPTIONS) N
从每个项目采样n个项目或n个版本。选项
-v --versions:二进制标志;采样版本而不是项目。 -
sort "[asc, desc] attributes [...]"
根据空格分隔的字符串对项目和版本进行排序。有效的关键词包括- 任何项目属性
- 任何版本属性(属性名前缀"v.")
- 任何uuids(属性名前缀"uuids.")
- 任何元值(属性名前缀"meta.")
- 单词"asc"和"desc"
默认情况下,所有值按升序排序。字符串中的第一个关键字是主要排序键,其次是次要的,依此类推。
示例:字符串"uuids.name meta.url downloads desc v.version_str v.date"将根据项目名称、url和下载量升序排序;版本字符串和日期降序排序(假设存在这些键)。
设置
-
set-meta (OPTIONS)
设置数据集的元数据。选项
-n --name NAME:输入集名称。必须在导出数据集之前设置。
-v --version VERSION:输入集版本。必须在导出数据集之前设置。
-d --description DESCRIPTION:描述字符串。
-r --readme README:Markdown格式的readme字符串。
-a --author AUTHOR:作者名称;默认为git user.name。
-e --email EMAIL:作者邮箱;默认为git user.email。 -
set-api (OPTIONS)
--cache_dir CACHE_DIR:请求缓存的路径;默认为./.requests_cache。
--cache_timeout DAYS:缓存请求过期的天数。
--nocache:二进制标志;禁用此数据集的请求缓存。
--github_pat GITHUB_PAT:GitHub个人访问令牌,用于将每小时最大请求速率从60/小时增加到5,000/小时。有关获取令牌的说明,请参阅:https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line。
可视化
- show
将数据集转换为json文件,并在系统的本地json查看器中加载。
Python项目
您还可以将此包导入到自己的项目中。只需导入数据集结构,初始化它,然后就可以使用了!
from r2c_isg.structures import Dataset
ds = Dataset.import_inputset(
'file.csv' ~or~ 'weblist_name',
registry='github' ~or~ 'npm' ~or~ 'pypi',
cache_dir=path/to/cache/dir, # optional; overrides ./.requests_cache
cache_timeout=int(days_in_cache), # optional; overrides 1 week cache timeout
nocache=True, # optional; disables caching
github_pat=your_github_pat # optional; personal access token for github api
)
ds.get_projects_meta()
ds.get_project_versions(historical='all' ~or~ 'latest')
ds.trim(
n,
on_versions=True # optional; defaults to False
)
ds.sample(
n,
on_versions=True # optional; defaults to False
)
ds.sort('string of sort parameters')
ds.update(**{'name': 'you_dataset_name', 'version': 'your_dataset_version'})
ds.export_inputset('your_inputset.json')
故障排除
如果在运行过程中遇到任何问题,您可以使用启用 --debug
标志的 shell 获取完整的错误信息。然后,将堆栈跟踪和重现错误的步骤发送到 support@ret2.co
。
注意:如果问题是与 "sample" 命令相关的,请确保对随机数生成器进行初始化,以确保可重现性。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
构建发行版
r2c-inputset-generator-0.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7928fcab2c05b70c9084a799d0cb70357aa53154bd15b4987e20e1b7c38dde54 |
|
MD5 | 05a19a1722d82742f0b6adc90783e93a |
|
BLAKE2b-256 | d4e2a60c2f4c9a5e4357bb7c068754ccdc47bf7d89f014676646bf9bc0329a20 |
r2c_inputset_generator-0.3.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6fea53f3a6b95e533f81aa2159eb0c04874b609b879fd5055bfad3d392db6bbb |
|
MD5 | d88a07bf739ba4e58324b4969d0dc460 |
|
BLAKE2b-256 | abaad4e563e91671986ce24fb3d8284506167b3127cf48f36525ada57e1a06a1 |