Beckett 0.8 Features

Beckett has been out for a little over three weeks now. It's had a lot of good feedback from the Python and API community which has helped with bug fixing and figuring out what people want from an API Client library. I've been doing small patches to fix bugs, but I recently added a few big features that prompted a minor version update to 0.8.0, you can install it using pip: pip install beckett==0.8.0 Let's go over the bug fixes and features between 0.7…

Keep reading

Beckett: A Python HTTP API Client

I'm releasing a new open source project. Beckett is a convention-based framework for building Python interfaces around HTTP APIs. It's the first proper framework project that I've ever worked on, and the first project I've released in about two years. In that time I've learned a lot about what it takes to ship robust and sustainable code, so it's my best attempt yet at creating something useful. If you want you can dive straight in and read the documentation, but if you want to learn more about it then read…

Keep reading

What Even Is HATEOAS?

HATEOAS, or Hypermedia As The Engine Of Application State, is a fun acronym. It's a term used regularly in HTTP APIs, and it's actually a fundamental concept for the web. But like all API-related concepts, it's often poorly understood and implemented incorrectly. This post isn't going to focus on the right way to implement HATEOAS. Instead, let's look at the history of it and understand why it's useful, and why you should be using it in your API. We'll also talk about the term Hypermedia, which is integral to HATEOAS.…

Keep reading

The New Pokémon API

Over sixteen months after I promised to make the new Pokémon API, it has finally been finished! In December 2014 I released The Star Wars API and said that I would try to bring out a new version of PokéAPI with all the data from the computer games. I immediately lost interest as I started a new job, and about four months later I almost totally forgot about it. A Note On Open Source I want to quickly explain why it took so long to finish this project. Something I…

Keep reading

Designing Webhooks In HTTP APIs

Most services do way more than just CRUD. That is: Creating, Reading, Updating, and Deleting, objects in a database. Services often keep data about events that clients want to know about. In the past, API services have provided access to these events via a “polling” API - the client makes calls every few seconds asking for the status, and acts depending on the response. This is generally a wasteful and messy way of sharing that information. Some events may only happen once in a blue moon, so you have to…

Keep reading