Introducing Octokit.NET

github 0 comments suggest edit

Today on the GitHub blog, we announced the first release of Octokit.net.

Octokit is a family of client libraries for the GitHub API. Back in May, we released Octokit libraries for Ruby and Objective-C.

Today we’re releasing the third member of the Octokit family, Octokit.net, the GitHub API toolkit for .NET developers.

octokit-dotnet

GitHub provides a powerful set of tools for developers who build amazing software together. But these tools extend way beyond the website and Git clients.

The GitHub API provides a rich web based way to leverage GitHub.com within your own applications. The Octokit family of libraries makes it easy to call into the API. I can’t wait to see what you build with it.

The Project

Octokit.net is an open source project on GitHub so feel free to contribute with pull requests, issues, etc. You’ll notice that we call it a 0.1.0 release. As of today, it doesn’t implement every API endpoint that GitHub.com supports.

We wanted to make sure that it was in use by a real application so we focused on the endpoints that GitHub for Windows needs. If there’s an endpoint that is not implemented, please do log an issue. Or even better, send a pull request!

Our approach in implementing this library was to avoid being overly speculative. We tried to implement features as we needed them based on developing a real production application.

But now that it’s in the wild, we’re curious to see what other types of applications will need from the library.

Platform and Licensing Details

Octokit.net is licensed under the MIT license.

As of today, Octokit.net requires .NET 4.5. We also have a WinRT library for .NET 4.5 Core. This is because we build on top of HttpClient is not available in .NET 4.0.

There is a Portable HttpClient package that does work for .NET 4.0, but we won’t distribute it because it has platform limitations that are incompatible with our license.

I had hoped that its platform limitations would have been removed by now, but that sadly is not the case. If you’re wondering why that matters, read my post here.

However, if you check the repository out, you’ll notice that there’s a branch named haacked/portable-httpclient. If you only plan to deploy on Windows, you can build that branch yourself and make use of it.

Go Forth And Build!

I’ve had great fun working with my team at GitHub on Octokit.net the past few weeks. I hope you have fun building amazing software that extends GitHub in ways we never imagined. Enjoy!

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

7 responses

  1. Avatar for Amir Karimi
    Amir Karimi October 31st, 2013

    What about JVM? Do you have any plan for it?

  2. Avatar for Bill
    Bill November 3rd, 2013

    Does it work with GitHub for Enterprise instances?

  3. Avatar for haacked
    haacked November 4th, 2013

    Yes! When you instantiate the GitHubClient (or ObservableGitHubClient depending on your taste) pass in the base URL to your Enterprise instance.

  4. Avatar for Brenton House
    Brenton House November 5th, 2013

    Can you commit / push using this library?

  5. Avatar for haacked
    haacked November 5th, 2013

    Once we implement those endpoints, commit can work. To push, you'll need to use something like LibGit2Sharp. This library is focused on the GitHub API. It's not a general Git client.

  6. Avatar for Brenton House
    Brenton House November 5th, 2013

    cool. I am working on some outside-the-box ideas for github and just seeing what tools and libraries are available. thanks!!

  7. Avatar for nho biet yeu
    nho biet yeu November 12th, 2013

    Can you commit / push using this library? - tai game kim cuong