SDK Basics
Software Developer Kits (SDKs) are virtual “toolboxes” used to integrate or build applications. SDKs include ready-to-use resources for developers such as pre-made functions to help write, test and fix code, manuals and examples to explain usage, and pre-written code libraries.
image source: https://www.geeksforgeeks.org/what-is-software-development-kit-sdk/
If you do not yet have experience using Open OnDemand to launch Jupyter Notebooks, please first review the documentation High Performance Compute Portal. Be sure to follow all instructions, including Setting Up Conda Environments
Flywheel’s SDK is a set of pre-written functions and documentation allowing users to easily interact with the Flywheel database. Flywheel supports code integration in both Python and Matlab. Check out Flywheel’s useful examples to get started here .
Common Use Cases
Why use the Flywheel SDK?… Using the Flywheel SDK, users can programmatically interact with Flywheel data and metadata, launch jobs, add or delete files, build and run reports, and more! While many basic functions are also available programmatically using Flywheel.io’s CLI, the Python / Matlab SDK gives users greater flexibility and control.
Here are a couple common use cases:
Retrieve, Edit, or Add Metadata
Rename Acquisitions (e.g. to reproin naming convention)
Run Analysis Gears in Batches
Download Analysis Output Files
Read Data Directly to Memory from Flywheel for Computations (e.g. nilearn plotting)
Flywheel Python SDK
If you are interested in using the Flywheel Python SDK you need to first set up a conda environment and install the flywheel python package OR access an already built environment on RC nodes using incenv or flywheel conda environments.
Follow our example tutorial using the Flywheel SDK to Flyhweel Software Developer Kit (SDK) Basics and Helpful Hints.
Once you have a basic understanding of Flywheel’s Python SDK, get started on some of the example use cases with our code examples on github here.