Our Move to Generated SDKs #71
Replies: 7 comments 9 replies
-
❓ I've updated the post above with our very short survey. If you get a moment, please help us decide what to prioritize next! |
Beta Was this translation helpful? Give feedback.
-
Sounds like a good approach. Is there an implied change of focus from the graphql back to the rest API? I'd wondered the same when a new feature was added to rest API but not graphql. I'm pretty happy with either as long as the SDK is simple to use |
Beta Was this translation helpful? Give feedback.
-
Someone in the go slack channel pointed out that the generated go sdk is using the Since Historically, the |
Beta Was this translation helpful? Give feedback.
-
The generated go import aliases make reading the godoc much harder, basically forcing you to hover every link to see where a type is coming from. see: https://pkg.go.dev/github.com/octokit/[email protected]/pkg/github#pkg-types |
Beta Was this translation helpful? Give feedback.
-
Just a personal take here, but I don't think I would use this. Let's start with the package names
which have obvious problems. Then the code is just... bad? Could you tell apart Finally, the doc here is clearly meant for another language
There is no |
Beta Was this translation helpful? Give feedback.
-
Is there going to be support for Rust? |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Taking a Leap: Introducing Our Generated Go and .NET SDKs
We are excited to announce a significant shift in our approach to software development kits (SDKs) at GitHub. Moving away from the static landscape of the traditional Octokit, we are now alpha shipping two newly generated SDKs using Kiota; one published in Go and the other in .NET. This marks a pivotal moment in our journey towards more dynamic, flexible, and user-friendly tools for our community.
ℹ️ Note: This does not mean we are bring anything to an end of life status just yet. There are millions of implementations/dependents on Octokit js/rb/.net/.etc and we are still working on and supporting those SDKs. This effort is meant to bring us all together to build the next iteration of Octokit.
Why Move Away from our traditional Octokit SDKs?
Octokit has been an integral part of GitHub's ecosystem, offering a robust interface for interacting with GitHub's APIs. However, as technology evolves, so should 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 leveraging this generative approach we will be able to provide near instant updates to models and API while also moving into new areas such as SDK workflows that act as a single point to holistically address more complex use cases.
Why Kiota?
We tried dozens of generative approaches, even writing our own, but one framework, Kiota, written by our friends at Microsoft, always bubbled to the top. Kiota is a command line tool that takes OpenAPI definitions and creates clean SDKs based on those definitions. This enables generation of well structured clients for a given API while allowing hand curation of the more esoteric needs of the SDK users.
Choosing Kiota as our generation engine aligns 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, ensuring that our tools are not only powerful but also intuitive and developer-friendly.
The progress that has been made so far would not be possible without the amazing Kiota team and all of the help they have given our Octokit community.
First things: The Power of Go and .NET SDKs
The introduction of the Go and .NET SDKs represent 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.
Not Just Code Generation - A Vision for the Future
We believe that the true value of these SDKs lies not in the code they generate but in the possibilities they unlock. While the models that are generated are important and having near 100% REST API coverage will remove usability roadblocks, those accomplishments were never the endgame.
Our goal is to build SDKs that get the software out of the way of the developer so that we can all focus on user needs. By generating what’s known, we will focus on the more interesting question of what’s needed next.
These tools are a gateway to a new era of innovation and creativity with GitHub. The intent is to build SDKs that are designed to empower developers to build more robust, efficient, and creative solutions on top of the GitHub platform.
Join Us in Shaping the Future
As we alpha ship these SDKs, we want and need you as the community to join us in this exciting journey. Your feedback, contributions, and insights are invaluable in shaping the future of GitHub integration.
This is not just a transition; it's a transformation. A transformation towards a more inclusive, dynamic, and innovative future with GitHub. Let's build this future together.
Stay tuned for more updates, and please reach out with your thoughts and contributions. Welcome to a new chapter in Octokit's story!
Your GitHub SDK team♥️
❓ We have a short (1 page, 5-question) survey here we would love for people to take! Your perspective helps us decide what to prioritize next.
Beta Was this translation helpful? Give feedback.
All reactions