DIDIS - Desy ITk Database Interaction Script
Project description
DIDIS - Desy ITk Database Interaction Script
DIDIS is a Python script meant to ease interaction with the ATLAS ITk Production Database (DB) for the detector (pre-)production efforts at DESY-HH.
Installation
Pip users can get the package by issuing
pip install didis
On some systems, use pip3 instead of pip.
Requirements
DIDIS is based on python3. You can install all requirements at once by issuing
pip install --user requests argh loguru itkdb
When you install via pip, it will be done for you during the intalltion.
Authentication
The DB required two user specific access codes to authenticate the user. For security reasons, these should not be stored on the disk. They are stored in the environment variables ITKDB_ACCESS_CODE1 and ITKDB_ACCESS_CODE2. In linux, they can be set for the current terminal session like this:
export ITKDB_ACCESS_CODE1=YourFirstPassword
export ITKDB_ACCESS_CODE2=YourSecondPassword
or for Windows
set ITKDB_ACCESS_CODE1=YourFirstPassword
set ITKDB_ACCESS_CODE2=YourSecondPassword
Check whether the authentication is working by calling
didis authenticate
Looking up components in the DB
With DIDIS, the ITk DB can be searched for all sorts of keys, not only for serial numbers. The tool "lookup" does exactly this and outputs the DB codes.
didis lookup -v 20USEBT1098765 --printJSON
looks up a Bus Tape with the ATLAS SN 20USEBT1098765 and prints the component info in human readable JSON. The subproject, component type and lookup key can also be changed using the optional arguments. Call the script with --help for more info. By passing the option --returnResults, the function returns a dictionary that either appears as the CLI output or can be used by the calling function.
Attaching a file to a component
To attach a file from your local file system to a component with ID CID, use
didis attach results.zip CID
The ID can be found using the lookup command.
Setting the production stage
Setting the production stage of a component with ATLAS serial number SN to STAGE is done via
didis stage SN -s STAGE
Leaving the -s argument just prints the current production stage without changing anything.
Get all available tests for a component type
Get all available tests for type "BT":
didis tets --componentType BT
Get a test skeleton JSON
Get a bare test JSON for a given test type:
didis skeleton --test BTELECTRICAL --componentType BT
Using --returnResults makes the skeleton available as a dict via the function return.
Upload a test result to the DB
The content field requires to be set to the ATLAS serial number, not to the component ID To upload a JSON test result to the DB, use
didis upload FILE.json
When not using the CLI, the function can also convert a dict directly.
Get all test results associated with a component
To get a dict with all test results for a given component id, use
didis testrunsDB_COMPONENT_ID
You can find the component id using the lookup command.
Usage in another Python script
To use the functions in the didis.py script, use the import
import didis.didis as dd
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.