Skip to main content

Python wrapper to interface with LocalDB and Production DB for common tasks for pixel modules.

Project description

Module QC Database Tools v2.2.7

The package to regisiter ITkPixV1.1 modules, and generate YARR configs from ITk production database using itkdb API.

Set-Up and First-time Installation

A minimum of python version 3.7+ is required.

Virtual Python Environment

Python virtual environment only needs to be created once and used throughout all module QC tools.

Creating a python virtual environment the standard way used the python version available on the operating system. For CentOS 7 this is version 3.6. If using CentOS 7, you can either install python 3.8 following these instructions (needs sudo), or use anaconda or miniconda (see below).

After installing python 3.8, create the virtual environment outside any git repo. <venv> can be substituted with any descriptive name:

$ python3 -m venv <venv>
$ source <venv>/bin/activate

For future use, activate the virtual environment like instructed below, or add this line to your ~/.bashrc:

$ source <venv>/bin/activate

Anaconda or Miniconda

Alternatively, anaconda or miniconda also provides a higher python version and do not require python installation on the Linux system. They can also be installed following the instructions in the links.

For future use, activate the virtual environment like instructed below, or add this line to your ~/.bashrc:

$ conda activate

Install

$ python -m pip install module-qc-database-tools

Environment Variables

If not already set elsewhere (e.g. ~/.bashrc), copy .env.template to .env and update the values of the shell variables. Essentially, the following variables regarding the production database should be available, shown below as an example of environmental variables in ~/.bashrc:

export INSTITUTION="LBNL_PIXEL_MODULES"
export ITKDB_ACCESS_CODE1="accesscode1"
export ITKDB_ACCESS_CODE2="accesscode2"

Module registration

Under construction...

Generate YARR configuration

This script has been tested on python 3.7+.

To generate YARR configuration for a given module, run generateYARRConfig or mqdbt generate-yarr-config:

$ generateYARRConfig -sn [ATLAS SN] -o [outdir]
$ mqdbt generate-yarr-config -sn [ATLAS SN] -o [outdir]

Parameters:
-sn, --sn, required=True: ATLAS serial number of the module
-ch, --chipTemplate, default="configs/YARR/chip_template.json": provide the path of a chip config template to generate the new chip configs from
-o, --outdir, path to output directory config folder will be placed in. If not supplied, the config files will be pushed into mongoDB if connection is set up.
-f, --fast, fast generation of configs files without any linebreaks.
--noeos, Do not use eos token.
--reverse, Use reversed order of chip ID, e.g. for old L0 linear triplets.

For example, to generate the YARR configs for the module 20UPGR91301046 with all power configs:

$ generateYARRConfig -sn 20UPGR91301046 -o ~/module_data/.
$ mqdbt generate-yarr-config -sn 20UPGR91301046 -o ~/module_data/.

The time needed to generate warm and cold L2 configs for a quad module is about 4 seconds.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

module_qc_database_tools-2.2.7.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

module_qc_database_tools-2.2.7-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file module_qc_database_tools-2.2.7.tar.gz.

File metadata

File hashes

Hashes for module_qc_database_tools-2.2.7.tar.gz
Algorithm Hash digest
SHA256 5b256d3f70c0001ece5cb3da89b73cd908737485d4b35b5b8ef9666bf5e1dbb6
MD5 86557e0c0d3cf4d35093afff4f977cba
BLAKE2b-256 77c5f55bfe253000f930c184f2820e7a0caa9368f204476dea9cf6e5fdd5880d

See more details on using hashes here.

File details

Details for the file module_qc_database_tools-2.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for module_qc_database_tools-2.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fefed7ac947fd14d02e40b757e2773ef5aaf00643e87f0f4b60f6e5dbcc74a36
MD5 8f9a87d4993f49d3b239fc209754ef94
BLAKE2b-256 f68ed4fe7f7a4d8af3864295f77f57c26bce98e217b13420be83f5fe599a4dc1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page