KM3NeT database library
Project description
km3db is a lightweight library to access the web API of the KM3NeT Oracle database (https://km3netdbweb.in2p3.fr). It requires Python 2.7 or later and comes with a small set of command line utilities which can be used in shell scripts.
Installation
Tagged releases are available on the Python Package Index repository (https://pypi.org) and can easily be installed with the pip command:
pip install km3db
Python Classes
The three important classes are DBManager, StreamDS and CLBMap.
DBManager
The DBManager class manages the authentication and cookie management and low level access to the database:
>>> import km3db >>> db = km3db.DBManager()
It tries to figure out the easiest way to authenticate with the database gateway. If launched on the Lyon CC, GitLab CI or the KM3NeT JupyterHub service, it will automatically use the corresponding session cookies. If not operating on whitelisted hosts, the environment variables KM3NET_DB_USERNAME and KM3NET_DB_PASSWORD will be used. If those are not set, it will look for a cookie in ~/.km3netdb_cookie. As a last resort, it will prompt the user to enter the username and password manually. After a successful authentication, a cookie file with the session cookie will be stored in the above mentioned file for future authentications.
StreamDS
The StreamDS class is specifically designed to access the Stream Data Service entrypoint of the database, which is meant to provide large datasets, potentially exceeding multiples of GB:
>>> import km3db >>> sds = km3db.StreamDS()
CLBMap
The CLBMap is a powerful helper class which makes it easy to query detector configurations and CLB:
>>> import km3db >>> clbmap = km3db.CLBMap("D_ORCA003") >>> clb = clbmap.omkeys[(1, 13)] >>> clb Clbmap(det_oid='D_ORCA003', du=1, floor=13, serial_number=374, upi='3.4.3.2/V2-2-1/2.374', dom_id=808949902) >>> clb.dom_id 808949902 >>> clb.upi '3.4.3.2/V2-2-1/2.374'
Command Line Utilities
The following command line utilities will be accessible after installing km3db.
detx
The detx command can be used to retrieve calibration information from the database formatted as DETX, which is its main offline representation format:
$ detx -h Retrieves DETX files from the database. Usage: detx [options] DET_ID detx DET_ID RUN detx (-h | --help) detx --version Options: DET_ID The detector ID (e.g. 49) RUN The run ID. -c CALIBR_ID Geometrical calibration ID (eg. A01466417) -t T0_SET Time calibration ID (eg. A01466431) -o OUT Output folder or filename. -h --help Show this screen. Example: detx 49 8220 # retrieve the calibrated DETX for run 8220 of ORCA6
streamds
The streamds command provides access to the “Stream Data Service” which was designed to deal with large datasets potentially exceeding multiple GB in size. The help output explains all the available functionality of the tool:
$ streamds -h Access the KM3NeT StreamDS DataBase service. Usage: streamds streamds list streamds info STREAM streamds get [-f FORMAT] STREAM [PARAMETERS...] streamds (-h | --help) streamds --version Options: STREAM Name of the stream. PARAMETERS List of parameters separated by space (e.g. detid=29). -f FORMAT Usually 'txt' for ASCII or 'text' for UTF-8 [default: txt]. -x Do not verify the SSL certificate. -h --help Show this screen.
For example, a list of available detectors:
> streamds get detectors OID SERIALNUMBER LOCATIONID CITY FIRSTRUN LASTRUN D_DU1CPPM 2 A00070004 Marseille 2 10 A00350276 3 A00070003 Napoli 0 0 D_DU2NAPO 5 A00070003 Napoli 98 428 D_TESTDET 6 A00070002 Fisciano 3 35 D_ARCA001 7 A00073795 Italy 1 2763 FR_INFRAS 8 A00073796 France 1600 3202 D_DU003NA 9 A00070003 Napoli 1 242 D_DU004NA 12 A00070003 Napoli 243 342 D_DU001MA 13 A00070004 Marseille 1 1922 D_ARCA003 14 A00073795 Italy 1 6465
km3db
The km3db command gives direct access to database URLs and is mainly a debugging tool:
$ km3db -h Command line access to the KM3NeT DB web API. Usage: km3db URL km3db (-h | --help) km3db --version Options: URL The URL, starting from the database website's root. -h --help Show this screen. Example: km3db "streamds/runs.txt?detid=D_ARCA003"
The URL parameter is simply the string which comes right after https://km3netdbweb.in2p3.fr/.
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.
Source Distribution
Built Distribution
File details
Details for the file km3db-0.4.1.tar.gz
.
File metadata
- Download URL: km3db-0.4.1.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6e34e71d22bd5801d9ebaf3daea80f261abb494cd975a61c61fe48aefe46d70 |
|
MD5 | 85cbb58b7de9c274693c48b868738863 |
|
BLAKE2b-256 | fd42653a76bc676309445002f196e122d1662bf19cffec8b6ff85b04c5745b7b |
File details
Details for the file km3db-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: km3db-0.4.1-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0521225a547709213558941e4201010ee1669a77e06933c5de785a30af8c4da |
|
MD5 | 05091cb85db30e78d06afdc3d4466f7c |
|
BLAKE2b-256 | 12d8ebf2ce5581f0be05f984a136f3273803b2f02344f58a38af3b2b6de322b8 |