{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "pycharm": {
          "name": "#%% md\n"
        }
      },
      "source": [
        "# HTCondor Python Bindings Tutorials\n",
        "\n",
        "These tutorials are also available as a series of runnable Jupyter notebooks via Binder:\n",
        "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/htcondor/htcondor-python-bindings-tutorials/master?urlpath=lab/tree/index.ipynb)\n",
        "\n",
        "If Binder is not working for some reason, you can also try running them using the instructions\n",
        "[in the GitHub repository](https://github.com/htcondor/htcondor-python-bindings-tutorials).\n",
        "\n",
        "The HTCondor Python bindings provide a powerful mechanism to interact with HTCondor from a Python program.\n",
        "They utilize the same C++ libraries as HTCondor itself, meaning they have nearly the same behavior as the command line tools.\n",
        "\n",
        "In these tutorials you will learn the basics of the Python bindings and how to use them.\n",
        "They are broken down into a few major sections:\n",
        "\n",
        "- **Introductory Topics**, quick overviews of the major features of the bindings.\n",
        "- **Advanced Topics**, in-depth examinations of the nooks and crannies of the system.\n",
        "\n",
        "## Introductory Tutorials\n",
        "\n",
        "These tutorials cover the basics of the Python bindings and how to use them\n",
        "through a quick overview of the major components.\n",
        "\n",
        "1.  [Submitting and Managing Jobs](Submitting-and-Managing-Jobs.ipynb) - How to submit and manage HTCondor jobs from Python.\n",
        "1.  [ClassAds Introduction](ClassAds-Introduction.ipynb) - The essentials of the ClassAd language.\n",
        "1.  [HTCondor Introduction](HTCondor-Introduction.ipynb) - How to interact with the individual HTCondor daemons.\n",
        "\n",
        "## Advanced Tutorials\n",
        "\n",
        "The advanced tutorials are in-depth looks at specific pieces of the Python bindings.\n",
        "Each is meant to be stand-alone and should only require knowledge from the introductory tutorials.\n",
        "\n",
        "1.  [Advanced Job Submission and Management](Advanced-Job-Submission-And-Management.ipynb) - More details on submitting and managing jobs from Python.\n",
        "1.  [Advanced Schedd Interaction](Advanced-Schedd-Interactions.ipynb) - Performing transactions in the schedd and querying history.\n",
        "1.  [Interacting with Daemons](Interacting-With-Daemons.ipynb) - Generic commands that work with any HTCondor daemon.\n",
        "1.  [Scalable Job Tracking](Scalable-Job-Tracking.ipynb) - Techniques for keeping close track of many jobs without overloading the schedd.\n",
        "1.  [DAG Creation and Submission](DAG-Creation-And-Submission.ipynb) - Using `htcondor.dags` to create and submit a DAG.\n",
        "1.  [Personal Pools](Personal-Pools.ipynb) - Using `htcondor.personal` to create and manage a \"personal\" HTCondor pool.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "nbsphinx-toctree": {
          "hidden": true,
          "maxdepth": 2
        }
      },
      "source": [
        "1.  [Submitting and Managing Jobs](Submitting-and-Managing-Jobs.ipynb)\n",
        "1.  [ClassAds Introduction](ClassAds-Introduction.ipynb)\n",
        "1.  [HTCondor Introduction](HTCondor-Introduction.ipynb)\n",
        "1.  [Advanced Job Submission and Management](Advanced-Job-Submission-And-Management.ipynb)\n",
        "1.  [Advanced Schedd Interaction](Advanced-Schedd-Interactions.ipynb)\n",
        "1.  [Interacting with Daemons](Interacting-With-Daemons.ipynb)\n",
        "1.  [Scalable Job Tracking](Scalable-Job-Tracking.ipynb)\n",
        "1.  [DAG Creation and Submission](DAG-Creation-And-Submission.ipynb)\n",
        "1.  [Personal Pools](Personal-Pools.ipynb)"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3 (ipykernel)",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.9.6"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}
