Embracing the Future: GitHub's New Go and .NET SDKs
Published: 2024-01-05 01:25:45

GitHub is thrilled to unveil a groundbreaking shift in our approach to software development kits (SDKs). We are moving away from the conventional Octokit and introducing two new generated SDKs using Kiota: one in Go and the other in .NET. This transformative step marks a pivotal moment in our journey towards more dynamic, flexible, and user-friendly tools for our community.

Why the Shift from Traditional Octokit SDKs?

Octokit has been an essential component of GitHub’s ecosystem, providing a robust interface for interacting with GitHub’s APIs. However, as technology evolves, so must our tools. The new SDKs are not just about generating code; they are about ushering in a new era of building and integrating with GitHub. By embracing this generative approach, we can provide immediate updates to models and APIs while also introducing new features to the SDK landscape.

Introducing Kiota: A Game-Changer

Developed by Microsoft, Kiota is a command line tool that takes OpenAPI definitions and creates clean SDKs based on those definitions. This enables the generation of well-structured clients for a given API while allowing hand curation of the more esoteric needs of the SDK users.

After exploring various generative approaches, we chose Kiota as our generation engine due to its alignment with our goal to embrace modern, efficient, and versatile technology. Kiota’s ability to generate comprehensive, idiomatic SDKs from GitHub’s OpenAPI specification perfectly complements our vision for the future of GitHub integration. This ensures that our tools are not only powerful but also intuitive and developer-friendly.

Acknowledging the Progress

The progress made so far would not have been possible without the incredible Kiota team and all the support they have provided to our Octokit community ♥️.

The Power of Go and .NET SDKs

The introduction of the Go and .NET SDKs signifies our commitment to a broader and more diverse developer community. Go, known for its efficiency and scalability, and .NET recognized for its versatility in various applications, are perfect candidates for the next generation of GitHub SDKs.

Beyond Code Generation: A Vision for the Future

We firmly believe that the true value of these SDKs lies not just in the code they generate but in the possibilities they unlock. While the generated models are important and achieving near 100% REST API coverage will remove usability roadblocks, those accomplishments were never the endgame.

Our goal is to build SDKs that remove barriers for developers so that we can all focus on user needs. By generating what is known, we will focus on the more intriguing question of what’s needed next.

These tools serve as a gateway to a new era of innovation and creativity with GitHub. The intention is to build SDKs designed to empower developers to create more robust, efficient, and creative solutions on top of the GitHub platform.

Join Us in Shaping the Future

As we release these SDKs, we eagerly anticipate the community joining us in this exhilarating journey. Your feedback, contributions, and insights are invaluable in shaping the future of GitHub integration.

Together, let’s embrace this leap forward as we embark on an exciting new chapter with our Go and .NET SDKs. The future of GitHub integration has never looked more promising.