Your Python API calls could be 10x faster. Learn to switch from synchronous requests to a truly non-blocking asynchronous library.
#1about 2 minutes
Understanding the role of an application programming interface (API)
An API acts as a communication layer that allows different software applications, like a taxi app and Google Maps, to exchange data and functionality.
#2about 4 minutes
Deconstructing the components of a REST API URL
A REST API URL is broken down into the protocol, server host, resource path, and optional parameters for filtering data.
#3about 1 minute
Distinguishing between client libraries and API frameworks
Client libraries like `requests` are used to send HTTP requests to endpoints, while API frameworks like `Flask` provide tools to build your own API endpoints.
#4about 5 minutes
Making synchronous requests with the Python requests library
The `requests` library simplifies making HTTP GET and POST requests in Python with a clean, one-line syntax.
#5about 6 minutes
Using the pycurl library as a libcurl wrapper
The `pycurl` library provides a Python interface to `libcurl` for making API calls, offering more control but with a more complex syntax than `requests`.
#6about 5 minutes
Building a simple API with the Flask microframework
Flask allows developers to quickly define API routes and handle different HTTP methods using decorators on Python functions.
#7about 3 minutes
Structuring APIs with the Flask-RESTful extension
The Flask-RESTful extension adds a layer of abstraction for building REST APIs by organizing endpoints into resources, leading to cleaner code.
#8about 8 minutes
Demonstrating synchronous API calls with a live coding example
A synchronous script using the `requests` library fetches 100 URLs sequentially, highlighting the performance bottleneck of waiting for each request to complete.
#9about 3 minutes
Explaining multiprocessing and multithreading with analogies
Multiprocessing achieves true parallelism with multiple CPUs, while multithreading creates the illusion of parallelism on a single CPU, constrained by Python's GIL.
#10about 13 minutes
Achieving high performance with asyncio and aiohttp
Using `asyncio` with the `aiohttp` library enables non-blocking API calls, drastically reducing execution time by performing other tasks while waiting for I/O.
#11about 1 minute
Exploring resources for further API development learning
Cisco DevNet offers learning labs, code samples, and automation exchanges to help developers expand their Python and REST API skills.
#12about 7 minutes
Q&A on concurrency models and developer tools
The discussion covers when to choose different concurrency models, favorite VS Code plugins like Tabnine and Acrolinx, and best practices for error handling.
Related jobs
Jobs that call for the skills explored in this talk.
What Developers Are Building to Win $1 Million with ApifyApify started as a web scraping product, but quickly evolved into a full-blown platform and marketplace for developers to write code, and monetise it by creating Actors, tools that simplify the scraping process for others.
Running until the end of J...
Apify
How to Monetise Your Code and Win a Share of $1 Million with ApifyApify’s COO Ondra Urban joined the WeAreDevelopers LIVE show at the end of 2025 to talk about how developers can publish code on the marketplace and monetise it using the platform.
With Apify giving away $1 million in total prizes before the end of...