Skip to content

octue/octue-sdk-python

Repository files navigation

PyPI version Release codecov Documentation Status pre-commit black

Octue Python SDK Purple Fruit Snake

The python SDK for running Octue data services, digital twins, and applications - get faster data groundwork so you have more time for the science!

Read the docs here.

Uses our twined library for data validation.

Installation and usage

To install, run one of:

pip install octue
poetry add octue

The command line interface (CLI) can then be accessed via:

octue --help
Usage: octue [OPTIONS] COMMAND [ARGS]...

  The CLI for the Octue SDK. Use it to start an Octue data service or digital
  twin locally or run an analysis on one locally.

  Read more in the docs: https://octue-python-sdk.readthedocs.io/en/latest/

Options:
  --id UUID                       UUID of the analysis being undertaken. None
                                  (for local use) will cause a unique ID to be
                                  generated.
  --logger-uri TEXT               Stream logs to a websocket at the given URI.
  --log-level [debug|info|warning|error]
                                  Log level used for the analysis.  [default:
                                  info]
  --force-reset / --no-force-reset
                                  Forces a reset of analysis cache and outputs
                                  [For future use, currently not implemented]
                                  [default: force-reset]
  --version                       Show the version and exit.
  -h, --help                      Show this message and exit.

Commands:
  deploy  Deploy a python app to the cloud as an Octue service or digital...
  run     Run an analysis on the given input data using an Octue service...
  start   Start an Octue service or digital twin locally as a child so it...

Deprecated code

When code is deprecated, it will still work but a deprecation warning will be issued with a suggestion on how to update it. After an adjustment period, deprecations will be removed from the codebase according to the code removal schedule. This constitutes a breaking change.

Developer notes

Installation

We use Poetry as our package manager. For development, run the following from the repository root, which will editably install the package:

poetry install --all-extras

Then run the tests to check everything's working.

Testing

These environment variables need to be set to run the tests:

  • GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service/account/file.json
  • TEST_PROJECT_NAME=<name-of-google-cloud-project-to-run-pub-sub-tests-on>

Then, from the repository root, run

python3 -m unittest

or

tox

Contributing

Take a look at our contributing page.