✨ 🚀 ✨

This is a presentation I gave at a local python user group in Nashville, PyNash. The topic of the night was to pick a lesser-known or up and coming library that many folks may not be aware of yet and give a 10 minute overview.

At the time, api star was only at version 0.1 and 0.2 was around the corner. I figured I would go ahead and include the video, the slides, and some overview all in one blog post.

My github repository contains both the slides and the example code from this post.


Unfortunately, I feel it’s impossible to give a full overview of API Star in only 10 minutes. I didn’t realize this until the last minute, so I added a slide mentioning a lot of the things that not only weren’t covered, but are not even developed yet. Like I mentioned earlier, when I gave this presentation, API Star was very very young and new features were being added weekly if not daily. So we’ll start from the top.

A smart web api framework designed for python 3.

API Star was developed by Tom Christie. If you’re not familiar with that name, you’re likely very familiar with his recent project that’s currently being used world wide.

drf

Django Rest Framework is a very powerful and flexible toolkit for web api’s. It let’s you explore you API’s through a web interface. It serializes your Django models to convert them to a JSON format and it’s customizeable in so many other ways.

Why do we even need API Star?

Well, DRF is coupled very tightly with Django. Probably always will be. Also Django is, and probably always will be, a synchronous framework. Tom felt that it was warranted that a new project be started to take advantage of the new and exciting things that python 3 and the overall web is bringing our way.

gif

Right now, there are only two layouts. minimal and standard. Ultimately, they both produce the same boilerplate code but structured differently. Minimal has a very flat structure, and Standard has a more scaleable approach.

New and exciting things in python land

gif

With very recent releases pythonista’s have gained a few new capabilities and API Star aim’s to take advantage of all of them! Just to mention a few:

  • Annotating parameters and return values via the typing module
  • Building complex schema’s to use as those annotations
  • F strings! (I’ve read the articles. Use at your own discretion, I just think they’re neat though I’m not sure why we needed yet another text formatter. (yatf))

and like I said there’s way more on the way!

  • Async support
    • Tom specifically mentions that he’s talking about utilizing asyncio.
    • BUT has also put supporting running API Star behind an ASGI bus on the todo list.
    • Including websocket support too.
  • API Mocking
    • The ability to run a mock api based purely on the function annotation.
    • Start testing an api you haven’t finished yet!
  • Django ORM Backend - This was actually just released! API Star now supports either one of the following:
    • Django ORM + Migration framework
    • SQLAlchemy

Thanks!

It was a blast putting this presentation on, here’s a few more links to help get you bootstrapped with API Star:

✨ 🚀 ✨