The plugin software development kit (SDK) is provided to support simpler development of plugins to participate in cloud compute. A cloud compute plugin can be written in any language, and does not need to use the SDK to participate in a compute, however, the SDKs are designed to manage common workflows and standards. The plugin SDK defines data structures and common processes to improve the consistency of plugin development, while maintaining a high degree of flexibility. The SDK is supported in multiple languages with the immediate efforts focused on Go, Java, Python, and DotNet. 


Go SDK https://github.com/USACE/cc-go-sdk

Java SDK https://github.com/USACE/cc-java-sdk

DotNet SDK https://github.com/USACE/cc-dotnet-sdk

Python SDK - https://github.com/USACE/cc-py-sdk


Plugins can be created without the software development kit, however, it will require more effort to build a plugin without the sdk. The developer will need to be able to interpret the environment variables, and if manifests/payloads are used interpret the instructions in the manifest/payloads to perform the appropriate work. The SDKs are developed to simplify that workflow.