Skip to main content

Pure Python Chirp client for HTCondor

Project description

HTChirp

Pure Python Chirp client for HTCondor

Installation

The latest release is available on PyPI:

pip install htchirp

However, if HTCondor job sandbox space is a premium, most of HTChirp's functionality can be accessed from htchirp.py as a standalone script or module.

Example Usage

There are multiple ways to invoke HTChirp inside a HTCondor job environment.

Using HTChirp inside Python

First, you can use an HTChirp object as part of a larger Python workflow connect to the Chirp server and issue commands:

Using context management (recommended):

>>> import htchirp
>>> with htchirp.HTChirp() as chirp:
>>>     chirp.ulog('Logging use of Chirp in Python')
>>>     me = chirp.whoami()
>>>     chirp.set_job_attr('UsingPythonChirp', 'True')
>>>     using_chirp = chirp.get_job_attr('UsingPythonChirp')
>>> me
'CONDOR'
>>> using_chirp
'true'

Using manual connection and disconnection (not recommended):

>>> import htchirp
>>> chirp = htchirp.HTChirp()
>>> chirp.connect()
>>> chirp.write('Important output 1\n', '/tmp/my-job-output', 'cwa')
19
>>> chirp.write('Important output 2\n', '/tmp/my-job-output', 'cwa')
19
>>> chirp.read('/tmp/my-job-output', 1024)
'Important output 1\nImportant output 2\n'
>>> chirp.fetch('/tmp/my-job-output', './my-job-output')
38
>>> chirp.disconnect()

For more information on the available commands, see help(htchirp.HTChirp).

Using HTChirp on the command line

Second, you can use HTChirp on the command line with the same commands and arguments supported by the condor_chirp utility, either by including htchirp.py with your job or by installing the HTChirp package inside a virtual environment inside your job.

Using htchirp.py from within the working directory:

$ python htchirp.py ulog "Logging use of Chirp in Python"
$ python htchirp.py whoami
CONDOR
$ python htchirp.py set_job_attr UsingPythonChirp True
$ python htchirp.py get_job_attr UsingPythonChirp
True

Using condor_htchirp after installing HTChirp in an active virtual environment:

$ condor_htchirp ulog "Logging use of Chirp in Python"
$ condor_htchirp whoami
CONDOR
$ condor_htchirp set_job_attr UsingPythonChirp True
$ condor_htchirp get_job_attr UsingPythonChirp
True

Using python -m htchirp after installing HTChirp in an active virtual environment:

$ python -m htchirp ulog "Logging use of Chirp in Python"
$ python -m htchirp whoami
CONDOR
$ python -m htchirp set_job_attr UsingPythonChirp True
$ python -m htchirp get_job_attr UsingPythonChirp
True

For a list of commands and arguments, pass --help to your preferred command line invokation, or see the condor_chirp man page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htchirp-3.0.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

htchirp-3.0-py2.py3-none-any.whl (18.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file htchirp-3.0.tar.gz.

File metadata

  • Download URL: htchirp-3.0.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for htchirp-3.0.tar.gz
Algorithm Hash digest
SHA256 e036cbf772c6597e47ddd1bdb4efcd088b64dbd76f6ae4cfe92ba4bad8eb23af
MD5 71ea71795bae85f464758c8555c5a475
BLAKE2b-256 5e0e83fa678ba98d3f323d5cbc567c990ec1d2bf3f8a14de34b4c1cf6c80d298

See more details on using hashes here.

File details

Details for the file htchirp-3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: htchirp-3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for htchirp-3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5aefcc784a4037490fc74e879756e16b849e6e9658cbb0c3d20edffa65019e0d
MD5 8114d3a93be1cb2021a4a1fb32adc070
BLAKE2b-256 ff8922b880adae452b82a759658f736cb0527ee16201d50ba960f742e199885e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page