Introducing UAGithubEngine
Thinking of building Mac or iOS apps for the Github API? I have something that may interest you. Introducing UAGithubEngine, an almost-complete Objective-C wrapper round the Github API.
UAGithubEngine is compatible with Mac OS X 10.5 and above and iOS 4.0 and above, and implements the complete API, with the exception of the network graph and Gist sections. Manage users, watch repositories, file issues and more, all with a robust, clear and simple implementation built specifically for Apple platforms.
How easy is it to get started? Exceedingly.
Just add the engine files to your project, instantiate an instance of the engine class, and away you go! Now you’re free to enjoy the ease of accessing the Github API using native objects like NSDictionarys, NSDates and NSStrings, with familiar Cocoa design patterns you know and love.
UAGithubEngine *engine = [[UAGithubEngine alloc] initWithUsername:@"auser" apiKey:@"akey" delegate:self];
[engine getUser:@"owainhunt"];
[engine addComment:@"Awesomeness." toIssue:@"owainhunt/UAGithubEngine/1"];
That’s all there is to it.
Want a closer look? Grab the source code from Github and give it a whirl.
The structure - and code - of UAGithubEngine is heavily influenced by Matt Gemmell’s MGTwitterEngine.
Update: As Github have deprecated passing username and API key as parameters to the API URL, UAGithubEngine has now been updated to use basic HTTP authentication as recommended. As a bonus, this means you can now authenticate using your password instead of your API key.