CADC Vos class libraries
vos的Python项目详细描述
vos是一组易于访问vospace的python模块和脚本。
vos的默认安装是为访问vospace而调整的 由Canadian Advanced Network For Astronomical Research(canfar)提供
vospace是一种用于天文学的分布式云存储服务。
使用VOS有两种方法:
- 使用命令行脚本访问vospace:例如vcp
- 在python脚本中使用vos模块:import vos
对canfar vospace服务的身份验证是使用x509执行的 安全证书、头令牌或用户名/密码对。这个 身份验证系统由CADC组管理服务管理 (GMS)。
检索x509安全证书以用于vos工具 使用此包中包含的getcert脚本。
有关其他信息,请参见CANFAR documentation
系统要求
- 一个canfar vospace帐户(写访问需要,读访问可以 匿名)
- 保险丝或OSX-FUSE(参见附加文档,仅适用于 基于文件系统的访问,不用于命令行或编程)
- python2.6或更高版本
安装
vos通过PyPI/vos和pypi分发 是获得最新稳定版本的最直接方法:
pip install vos --upgrade--user
或者,您可以检索github分布 并使用
python setup.py install --user
教程
得到一个CANFAR account
安装VOS软件包。
使用^{tt5}检索x509/ssl证书$ 脚本作为cadcutils包的一部分安装,该包是通过VOS自动安装的。
示例用法。
命令行用法:
- vls -l vos:[列出一个vospace]
- vcp vos:jkavelaars/test.txt ./[将test.txt复制到 vospace中的本地目录]
- vchmod g+q vos:VOSPACE/foo/bar.txt 'GROUP1, GROUP2, GROUP3'授予三个用户组权限 写入此文件。
- vmkdir --help[获取命令行选项列表和 参数]
- vmkdir,vrm,vrmdir,vsyncvcat,vchmod 以及vln
- 使用pydoc vos.commands 可以找到vos命令行工具的完整列表
在python脚本中(下面的示例提供了 vospace容器)
#!python import vos client = vos.Client() client.listdir('vos:jkavelaars')
开发
建议使用虚拟环境(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=vos'
相同的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空间。测试假设vos和/或vofs包 安装。
激活venv并安装vos
$ source venv/bin/activate.csh $ pip install vos
运行测试:
$ ./test/scripts/vospace-all.tcsh