Skip to main content

Open Targets Task ExcutoR

Project description

Otter — Open Targets' Task ExecutoR

pypi docs status build license

Otter

Otter is the task execution framework used in the Open Targets data Pipeline.

It provides an easy to use API to implement generic tasks that are then used by describing the flow in a YAML configuration file.

Take a look at a Simple example.

Features

This is a list of what you get for free by using Otter:

  • Parallel execution: Tasks are run in parallel, and Otter will take care of the dependency planning.
  • Async supported: Tasks can be either sync or async.
  • Declarative configuration: Steps are described in a YAML file, as list of tasks with different specifications. The task themselves are implemented in Python enabling a lot of flexibility.
  • Logging: Otter uses the loguru library for logging. It handles all the logging related the task flow, and also logs into the manifest (see next item).
  • Manifest: Otter manages a manifest file that describes a pipeline run. It is used to both for debugging and for tracking the provenance of the data. A series of simple JQ queries can be used to extract information from it (see Useful JQ queries).
  • Error management: Otter will stop the execution of the pipeline if a task fails, and will log the error in the manifest.
  • Scratchpad: A place to store variables that can be overwritten into the configuration file (something like a very simple templating engine), enabling easy parametrization of runs, and passing of data between tasks.
  • Utilities: Otter provides interfaces to use Google Cloud Storage and other remote storage services, and a bunch of utilities to help you write tasks.

Documentation

See it in here.

Development

[!IMPORTANT] Remember to run make dev before starting development. This will set up a very simple git hook that does a few checks before committing.

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

opentargets_otter-26.6.0.tar.gz (224.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opentargets_otter-26.6.0-py3-none-any.whl (67.8 kB view details)

Uploaded Python 3

File details

Details for the file opentargets_otter-26.6.0.tar.gz.

File metadata

  • Download URL: opentargets_otter-26.6.0.tar.gz
  • Upload date:
  • Size: 224.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opentargets_otter-26.6.0.tar.gz
Algorithm Hash digest
SHA256 85614e2138447db06f236cd0c73581cde9d3755c25c7cb9155e510ad3124abdd
MD5 5a5ca0d8a38f754fa14cde9503cd9690
BLAKE2b-256 27329fde2a735f912ac12fd163c96b1e374d7b8d87ee80324042bcc0b0ea35e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentargets_otter-26.6.0.tar.gz:

Publisher: publish-prod.yaml on opentargets/otter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentargets_otter-26.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentargets_otter-26.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae2b13e0818e974f805194cdeffbcdd139b358a4bc656af2485d78de6dfd1423
MD5 f24056d2bfd53a4599bac2c07f351e4e
BLAKE2b-256 477c3955a178ebcc5df1f42383b429306bb3d95f9d7f53fe17fc6d9cf4bb58d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentargets_otter-26.6.0-py3-none-any.whl:

Publisher: publish-prod.yaml on opentargets/otter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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