用于与 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)
[![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 格式)中(在首次访问时提供)。该用户名将用于创建一个“会话”,然后如上所述获取适当的令牌。
此包用于将文件从本地文件空间简单同步到 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)
[![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
查看哈希)
内置分布
pyosf-1.0.5-py2.py3-none-any.whl
(26.3 kB
查看哈希)
关
pyosf-1.0.5.zip的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | d45cf885b10403259b37d4f919396db2c86dfd52a022facef63c25ee2e7d5b28 |
|
| MD5 | 7c6966ec2bdbb9171b23423bbef53b8e |
|
| 布莱克2-256 | fc0316fa680002b9baca7cfe4c6ca17f928094021a43d6f3dda9e7100c7cf0d9 |