Package: pandamonium
PandamoniumCause panda and rucio don't work too goodThis tells you if your jobs are done. And stuff like that.No login requiredColors! (when you want them)Gets input / output dataset namesWorks with piping, other unix nice thingsLike badges? We have the best badges:InstallationInstall from PyPIYou can installpandamoniumfrom PyPIinto any Python
environment by runningpython -m pip install pandamoniumInstall oldschool wayIf you can't getpipworking you can just put the scripts you need
in your path. Note that this isdeprecated(but still works for
now).Clone the repositorygit clone git@github.com:dguest/pandamonium.gitAdd the directory to yourPATH.Maybe with something like the following in your.bashrc# Add pandamonium to PATH
if [ -d "your/path/stuff/goes/here/pandamonium" ]; then
    PATH="your/path/stuff/goes/here/pandamonium${PATH:+:${PATH}}"
    export PATH
fiUseRunpandamonpandamon [user.<your user name>]See the output of your current GRID jobs withpretty colors!You can add more of the task name if you want, and use wildcards
(*). Wildcards are automatically appended to names that don't end in*or/.Without any arguments the task name defaults touser.$RUCIO_ACCOUNT*.Also trypandamon -h.Other tricksGet input/output dataset names> pandamon -s IN <task name>
> pandamon -s OUT <task name>Filter by user nameThis is useful if you're running with group privileges. Set the
environment variableGRID_USER_NAMEto your full user name (the one
that shows up on the top of the bigpanda page). Or specify one with--user.Find input datasets for jobs in thebrokenstateYou can do more useful stuff by piping through standard Unix utilities>pandamonyour.tasks>tasks.txt
>cattasks.txt|awk'$1 ~ /broken/ {print $2}'|pandamon--sINor (faster)pandamonyour.tasks-ibroken-sINFilter by taskid rangeUse to only display jobs in a specific range.
This is useful for when you inevitably submit jobs with wrong parameters that
you don't want to retry.pandamon-r12000-12100Read the job user metadataNow panda supports auserMetadata.jsonfile for additional information in your
job.
Print it withpandamonyour.tasks-mSeethis JIRA ticketwhere they plan to make it faster.Additional Technical InformationDeprecation WarningYou can currently just clone the repository and havemasterwork the
same way asv0.1on LXPLUS or ATLAS Connect, but this
will be deprecated in the future in favor of installingpandamoniumas a Python library.The motivation for this is thatpandamoniumdoes have hard requirements on other libraries, and it is better to
fully contain them through the installation of the library through
PyPI.If you really need the old behaviour forever, you can always usegit clone git@github.com:dguest/pandamonium.git --branch v0.1Install development release from TestPyPIYou can install the latest development release ofpandamoniumfrom TestPyPIinto any Python virtual
environment by runningpython -m pip install --extra-index-url https://test.pypi.org/simple/ --pre pandamoniumNote:This adds TestPyPI asan additional package index to searchwhen installingpandamoniumspecifically.
PyPI will still be the default package indexpipwill attempt to install from
for all dependencies.Notes if working on a remote serverIf you are working from a remote server where you do not have control over your
Python runtimes (e.g. LXPLUS, ALTAS Connect login nodes) it is recommended that
you bootstrapvirtualenvand a default Python virtual environment by adding
the following to your.bashrcor.bashrc_user# Ensure local virtualenv setup
if [ ! -f "${HOME}/opt/venv/bin/virtualenv" ]; then
    curl -sL --location --output /tmp/virtualenv.pyz https://bootstrap.pypa.io/virtualenv.pyz
    python /tmp/virtualenv.pyz ~/opt/venv # Change this to python3 if available
    ~/opt/venv/bin/pip install --upgrade pip
    ~/opt/venv/bin/pip install virtualenv
    mkdir -p ~/bin  # Ensure exists if new machine
    ln -s ~/opt/venv/bin/virtualenv ~/bin/virtualenv
fi

# default venv from `virtualenv "${HOME}/.venvs/base"`
if [ -d "${HOME}/.venvs/base" ]; then
    source "${HOME}/.venvs/base/bin/activate"
fiAfter that source your.profileor.bash_profileand then if you want to
create a default Python virtual environment runvirtualenv "${HOME}/.venvs/base"You will now be dropped into a virtual environment namedbaseeach time you login.
The virtual environment is not special in anyway, so you should treat it as you
would any other.Testimonials"I like colors" -- Chase Schimmin"I found a bug" -- Danny Antrim (Fixed! Thanks Danny!)"I tried to use it but it's python 3" -- also Chase(I added Python 2 support, butpandamoniumis also Python 3 compliant)"I made a merge request. It was approved!" -- Alex"It needs to use" -- Matthew Feickert(Hey man, whatever floats your boat!)I'll add other stuff too, if you want.