HTCondor Python Bindings Tutorials

These tutorials are also available as a series of runnable Jupyter notebooks via Binder: Binder

If Binder is not working for some reason, you can also try running them using the instructions in the GitHub repository.

The HTCondor Python bindings provide a powerful mechanism to interact with HTCondor from a Python program. They utilize the same C++ libraries as HTCondor itself, meaning they have nearly the same behavior as the command line tools.

In these tutorials you will learn the basics of the Python bindings and how to use them. They are broken down into a few major sections:

  • Introductory Topics, quick overviews of the major features of the bindings.

  • Advanced Topics, in-depth examinations of the nooks and crannies of the system.

Introductory Tutorials

These tutorials cover the basics of the Python bindings and how to use them through a quick overview of the major components.

  1. Submitting and Managing Jobs - How to submit and manage HTCondor jobs from Python.

  2. ClassAds Introduction - The essentials of the ClassAd language.

  3. HTCondor Introduction - How to interact with the individual HTCondor daemons.

Advanced Tutorials

The advanced tutorials are in-depth looks at specific pieces of the Python bindings. Each is meant to be stand-alone and should only require knowledge from the introductory tutorials.

  1. Advanced Job Submission and Management - More details on submitting and managing jobs from Python.

  2. Advanced Schedd Interaction - Performing transactions in the schedd and querying history.

  3. Interacting with Daemons - Generic commands that work with any HTCondor daemon.

  4. Scalable Job Tracking - Techniques for keeping close track of many jobs without overloading the schedd.

  5. DAG Creation and Submission - Using htcondor.dags to create and submit a DAG.

  6. Personal Pools - Using htcondor.personal to create and manage a “personal” HTCondor pool.