Skip to main content

An Orthanc python plugin based framework to extend Orthanc's feature set with testable Python scripts

Project description

Orthanc Server Extensions

https://img.shields.io/pypi/v/orthanc-server-extensions.svg https://travis-ci.com/walkIT-nl/orthanc-server-extensions.svg?branch=main Documentation Status Build and test status

A simple Orthanc python plugin based framework to extend Orthanc’s feature set with testable python scripts. It focusses on integration and orchestration scripts, like study routing, event notifications and audit logging.

Features

  • run (integration) tests for your Orthanc python scripts

  • currently supports handling of change events

Why this library was written

Improve developer happiness: the development roundtrip is just a little bit long to build, run and test a function, even with Docker. With this library, you can start from the unit tests, move to integration tests, and then deploy the result in the Docker image.

Enable testability: the Orthanc API is provided as a module which is not easy to mock in a clean way. Orthanc server extensions provide a few simple abstractions that keep functions clean and independently testable.

Httpx was chosen as a base library to access the Orthanc API, rather than orthanc.RestApi*, because it is well known, developer friendly, and external API access avoids deadlocks in the Python plugin (before this was solved in 3.1).

Running

docker-compose up --build should greet you with ‘orthanc started event handled!’ message and provides the first boilerplate to get started.

Credits

This project would obviously not exist without Orthanc, its documentation and its community.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

3.2.8 (2021-09-18)

  • get_metadata_of_first_instance_of_series() now propagates http errors if /instances call fails.

3.2.7 (2021-09-17)

  • Small resilience fix for httpx (more conservative timeouts)

  • get_metadata_of_first_instance_of_series() will now return None for unknown keys

3.2.6 (2021-09-16)

  • Replace requests/responses library by httpx/respx

  • Add support for anonymization and re-identification using study merge

  • Many smaller and bigger refactorings

  • Dependency updates

3.1.1 (2021-02-11)

  • Add DICOM auto forwarding sample with retries

3.1.0 (2021-02-07)

  • Improved logging, aligned log format and levels with Orthanc.

0.1.0 (2021-01-09)

  • First release on PyPI.

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

orthanc-server-extensions-3.2.12.tar.gz (31.5 kB view hashes)

Uploaded Source

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