vospace文件系统的类库
vofs的Python项目详细描述
vosfs是一个python模块,它允许将vospace服务用作 文件系统。
vosfs的默认安装被调整为访问vospace 由Canadian Advanced Network For Astronomical Research(canfar)提供
vospace是一种用于天文学的分布式云存储服务。
Java内容使用VOS有两种方法:
- 使vospace显示为已装入的文件系统:mountvofs
- 在python脚本中使用vosfs模块:import vosfs
对canfar vospace服务的身份验证是使用x509执行的 安全证书、头令牌或用户名/密码对。这个 身份验证系统由CADC组管理服务管理 (GMS)。
检索用于^{tt2}的x509安全证书$ 工具使用Cadcutils附带的CADC GET CERT脚本 包裹。
有关其他信息,请参见CANFAR documentation
系统要求
- 一个canfar vospace帐户(写访问需要,读访问可以 匿名)
- 保险丝或OSX-FUSE(参见附加文档,仅适用于 基于文件系统的访问,不用于命令行或编程)
- python2.6或更高版本
安装
VOSFS通过PyPI/vos和 pypi是获得最新稳定版本的最直接方法:
pip install vosfs --upgrade--user
或者,您可以检索github 分发和使用
python setup.py install --user
教程
- 获得CANFAR account
- 安装vosfs包。
- 使用安装在 cadc-get-cert脚本。
- 示例用法。
- 对于文件系统使用:mountvofs挂载CADC VOSPACE根目录 容器节点位于/tmp/vospace并在 用户主目录(${home}/vos)。 fusermount -u /tmp/vospace(Linux)或umount /tmp/vospace (OS-X)卸载文件系统。vospace没有映射 您的unix用户id,因此文件似乎由 发出“mountvofs”命令的用户。
开发
建议使用虚拟环境(venv)设置外部 不在系统范围内安装依赖项。在these instructions之后, 安装virtualenv:
$ pip install virtualenv
接下来,创建并激活本地venv(本例使用 bash):
$ virtualenv venv $ source venv/bin/activate
通过安装 合适的套餐:
$ pip install -r dev_requirements.txt
测试环境内置在setup.py中,因此 单元测试的实现方式如下:
python setup.py test
例如,如果您希望将Versbose输出格式化为网页, 您可以向测试呼叫添加选项:
python setup.py test --addopts '--cov-report html:cov_html --cov=vosfs'
相同的option属性可用于将其他参数传递给py.test 正在执行测试。仅运行特定的测试,例如:
python setup.py test --addopts 'vos/test/Test_vos.py::TestClient::test_transfer_error'
每次您恢复项目工作并希望使用venv (例如,从新外壳),只需重新激活它即可:
$ source venv/bin/activate
完成后,只需发布a
$ deactivate
停用虚拟环境的命令。
集成测试
目前,集成测试设计为仅在 CADC空间。测试假设已经安装了vofs包。
激活venv并安装vofs
$ source venv/bin/activate.csh $ pip install vofs
运行测试:
```$./test/scripts/vospace-mountvospace-atest.tcsh