Skip to content

CoffeaTeam/coffea-casa

Repository files navigation

Coffea-casa - A Prototype of an Analysis Facility for Columnar Object Framework For Effective Analysis

Actions Status Documentation Status Code style: black PyPI version PyPI platforms GitHub Discussion GitHub issues GitHub pull requests

About Coffea-casa

The prototype analysis facility provides services for “low latency columnar analysis”, enabling rapid processing of data in a column-wise fashion. These services, based on Dask and Jupyter notebooks, aim to dramatically lower time for analysis and provide an easily-scalable and user-friendly computational environment that will simplify, facilitate, and accelerate the delivery of HEP results. The facility is built on top of a Kubernetes cluster and integrates dedicated resources with resources allocated via fairshare through the local HTCondor system. In addition to the user-facing interfaces such as Dask, the facility also manages access control through single-sign-on and authentication & authorization for data access. The notebooks in this repository and Coffea-casa tutorials include simple HEP analysis examples, managed interactively in a Jupyter notebook and scheduled on Dask workers and accessing both public and protected data.

Analysis repositories using coffea-casa

  • Commissioning studies in the BTV POG based on (custom) nanoAOD samples
  • SUEP Coffea Dask - Repository for SUEP using fastjet with awkward input from PFnano nanoAOD samples
  • Tools for running the CMS Higgs to Two Photons Analysis on NanoAOD

Docker images used for Coffea-casa

Latest DockerHub Images:

Image Description Size Pulls Version
coffea-casa Dask scheduler image for coffea-casa hub
coffea-casa-analysis Dask worker image for coffea-casa hub

Helm charts, coffea_casa package and Docker image tags

This repository uses GitHub Actions to build images, run tests, and push charts, python package to PyPI and images to DockerHub (Docker images, charts and python package tags are syncronised with Coffea-casa releases).

  1. Tags pushed to GitHub trigger Docker image published with corresponding tags on Dockerhub: coffeateam/coffea-casa:x.x.x and coffeateam/coffea-casa-analysis:x.x.x. Tags pushed to GitHub as well trigger Docker image published with corresponding tags on Openscience Harbor Registry: hub.opensciencegrid.org/coffea-casa:x.x.x and hub.opensciencegrid.org/coffea-casa-analysis:x.x.x. The latest tag in both cases also corresponds to the most recent GitHub tag.

  2. Tags pushed to GitHub trigger Helm charts releases with corresponding Helm Chart tag and with charts published to https://coffeateam.github.io/coffea-casa.

  3. Tags pushed to GitHub will push coffea_casa python package to PyPI (same as a tag).

How to tag

A list of "must" steps to do before to tag:

  1. Tag Docker images coffeateam/coffea-casa:x.x.x and coffeateam/coffea-casa-analysis:x.x.x changing $TAG value in https://github.com/CoffeaTeam/coffea-casa/blob/master/docker/coffea-casa/Dockerfile and https://github.com/CoffeaTeam/coffea-casa/blob/master/docker/coffea-casa-analysis/Dockerfile

  2. Tag Helm Chart's changing $appVersion value in Charts.yaml file in see https://github.com/CoffeaTeam/coffea-casa/blob/master/charts/coffea-casa/Chart.yaml

  3. Add new tag: https://github.com/CoffeaTeam/coffea-casa/releases

Please note we are using date-based versioning for Coffea-casa Docker images, Helm charts and Pypi module.

References

  • Coffea-casa: an analysis facility prototype, M. Adamec, G. Attebury, K. Bloom, B. Bockelman, C. Lundstedt, O. Shadura and J. Thiltges, arXiv 2103.01871 (02 Mar 2021).
  • PyHEP 2020 coffea-casa proceedings: DOI
  • The PyHEP 2020 introductory Youtube video is here.

Contact us

Interested? You can reach us in Github Discussions or in IRIS-HEP Slack channel.