跳转到主要内容

一个OSF命令行库

项目描述

osfclient

osfclient

travisbadge

osfclient 是一个python库和用于上传和下载文件到和从您的 Open Science Framework 项目的命令行客户端。《Open Science Framework》 (OSF) 是一个开源项目,通过共享数据和其它研究产出,促进研究人员在网上的开放协作。

因此,OSF托管着与论文或科学项目相关的大型数据集,可以免费下载。《osfclient》允许人们通过命令行界面存储和检索与他们在OSF上的科学项目和论文相关的大型数据集。如果您对OSF完全陌生,您可以 阅读他们的介绍材料

这是一个非常新的项目,它有一些粗糙的边缘。

安装

要使用 osfclient,请通过pip安装

$ pip install osfclient

有关参与 osfclient 开发的详细信息,请查看 贡献部分

使用方法

此项目提供两项内容:一个用于与 OSF 中存储的文件交互的python库和命令行程序。

Python 库是命令行程序的基础。如果您想通过程序访问您的文件,请使用库,否则请尝试命令行程序。

阅读完整文档:https://osfclient.readthedocs.io/zh/latest/

以下是一些使用示例

# get help and see available commands, get help on a specific command
$ osf -h
$ osf <command> -h

# setup a local folder for an existing project
$ osf init

# list all files for the project
$ osf ls

# fetch all files for the project
$ osf clone

# fetch an individual file from a project
$ osf fetch remote/path.txt local/file.txt

# get web view url for an individual file from a project
$ osf geturl remote/path.txt

# add a new file
$ osf upload local/file.txt remote/path.txt

# add a new directory
$ osf upload -r local/directory/ remote/directory

如果项目是私有的,您将需要提供身份验证详情。您可以选择提供用户名和密码凭证或个人访问令牌(PAT)。您可以通过设置环境变量 OSF_USERNAMEOSF_PASSWORD 或设置环境变量 OSF_TOKEN 来提供这些信息。密码将从 OSF_PASSWORD 环境变量中检索,或者当您运行程序时,工具会直接要求您提供。

您可以通过在当前目录中创建配置文件来为用户名和项目设置默认值。这就是 osf init 为您所做的事情。要设置用户名和项目ID,请创建 .osfcli.config

[osf]
username = yourOSFaccount@example.com
project = 9zpcy

为了避免每次使用时都提供凭证,您可以在配置文件中使用以下密钥提供您的密码或PAT

# basic auth (username/password)
password = this-password-is-fake

# token auth
token = kej2R9IU6Gr2uThsswSNdP1cd0cu9eaCerVXjVf7zNwfXHyT0QzMZtX0PGTYmp9Fzaixwq

之后,您只需运行 osf ls 来列出项目内容。

贡献

欢迎任何人的贡献。Fork 此存储库,进行您的更改,添加测试以覆盖它们,然后创建一个拉取请求。然后,维护者之一将审查您的更改。当所有评论都得到解决且所有测试都通过时,您的更改将被合并。

设置开发版本

$ git clone https://github.com/YOURNAMEHERE/osfclient
$ git remote add upstream https://github.com/osfclient/osfclient
$ cd osfclient
$ pip install -r devRequirements.txt -c constraints.txt
$ pip install -e . -c constraints.txt

与本项目相关的有几个秘密密钥,如 pypi.org、test.pypi.org 和 osfclient 电子邮件账户的密码。我们将在 Keybase 上的加密 git 存储库中存储这些密钥。如果您需要访问此存储库,请联系以下任何 Keybase 维护者

  • Tim Head (@betatim)

  • Ben Lindsay (@benlindsay)

  • Fitz Elliott (@felliott)

  • Longze Chen (@cslzchen)

有关更多详细信息和工作指导,请参阅 CONTRIBUTING.md

支持者: