What is the future of this repository? #2495
Replies: 2 comments 3 replies
-
The GitHub REST API (sometimes called "V3") is very much still in development, and is being added to and improved every day. We definitely want to make an active push to have the fullest implementation possible, and at least from a GitHub perspective, we believe that the best way to do that is with auto-generation from our OpenAPI specifications. That would, I reckon, cover the models and the client code too. Of course, we want to involve the community in this work. Thank you so much for taking the time to write this, and for your contributions to the project - I really appreciate it. I'll let @nickfloyd answer your .NET specific questions, as he is much more of an expert on that than me! |
Beta Was this translation helpful? Give feedback.
-
Hey @JonruAlveus, Thank you for all of the questions. I'll do my best to answer them but know that our purpose here is to make the future of this thing what we want it to be, and what the community needs it to be - so when I say that I am grateful for your help in getting this SDK there and that we need folks like you - I cannot overstate that enough! Thank you! ❤️ Let's talk about Code generation, interpreters, and language interpolationAs you know there are loads of things that we can do here - especially given the power of .NET and reflection. Just two thoughts on the cautious side of things here:
So what might the future look like for code generation given the above statements? Let's have a look a what might be a really naive/potential roadmap (again we need the community's input and involvement here - which is why I am grateful for the questions):
After this point, things get really interesting with things like:
🤔 The above is just me thinking out loud so I know there are many more things we can do or more clarification we could sketch out on what's mentioned above - the point is that by doing this together we can make some seriously cool software that will help so many people! Let's talk about standardizationOh man, this is where my ❤️ is! I love patterns, code standards, and the like when they make sense. I ❤️ them for two reasons:
Standardizing the code here will be a critical path to getting us to the point of generating what needs to be generated. Let's talk about .NET supportThis is my line of thinking on this and I might be way off but I feel before we "sunset" or adopt newer versions we should have at least one version of generated models and API methods. Why is that important? I feel that it is because all current and even some future SDK users should get the most up to date implementations to get the most out of the SDK. This way we can move forward with progress in mind instead of dragging the past around while also honoring those who need those older versions of the SDK/.NET. What's the best way to do this? I don't know just yet - I feel like discussions like these will help get us there! Let's talk about 2-3 different .NET SDKsPractically we have 3 SDKs that currently serve our .NET community: We have a couple of other implementations but the above makes up the lion share of our user base. What I understand from the early days was that there was a need for both a task-based versus observable-based API. I asked @shiftkey about this (one of the earlier owners/maintainers) and he provided some excellent history on it:
Regardless of the original intent was, there are some things I feel like we need to dig into and ask the following:
The bottom line is that we should stop doing anything that no longer makes sense and do more of what does make sense 😉. Please let me know your thoughts on the above. I know it's a lot, but I just wanted to share what has been on my mind for a while now based on the questions. I hope we can continue the discussion and crank out some actionable things as a result! |
Beta Was this translation helpful? Give feedback.
-
This repository represents a dotnet wrapper around the GitHub api. I’m wondering what the future of this is? Given that nothing seems to be being added to the api, is this Repo in sunset mode where we make it work as well as possible or are we actively pushing for the fullest implementation possible? Basically I’m asking what the future of the v3 api is.
There has been mention of using the open api spec to build the models automatically, which sounds great. Would it be possible to build the code to call the endpoints automagically as well (even if we then wrap them up in clients etc. Could we also automagically create documentation and code comments from this?
Are we also looking at standardising all of the test methods? At the moment a lot of the integration tests don’t run at all. Would there be scope for GitHub to provide a number of accounts we could run the tests against (free, paid and enterprise) as we’re limited to running against free from what I can see.
What dotnet versions are we aiming to target going forward? I believe we should target at least the 4.6.1 or 2 to get access to the newer technologies. If we did that we could just target standard 2.0 as 461/2 is compatible. But, we don’t then get access to lots of the newer performance related improvements, so it’s a bit of a conundrum there.
Reactive Extensions feels like a bit of a pain, do we know how much it is used? Could it be something that is spun off into it’s own Repo or detached from the main code somehow? At the moment each route needs implementing in the main code and then in reactive. Also the latest reactive version targets .net 472.
Sorry for all the questions, I needed a place to vent!
Beta Was this translation helpful? Give feedback.
All reactions