The return of the Python LORIS API client #1206
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some time ago, I made #1148 which drafts an architecture to call the LORIS API inside LORIS-MRI. However, I closed this PR as the scripts that effectively call the LORIS API will live on the BIC server and not inside of LORIS-MRI. Nevertheless, I think having a library to call the LORIS API in LORIS-MRI is a good thing. It can be used to test the API (which notably came in handy with the API DICOM upload PR), can be re-used by other projects in their scripts, and generally provide a code template to call the LORIS API.
There are a few improvements in this PR compared to the old PR. First, it is updated to fit within the new LORIS-MRI architecture improvements. Second, it uses two very popular Python libraries to improve the code robustness and ergonomy:
pydantic
: A library to define, parse and serialize models, which is useful to structure the API results.requests
: A library to make HTTP requests, with better ergonomics than the Python standard library.