Skip to main content

用于与 OpenScienceFramework 项目同步的 Python 库

项目描述

`pyosf` 是一个纯 Python 库,用于与 Open Science Framework 进行简单的文件同步。

此包用于将文件从本地文件空间简单同步到 Open Science Framework (OSF)。开放科学中心有一个更复杂的全功能同步包,
它创建了 OSF,称为 [osf-sync](https://github.com/CenterForOpenScience/osf-sync)

OSF 官方包是专为连续许多项目的自动同步(例如 Dropbox)。我们需要一些更简单的东西(与 PsychoPy 结合使用)。`pyosf` 包旨在对 OSF 上的单个项目执行基本的搜索/登录/同步操作,但仅在被指示这样做时(无持续同步)。

在实现中,`pyosf` 与 osf-sync 在以下方面有所不同:
* 更少的依赖关系
* 对 Python2.x 的支持
* 不包括 GUI(尚)
* 保存为平面 json 格式的文件的本地数据库(无数据库)
* 更简单的同步解析规则处理(?)

它可以在 MIT 许可下自由分发。

[![构建状态](https://travis-ci.org/psychopy/pyosf.svg?branch=master)](https://travis-ci.org/psychopy/pyosf)
[![codecov.io] (https://codecov.io/github/psychopy/pyosf/coverage.svg?branch=master)](https://codecov.io/github/psychopy/pyosf?branch=master)

安装
------ -------------

`pyosf` 与 Linux、OS X 和 Windows 以及 Python 2.7 和 Python 3.4(向上)兼容 使用

::

pip install pyosf

使用
----- ----

当你第一次创建一个`Project`,或者执行搜索项目时,你需要创建一个`Session`::

import pyosf
session = pyosf.Session(username="name@gmail.com", password="xxyxyayxy")

`Session` 允许你进行搜索::

```python
users = session.find_users("Peirce") # a list of user ids
print users
jon_id = users[0]['id'] # 我们只是在使用第一个projs = session.find_user_projects(user_id=jon_id) # id=None在projs中为proj
找到自己的项目: print("{}: {}".format(proj.id, proj.title)) osf_proj = session.open_project(proj_id) # 如果你知道项目 id 或者这个```






然后您可以创建一个“项目”对象来跟踪远程和本地文件。为此,您需要:
- project_file:存储项目信息的位置
- root_path:
- osf:来自 `Session` 的 OSF 项目对象

- 只是项目文件位置,随后重复

```python
proj = pyosf.Project (project_file="/Home/myUserName/pyosfProjects/first.proj",
root_path="/Home/myUserName/experiments/firstExperiment",
osf=osf_proj)
changes = proj.analyze() #so you can check them if need
changes. apply() #做同步
proj.save()
```

项目文件保存您的用户名(但不保存密码),如果用户名之前已用于通过 OSF 对“会话”进行身份验证,则身份验证令牌将被保存到“~/.pyosf/tokens.json”,这将允许项目创建一个新会话。即,在后续登录时,您可以只执行

```python
import pyosf
# 无需在
proj = pyosf.Project(project_file="/Home/myUserName/pyosfProjects/first.proj")周围第二次创建会话
changes = proj.analyze ()
changes.apply()
```

安全和密码
---------------------------

当您第一次创建“会话”时,您需要提供用户名(电子邮件地址)和您的 OSF 密码。这些将被安全地(通过 https)发送,并且将检索身份验证令牌。该身份验证令牌将存储在计算机当前用户空间中的可读文本中(在 ~/.pyosf/tokens.json 中)。随后创建“会话”时,用户名用于检查以前的身份验证令牌,如果找到,则不需要密码。

第二步来自“项目”。`Project` 将用于此同步的用户名存储在其 .proj 文件(json 格式)中(在首次访问时提供)。该用户名将用于创建一个“会话”,然后如上所述获取适当的令牌。


项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyosf-1.0.5.zip (26.6 kB 查看哈希

已上传 source

内置分布

pyosf-1.0.5-py2.py3-none-any.whl (26.3 kB 查看哈希

已上传 py2 py3