Informatics Matters Data Manager Job Decoder
A package that simplifies the decoding of encoded text strings and validation of Job Definitions and Manifests.
Given an encoded string the decode() method returns the decoded value or an error.
For example, given the following jinja2 encoded string '{{ foo }}, bar={{ bar }}, baz={{ baz }}' and variable map {'foo': 1, 'bar': 2, 'baz': 3} the decoder returns the string 'foo=1, bar=2, baz=3'.
The following encoding/decoding formats are supported: -
jinja2 (3.0)
The package also provides validate_job_schema() and validate_manifest_schema() functions, which can (should) be used to validate the Manifests and Job definitions against the built-in schemas.
If you have a Job Definition or Manifest file you can add a reference to the corresponding schema in this package to your file to help you identify schema violations prior to deployment. To do this you just need to add a line starting # yaml-language-server: at the top of your file. For example, you can link to the v2.3.0 Job Definition schema by adding the following line:
# yaml-language-server: $schema=https://raw.githubusercontent.com/InformaticsMatters/squonk2-data-manager-job-decoder/refs/tags/2.3.0/decoder/job-definition-schema.yaml
Installation (Python)
The Job decoder is published on PyPI and can be installed from there:
pip install im-data-manager-job-decoder
Once installed you can validate the definition (expected to be a dictionary formed from the definition YAML file) with:
>>> from decoder import decoder >>> error: Optional[str] = decoder.validate_manifest_schema(manifest) >>> error: Optional[str] = decoder.validate_job_schema(job_definition)
And you can decode encoded fields within the job definition. Here we’re decoding the job’s ‘command’ using a map of variables and their values:
>>> decoded, success = decoder.decode(definition['command'],
variables,
'command',
decoder.TextEncoding.JINJA2_3_0)
A method also exists to generate a Data Manger Job documentation URL for the supported repository types. For example, to get the auto-generated documentation URL for a job definition hosted in a GitHub repository you can do this:
>>> doc_url: str = decoder.get_job_doc_url("github",
collection
job_id,
job_definition,
manifest_url)
We support github and gitlab as repository types.
Get in touch
Report bugs, suggest features or view the source code on GitHub.
Release files for im-data-manager-job-decoder 2.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| im_data_manager_job_decoder-2.8.0.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| im_data_manager_job_decoder-2.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.5 kB
Release files / im_data_manager_job_decoder-2.8.0.tar.gz
| Download URL | im_data_manager_job_decoder-2.8.0.tar.gz |
|---|---|
| Size | 19.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82bbc1aaed140b9e3e96e8cbd9f7a277456500c399a0d866d6864432b74afdbe
|
|
BLAKE2b-256 checksum How to use checksums |
df3b6bb69d8ce5cddadee6323943d19732a1880a6744ec2ac8d59d74423bd7de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / im_data_manager_job_decoder-2.8.0-py3-none-any.whl
| Download URL | im_data_manager_job_decoder-2.8.0-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4157e49f01694849f6cfc14ba0e53f7edea254cd816bd8f33966f7ab75bc8607
|
|
BLAKE2b-256 checksum How to use checksums |
5f0cc3f6e30ea576d6410aa9fbffe71429b1574d6bfb003d8e98d24ffc7a5769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency log