vospace文件系统的类库

vofs的Python项目详细描述


https://img.shields.io/pypi/v/vofs.svg

vosfs是一个python模块,它允许将vospace服务用作 文件系统。

vosfs的默认安装被调整为访问vospace 由Canadian Advanced Network For Astronomical Research(canfar)提供

vospace是一种用于天文学的分布式云存储服务。

Java内容

使用VOS有两种方法:

  1. 使vospace显示为已装入的文件系统:mountvofs
  2. 在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

教程

  1. 获得CANFAR account
  2. 安装vosfs包。
  3. 使用安装在 cadc-get-cert脚本。
  4. 示例用法。
    1. 对于文件系统使用: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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java JTextfield不考虑给定的列宽   java块,直到Executor服务完成   对象上的java同步,然后在该对象的字段上   java无法解析名称。。。到(n)“类型定义”组件   Jlabel中的java显示图像图标   java Doc4j在将文档中的表转换为PDF时遇到问题   java URLEncoder用什么字符集来代替%20或+   数学在java中,将double分为两部分“整数和分数”的最佳方法是什么   java Vaadin上载不适用于同一文件名   给出Http 500内部服务器错误的java JSON响应   java组织。日食果心内部的表达。组织找不到ReferenceExpression。日食e4。用户界面。workbench_1.3.0。RAP2008110954   匿名代码块方法的java Junit测试   java增量变量名?   java For each循环不执行   spring由于找不到多部分边界,请求被拒绝   在Java中的if块中使用逻辑运算符或按位运算符有区别吗?