Skip to content

kbase/cdm-task-service-client

Repository files navigation

CDM Task Service / Event Processor client

This is currently a prototype

Client for the CDM Task Service (CTS). Also checks event processor status for CTS jobs.

Development

Adding code

  • In this alpha / prototype stage, we will be PRing (do not push directly) to main. In the future, once we want to deploy beyond CI, we will add a develop branch.
  • The PR creator merges the PR and deletes branches (after builds / tests / linters complete).

Code requirements for prototype code

  • Any code committed must at least have a test file that imports it and runs a noop test so that the code is shown with no coverage in the coverage statistics. This will make it clear what code needs tests when we move beyond the prototype stage.
  • Each module should have its own test file. Eventually these will be expanded into unit tests
  • Any code committed must have regular code and user documentation so that future devs converting the code to production can understand it.
  • When releasing, create a tag and release in Github in 0.X.X format.

Running tests

uv sync --dev  # only required on first run or when the uv.lock file changes
PYTHONPATH=./src uv run pytest test

Exit from prototype status

  • Coverage badge in Readme
  • Run through all code, refactor to production quality
  • Add tests where missing (which is a lot) and inspect current tests for completeness and quality
    • E.g. don't assume existing tests are any good

About

A python client for the CDM Task Service and CDM Events Processor

Resources

License

Stars

Watchers

Forks

Packages

No packages published