Dependencies¶
DAS is written in python and relies on standard python modules. The design back-end is MongoDB, which provides schema-less storage and a generic query language. Below you can see current set of dependencies for DAS within the CMS environment:
The wmcore and wmcore-webtools modules are a CMS general purpose web framework based on CherryPy. It is possible to run DAS both within this framework and in an entirely standalone version using only CherryPy.
Below we list all dependencies clarifying their role for DAS
- python, DAS is written in python (2.6), see [Python];
- cherrypy, a generic python web framework, see [CPF];
- yui the Yahoo YUI Library for building richly interactive web applications, see [YUI];
- elementtree and its cElementTree counterpart are used as generic XML parser in DAS, both implementations are now part of python (2.5 and above);
- MongoDB, a document-oriented database, the DAS DB back-ends, see [Mongodb] and [MongodbOverview];
- pymongo, a MongoDB python driver, see [Pymongo];
- yaml, a human-readable data serialization format (and superset of JSON), a python YAML library is used for DAS maps and server configurations, see [YAML], [PyYAML];
- Cheetah, a python template framework, used for all DAS web templates, see [Cheetah];
- sphinx, a python documentation library servers all DAS documentation, see [Sphinx];
- ipython, an interactive python shell (optional, used in some admin tools), see [IPython];
- cjson, a C library providing a faster JSON decoder/encoder for python (optional), see [CJSON];
- yajl, a C library providing a faster JSON decoder/encoder for python (optional), see [YAJL];
- pycurl and curl, python module for libcurl library, see [PyCurl], [CURL];
- PLY, python Lexer and Yacc, see [PLY];