ATLAS 元数据接口
项目描述
有关更多信息,请参阅完整的 pyAMI 文档
pyAMI 4 是 AMI python 客户端的重大升级。命令行语法已合理化,帮助功能得到改进。pyAMI 在 ATLAS 软件版本中可用,并且还集中安装在 lxplus 上。pyAMI 可以独立安装在笔记本电脑上。下面给出了 linux 和 windows 的说明。
所有命令都只是ami的子命令。
列出匹配模式的 AOD 数据集:
ami list datasets --type AOD data11_7TeV
列出数据集中的文件:
ami list files -lhc dataset.name
列出来自周期 L1 和 L2 中的 AOD 的最新 NTUP_TAUMEDIUM 数据数据集(以及每个数据集的事件数),这些数据集包含在良好运行列表 (GRL) 中:
ami list data --project data11_7TeV --type NTUP_TAUMEDIUM --parent-type AOD \ --periods L1,L2 --stream physics_JetTauEtmiss --latest --fields events \ --grl mygrl.xml
列表在一个时期或多个时期内运行:
ami list runs B M
显示数据集元数据:
ami dataset info dataset.name
和查询项目、数据类型、数据集出处等 。pyAMI还提供了一个 API,允许您在自己的 Python 程序中执行所有相同的查询。
LXPLUS 和 CVMFS
pyAMI 集中安装在 CERN 的 LXPLUS 上。要开始简单地使用 pyAMI:
source /afs/cern.ch/atlas/software/tools/pyAMI/setup.sh
如果您还没有进行身份验证,那么请进行身份验证(见下文)。
pyAMI 也可通过 CVMFS 获得:
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase source $ATLAS_LOCAL_ROOT_BASE/user/atlasLocalSetup.sh localSetupPyAMI
注意:您可能需要获取特定版本的 pyAMI - SLC6 需要:
source /afs/cern.ch/atlas/software/tools/pyAMI/python2.6/setup.sh
安装
pyAMI 至少需要 Python 2.4。lxml是可选的,但对于 XSL 转换是必需的。必须安装 libxml2 和 libxslt(开发包)来构建 lxml。
自动安装
使用pip自动安装最新版本的 pyAMI :
pip install --user pyAMI
或使用easy_install:
easy_install --user pyAMI
省略--user用于系统范围的安装(需要 root 权限)。添加${HOME}/.local/bin到你的${PATH}如果使用--user并且它不存在(把它放在你的 .bashrc 中):
export PATH=${HOME}/.local/bin${PATH:+:$PATH}
要升级现有安装,请使用上述pip 或easy_install命令中的-U选项。
手动安装
在PyPI上获取最新的 tarball
解压并安装(适当替换 X):
tar -zxvf pyAMI-X.tar.gz cd pyAMI-X
pyAMI 使用分发来安装,但您可以通过设置环境变量恢复到基本的 distutils 安装:
export PYAMI_NO_DISTRIBUTE=1
使用分发的一个优点是所有依赖项都会自动为您下载和安装。如果至少使用 Python 2.6,要将 pyAMI 安装到您的主目录中:
python setup.py install --user
或使用较旧的 Python 版本:
python setup.py install --prefix=~/.local
如果${HOME}/.local/bin不存在,则将其添加到您的${PATH}中(将其放入您的 .bashrc 中):
export PATH=${HOME}/.local/bin${PATH:+:$PATH}
如果您无法满足对 lxml 的依赖(仅用于 XSL 转换),那么您可以在安装之前禁用此依赖:
export PYAMI_NO_LXML=1
在 MAC 上安装
测试系统:OXS 10.7.4、Python 2.7.1、GCC 4.2.1
只需按照手动安装的说明进行操作,但要更改 PATH 您应该这样做:
export PATH=/Users/yourName/Library/Python/2.7/bin${PATH:+:$PATH}
在 Windows 上安装
安装python,例如 Python 2.7.3
安装分发 (便于安装依赖)。对于 64 位机器可能会出现问题,请参阅bugs.python.org/issue6792。
下载点子。例如 pip-1.1.tar.gz。
安装点子。在 Windows 中打开“cmd”终端。假设您在 Python 下安装了 pip:
cd C:\Python27\pip-1.1 C:\Python27\python setup.py install
安装 pyAMI。pip.exe应该在C:\Python27\Scripts中:
cd C:\Python27\Scripts pip install pyAMI
您可能需要安装 lxml 以在不同的步骤中启用 XSLT - 有时 pip 似乎更喜欢不会构建的版本。如果不安装 lxml,pyAMI 仍然可以工作,但您将只能在命令行上获取 XML 输出。但是,如果您只想使用 pyAMI 的 API,您可以跳过此步骤。:
easy_install --allow-hosts=lxml.de,*.python.org lxml==2.2.8
现在,为了方便您使用 pyAMI,您必须在 Windows 环境中调整路径。如果您不知道如何执行此操作,请按照www.java.com/en/download/help/path.xml此处的说明进行操作。添加到路径:
PATH C:\PYTHON27;C:\PYTHON27\Scripts
最后向 Windows 解释可以执行 python 脚本。添加到PATHEXT变量:
PATHEXT .PY
然后将C:\Python27\Scripts中的文件ami 的名称更改为ami.py ,以便只需键入ami即可执行脚本 ami.py 。
验证
支持VOMS认证:
voms-proxy-init -voms atlas
另一种选择(如果 gLite 不可用)是将您的用户名和密码与每个 AMI 命令一起发送。您可以显式执行此操作,也可以通过运行以下命令设置加密配置文件:
ami auth
这将提示您输入您的 AMI 用户名和密码。您只需要这样做一次,因为您的凭据存储在 ~/.pyami/ami.cfg中供以后使用。如果您的凭据发生更改,只需再次运行ami auth。如果您想将 pyAMI 配置保存在~/.pyami以外的目录中,请设置环境变量PYAMI_CONFIG_DIR。
版本 4.1.2 (26/2/2013)
升级以分发 0.6.34
修复在 Windows 上的安装
现在可以使用 buildout 正确构建文档
使用 pyAMI 包安装 setup_pyAMI 以实现向后兼容性
版本 4.1.1 (13/2/2013)
升级到 buildout 2.0.0
修复 pyAMI.extern.ZSI 中的一些导入问题
版本 4.1.0 (4/2/2013)
ZSI 的修补版本现在包含在 pyAMI.extern 中,它消除了对 PyXML 的依赖。
argparse 现在包含在 pyAMI.extern 中。
最小的 pyAMI 安装(无 lxml)现在不依赖于任何外部非标准库包。
将 -F 和 –from-file 添加到“ami list datasets”命令中,其中模式被解释为将读取模式的文件名(每行一个,忽略空行或以 # 开头的行)。
添加了使用新的可选标志 -L 或 –literal-match 对“ami list datasets”执行文字匹配的选项。在这种情况下,模式被解释为文字字符串,结果必须完全匹配。文字匹配查询比模式匹配要快得多,并且可以大大加快您想要查询已知元素信息的命令的速度。此选项与上面提到的新的 –from-file 功能很好地配对,用于列出许多完整数据集名称的文件,这些名称应按字面意思解释,而不是模式。
现在可以正确打印 AMI 错误。
版本 4.0.4 (6/11/2012)
修复通配问题。如果图案最初在两端没有 %,则仅用 % 包围图案。(它需要更多的修复!)
版本 4.0.3 (11/10/2012)
跳过版本 4.0.2 以与 ATLAS SVN 标签版本同步
修复 setup.py 以实现 py2.4 兼容性
将 ami-status=VALID 设为默认值
修复通配问题。如果图案最初在两端没有 %,则仅用 % 包围图案。
版本 4.0.1 (20/9/2012)
这是 ATLAS 版本中的 pyAMI-04-00-01
API 中的细微语法更改
在文档中添加了 Windows 安装
API 上的扩展文档部分
版本 4.0.0a3 (17/4/2012)
使分发默认安装方法
在 pyAMI.backports 中包含修补的 urllib2 模块
版本 4.0.0a2 (10/4/2012)
新 pyAMI 的第二次预发布
支持通过代理 (BNL) 进行连接
其他小改进
版本 4.0.0a1 (28/3/2012)
新 pyAMI 的预发布
包重命名为 pyAMI
速度改进
VOMS 身份验证
修复了 ~/.pyami/ami.cfg 的权限
删除了中间 ami 包 一切现在都在 pyAMI 下
地图集版本如下:
0.4.0 版(2012 年 4 月 2 日)
现在与 Python 2.4 兼容
默认使用 distutils 安装,并使用分发安装可选
改进了数据集查询中的父类型功能
能够在“ami 列表数据”中指定良好的运行列表 (GRL),并且仅显示 GRL 中包含的运行
安装在 CERN 的 LXPLUS 上
重新实现 XSL 转换
版本 0.3.1 (10/1/2012)
修复数据库中大小/事件为 NULL 的文件列表中的错误
版本 0.3 (20/12/2011)
使用 –parent-type 选项添加按父类型查询数据集的功能
使用“ami 列表文件”列出数据集中的文件,并可选择显示总大小和事件
复制 AMI 架构的新架构模块
查询文件、项目、子项目、数据类型、子数据类型、标签、命名法、生产步骤
版本 0.2 (17/12/2011)
查询和显示附加数据集字段(即数据类型、事件数)
0.1 版(2011 年 1 月 12 日)
分叉的 pyAMI
主要代码重写
更好的命令行界面