Skip to Main Content
Data Visualization with Python and JavaScript, 2nd Edition
book

Data Visualization with Python and JavaScript, 2nd Edition

by Kyran Dale
December 2022
Beginner to intermediate content levelBeginner to intermediate
566 pages
12h 58m
English
O'Reilly Media, Inc.
Book available
Content preview from Data Visualization with Python and JavaScript, 2nd Edition

Chapter 13. RESTful Data with Flask

In “A Simple Data API with Flask”, we saw how to build a very simple data API with Flask and Dataset. For many simple data visualizations this kind of quick and dirty API is fine, but as the data demands become more advanced it helps to have an API that respects some conventions for retrieval and, sometimes, creation, update and delete.1 In “Using Python to Consume Data from a Web API”, we covered the types of web API and why RESTful2 APIs are acquiring a well-deserved prominence. In this chapter, we’ll see how easy it is to combine a few Flask libraries into a flexible RESTful API.

The Tools for a RESTful Job

As seen in “A Simple Data API with Flask”, the basics of a data API are pretty simple. It needs a server, which accepts HTTP requests such as GET to retrieve or more advanced verbs like POST (to add) or DELETE. These requests are on routes like api/winners that are then dealt with by functions provided. In these functions data is retrieved from a backend database, possibly filtered using data parameters (e.g., strings like ?category=comic&name=Groucho appended to the URL calls). This data then needs to be returned or serialized in some requested format, pretty much always JSON-based. For this round trip of data, the Flask/Python ecosystem provides some perfect libraries:

  • Flask to do the server work

  • Flask SQLAlchemy, a Flask extension that integrates SQLAlchemy, our preferred Python SQL library with object-relational mapper (ORM)

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Interactive Data Visualization with Python - Second Edition

Interactive Data Visualization with Python - Second Edition

Abha Belorkar, Sharath Chandra Guntuku, Shubhangi Hora, Anshu Kumar

Publisher Resources

ISBN: 9781098111861Errata Page