Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Python Web Development with Sanic
  • Table Of Contents Toc
  • Feedback & Rating feedback
Python Web Development with Sanic

Python Web Development with Sanic

By : Stephen Sadowski, Adam Hopkins
4.2 (6)
close
close
Python Web Development with Sanic

Python Web Development with Sanic

4.2 (6)
By: Stephen Sadowski, Adam Hopkins

Overview of this book

Today’s developers need something more powerful and customizable when it comes to web app development. They require effective tools to build something unique to meet their specific needs, and not simply glue a bunch of things together built by others. This is where Sanic comes into the picture. Built to be unopinionated and scalable, Sanic is a next-generation Python framework and server tuned for high performance. This Sanic guide starts by helping you understand Sanic’s purpose, significance, and use cases. You’ll learn how to spot different issues when building web applications, and how to choose, create, and adapt the right solution to meet your requirements. As you progress, you’ll understand how to use listeners, middleware, and background tasks to customize your application. The book will also take you through real-world examples, so you will walk away with practical knowledge and not just code snippets. By the end of this web development book, you’ll have gained the knowledge you need to design, build, and deploy high-performance, scalable, and maintainable web applications with the Sanic framework.
Table of Contents (16 chapters)
close
close
1
Part 1:Getting Started with Sanic
4
Part 2:Hands-On Sanic
11
Part 3:Putting It All together

API versioning

Back in Chapter 2, Organizing a Project, we discussed how you could implement API versioning using blueprints. If you recall, it was simply a matter of adding a keyword value to the blueprint definition.

Given the following blueprint definition, we get the URL path /v1/characters:

bp = Blueprint("characters", version=1, url_prefix="/characters")
@bp.get("")
async def get_all_characters(...):
    ...

That version keyword argument is available at the route level as well. If the version is defined in multiple places (for example, on the route and also the blueprint), priority is given to the narrowest scope. Let's look at an example of different places where the version can be defined, and see what the result is. We will define it at the route level, the blueprint level, and the blueprint group level:

bp = Blueprint("Characters")
bp_v2 = Blueprint("CharactersV2", version=2)
group = Blueprint...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY