This week’s highlighted open-source project of the week is GitHub’s OpenAPI description for its REST API. The company open sourced the description earlier this week.
The OpenAPI specification is a standard for describing the interface of HTTP APIs, allowing both humans and machines to understand what an API does without having to read the documentation or have knowledge of the implementation, GitHub explained.
The description contains over 600 operations that are exposed in GitHub’s API. The description can be used to generate mock servers, test suites, and bindings for languages that aren’t supported by Octokit, which is a collection of official clients for the API.
It is currently provided in two formats: bundled and dereferenced. The bundled version of the description is the preferred one because it uses OpenAPI components for reuse and readability. The dereferenced version is intended only for tooling that has poor support for inline references to components, GitHub explained.
The description is currently in beta. The company plans on doing quarterly releases of it for GitHub Enterprise Server and GitHub Private Instances, and more frequent updates for GitHub.com.
“We expect to make the description even more complete and accurate as we go forward and as OpenAPI becomes central to our developer experience — internally and externally,” Marc-Andre Giroux, senior platform engineer at GitHub, wrote in a post.