跳转到主要内容

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

列出来自AOD的L1和L2期间的最新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 权限)。如果您使用 --user 并且它尚未添加到您的 ${PATH} 中,请将 ${HOME}/.local/bin 添加到您的 ${PATH} 中(将其放入 .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 使用 distribute 进行安装,但您可以通过设置环境变量回退到基本的 distutils 安装

export PYAMI_NO_DISTRIBUTE=1

使用 distribute 的一个优点是所有依赖项都会自动为您下载和安装。如果您使用的是至少 Python 2.6

python setup.py install --user

或较旧的 Python 版本

python setup.py install --prefix=~/.local

如果它尚未添加到您的 ${PATH} 中,请将 ${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 上安装

  1. 安装 Python,例如 Python 2.7.3

  2. 安装 distribute(用于轻松安装依赖项)。对于 64 位机器,可能会有问题,请参阅 bugs.python.org/issue6792

  3. 下载 pip。例如 pip-1.1.tar.gz

  4. 安装 pip。在 Windows 中打开“cmd”终端。假设您在 Python 下安装了 pip

    cd C:\Python27\pip-1.1
    C:\Python27\python setup.py install
  5. 安装 pyAMI。 pip.exe 应该位于 C:\Python27\Scripts

    cd C:\Python27\Scripts
    pip install pyAMI
  6. 您可能需要在不同的步骤中安装 lxml 以启用 XSLT - 有时 pip 似乎更喜欢一个无法构建的版本。如果您不安装 lxml,pyAMI 仍然可以工作,但您只能在命令行中获取 XML 输出。然而,如果您只想使用 pyAMI 的 API,您可以跳过此步骤。

    easy_install --allow-hosts=lxml.de,*.python.org lxml==2.2.8
  7. 现在,为了方便地使用 pyAMI,您必须调整 Windows 环境中的路径。如果您不知道如何做到这一点,请遵循以下说明 www.java.com/en/download/help/path.xml。添加到路径

    PATH    C:\PYTHON27;C:\PYTHON27\Scripts
  8. 最后,向Windows解释Python脚本可以被执行。将 PATHEXT 变量添加到其中。

    PATHEXT .PY
  9. 然后将 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)

  • pyAMI.extern中现在包含ZSI的修补版本,该版本移除了对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)

  • 修复globbing问题。仅在模式原始两端没有 % 的情况下才用 % 包围模式。(需要更多的修复!)

版本 4.0.3 (11/10/2012)

  • 跳过版本 4.0.2 以与ATLAS SVN标签版本同步

  • 修复setup.py以实现py2.4兼容性

  • 将ami-status=VALID设置为默认值

  • 修复globbing问题。仅在模式原始两端没有 % 的情况下才用 % 包围模式。

版本 4.0.1 (20/9/2012)

  • 这是ATLAS发布中的pyAMI-04-00-01

  • API中的少量语法更改

  • 将Windows安装添加到文档中

  • 扩展API文档部分

版本 4.0.0a3 (17/4/2012)

  • 将distribute作为默认安装方法

  • 在pyAMI.backports中包含修补的urllib2模块

版本 4.0.0a2 (10/4/2012)

  • 新pyAMI的第二预发布版

  • 支持通过代理连接(BNL)

  • 其他小改进

版本 4.0.0a1(2012年3月28日)

  • 新pyAMI的预发布版

  • 软件包重命名为pyAMI

  • 速度提升

  • VOMS认证

  • 修复了~/.pyami/ami.cfg的权限

  • 移除了中间的ami软件包,现在所有内容都在pyAMI下

atlasmeta版本以下

版本 0.4.0(2012年2月4日)

  • 现在与Python 2.4兼容

  • 默认使用distutils安装,使用distribute安装是可选的

  • 改进了数据集查询中的父类型功能

  • 在“ami list data”中指定良好运行列表(GRL),仅显示GRL中包含的运行

  • 已安装在CERN的LXPLUS上

  • 重新实现了XSL转换

版本 0.3.1(2012年1月10日)

  • 修复了文件列表中的错误,其中数据库中的大小/事件为NULL

版本 0.3(2011年12月20日)

  • 添加了通过父类型查询数据集的能力,使用–parent-type选项

  • 使用“ami list files”列出数据集中的文件,可选地显示总大小和事件

  • 新的模式模块复制AMI模式

  • 查询文件、项目、子项目、数据类型、子数据类型、标签、命名法、生产步骤

版本 0.2(2011年12月17日)

  • 查询和显示数据集的附加字段(例如,数据类型、事件数量)

版本 0.1(2011年12月1日)

  • 分支pyAMI

  • 主要代码重写

  • 更好的命令行界面

支持者