Skip to main content

Job execution utilities

Project description

Informatics Matters Data Manager Job Utilities

PyPI package (latest) Build Publish

A Python 2/3 package that simplifies the generation of events and cost lines written to a Squonk2 Job stdout stream.

The following utilities are available: -

  • DmLog.emit_event()

  • DmLog.emit_cost()

A number of miscellaneous utilities are also included. These have been extracted form the squonk2 virtual-screening utils.py module and moved here into utils.py.

Installation (Python)

The Job utilities are published on PyPI and can be installed from there:

pip install im-data-manager-job-utilities

Once installed you can use the available classes:

>>> from dm_job_utilities.dm_log import DmLog
>>> DmLog.emit_event('Hello World!')
2022-02-03T16:39:27+00:00 # INFO -EVENT- Hello World!
>>> from decimal import Decimal
>>> DmLog.emit_cost(Decimal('5.7'))
2022-02-03T16:40:16+00:00 # INFO -COST- 5.7 1

Costs are total by default but can be issued as an incremental value:

>>> DmLog.emit_cost(Decimal('0.5'), incremental=True)
2022-02-03T16:40:16+00:00 # INFO -COST- +0.5 2

The final value on each cost line is a unique sequence number. This value is typically an integer that increments with each line. It is required and is used by the Data Manager to avoid duplicating costs.

The Data Manager uses the python-dateutil package to parse dates and times from the generated log lines. The package is extremely tolerant of many formats but if you are in control of the string, the preferred format would be to use a classic UTC ISO string like %Y-%m-%dT%H:%M:%S%z so that the date and time is written as:

2022-03-20T10:49:41+00:00

Get in touch

  • Report bugs, suggest features or view the source code on GitHub.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

im_data_manager_job_utilities-1.2.0-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file im_data_manager_job_utilities-1.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for im_data_manager_job_utilities-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c319b2932866c8f7466214766183dc0f9034499c02641bf5a7343e67ba82bb13
MD5 0f16d12d4533140f5c5cb27b0e556cfa
BLAKE2b-256 d642d711358ccad57b27392fb5275545ee2935d3a1d27e8d2aa36b91650d54b8

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