@@ -3330,18 +3330,25 @@ <h2>API resources</h2>
33303330</ li >
33313331</ ul >
33323332< h2 > APIs learning checklist</ h2 >
3333- < p > < i class ="fa fa-check-square-o "> </ i >
3334- Learn the API concepts of machine-to-machine communication with JSON and XML,
3335- endpoints and webhooks.</ p >
3336- < p > < i class ="fa fa-check-square-o "> </ i >
3337- Integrate an API such as Twilio or Stripe into your web application. Read the
3338- < a href ="/api-integration.html "> API integration</ a > section for more information.</ p >
3339- < p > < i class ="fa fa-check-square-o "> </ i >
3340- Use a framework to create an API for your own application. </ p >
3341- < p > < i class ="fa fa-check-square-o "> </ i >
3342- Expose your web application's API so other applications can consume data you
3343- want to share.</ p >
3344- < h3 > What's next after learning about APIs?</ h3 >
3333+ < ol >
3334+ < li >
3335+ < p > Learn the API concepts of machine-to-machine communication with JSON and
3336+ XML, endpoints and webhooks.</ p >
3337+ </ li >
3338+ < li >
3339+ < p > Integrate an API such as Twilio or Stripe into your web application.
3340+ Read the < a href ="/api-integration.html "> API integration</ a > section for more
3341+ information.</ p >
3342+ </ li >
3343+ < li >
3344+ < p > Use a framework to create an API for your own application. Learn about
3345+ web API frameworks on the < a href ="/api-creation.html "> API creation</ a > page.</ p >
3346+ </ li >
3347+ < li >
3348+ < p > Expose your web application's API so other applications can consume data
3349+ you want to share.</ p >
3350+ </ li >
3351+ </ ol >
33453352 < h1 > API Integration</ h1 >
33463353< p > The majority of production Python web applications rely on several
33473354externally hosted application programming interfaces (APIs). APIs are also
@@ -3429,27 +3436,33 @@ <h2>API Integration Resources</h2>
34293436</ li >
34303437</ ul >
34313438< h2 > API integration learning checklist</ h2 >
3432- < p > < i class ="fa fa-check-square-o "> </ i >
3433- Pick an API known for top notch documentation. Here's a list of
3434- < a href ="https://medium.com/she-hacks-hacker-academy/4d3c43be9386 "> ten APIs that are a good starting point for beginners</ a > .</ p >
3435- < p > < i class ="fa fa-check-square-o "> </ i >
3436- Read the API documentation for your chosen API. Figure out a simple use case
3437- for how your application could be improved by using that API.</ p >
3438- < p > < i class ="fa fa-check-square-o "> </ i >
3439- Before you start writing any code, play around with the API through the
3440- commandline with < a href ="http://curl.haxx.se/ "> curl</ a > or in the browser with
3441- < a href ="http://www.getpostman.com/ "> Postman</ a > . This exercise will help you get a
3442- better understanding of API authentication and the data required for requests
3443- and responses.</ p >
3444- < p > < i class ="fa fa-check-square-o "> </ i >
3445- Evaluate whether to use a helper library or work with
3446- < a href ="http://docs.python-requests.org/en/latest/ "> Requests</ a > . Helper libraries are
3447- usually easier to get started with while Requests gives you more control over
3448- the HTTP calls.</ p >
3449- < p > < i class ="fa fa-check-square-o "> </ i >
3450- Move your API calls into a < a href ="/task-queues.html "> task queue</ a > so they do not
3451- block the HTTP request-response cycle for your web application.</ p >
3452- < h3 > What's next after integrating APIs into your app?</ h3 >
3439+ < ol >
3440+ < li >
3441+ < p > Pick an API known for top notch documentation. Here's a list of
3442+ < a href ="https://medium.com/she-hacks-hacker-academy/4d3c43be9386 "> ten APIs that are a good starting point for beginners</ a > .</ p >
3443+ </ li >
3444+ < li >
3445+ < p > Read the API documentation for your chosen API. Figure out a simple
3446+ use case for how your application could be improved by using that API.</ p >
3447+ </ li >
3448+ < li >
3449+ < p > Before you start writing any code, play around with the API through the
3450+ commandline with < a href ="http://curl.haxx.se/ "> curl</ a > or in the browser with
3451+ < a href ="http://www.getpostman.com/ "> Postman</ a > . This exercise will help you get
3452+ a better understanding of API authentication and the data required for
3453+ requests and responses.</ p >
3454+ </ li >
3455+ < li >
3456+ < p > Evaluate whether to use a helper library or work with
3457+ < a href ="http://docs.python-requests.org/en/latest/ "> Requests</ a > . Helper libraries
3458+ are usually easier to get started with while Requests gives you more
3459+ control over the HTTP calls.</ p >
3460+ </ li >
3461+ < li >
3462+ < p > Move your API calls into a < a href ="/task-queues.html "> task queue</ a > so they do not
3463+ block the HTTP request-response cycle for your web application.</ p >
3464+ </ li >
3465+ </ ol >
34533466 < h1 > API Creation</ h1 >
34543467< p > Creating and exposing APIs allows your web application to interact with other
34553468applications through machine-to-machine communication.</ p >
@@ -3629,26 +3642,34 @@ <h2>API creation resources</h2>
36293642</ li >
36303643</ ul >
36313644< h2 > API creation learning checklist</ h2 >
3632- < p > < i class ="fa fa-check-square-o "> </ i >
3633- Pick an API framework appropriate for your web framework. For Django I
3634- recommend Django REST framework and for Flask I recommend Flask-RESTful.</ p >
3635- < p > < i class ="fa fa-check-square-o "> </ i >
3636- Begin by building out a simple use case for the API. Generally the use case
3637- will either involve data that users want in a machine-readable format or a
3638- backend for alternative clients such as an iOS or Android mobile app.</ p >
3639- < p > < i class ="fa fa-check-square-o "> </ i >
3640- Add an authentication mechanism through OAuth or a token scheme.</ p >
3641- < p > < i class ="fa fa-check-square-o "> </ i >
3642- Add rate limiting to the API if data usage volume could be a performance issue.
3643- Also add basic metrics so you can determine how often the API is being
3644- accessed and whether it is performing properly.</ p >
3645- < p > < i class ="fa fa-check-square-o "> </ i >
3646- Provide ample documentation and a walkthrough for how the API can be accessed
3647- and used.</ p >
3648- < p > < i class ="fa fa-check-square-o "> </ i >
3649- Figure out other use cases and expand based on what you learned with the
3650- initial API use case.</ p >
3651- < h3 > What's next after building an API for your web app?</ h3 >
3645+ < ol >
3646+ < li >
3647+ < p > Pick an API framework appropriate for your web framework. For Django I
3648+ recommend Django REST framework and for Flask I recommend Flask-RESTful.</ p >
3649+ </ li >
3650+ < li >
3651+ < p > Begin by building out a simple use case for the API. Generally the use
3652+ case will either involve data that users want in a machine-readable
3653+ format or a backend for alternative clients such as an iOS or Android
3654+ mobile app.</ p >
3655+ </ li >
3656+ < li >
3657+ < p > Add an authentication mechanism through OAuth or a token scheme.</ p >
3658+ </ li >
3659+ < li >
3660+ < p > Add rate limiting to the API if data usage volume could be a performance
3661+ issue. Also add basic metrics so you can determine how often the API is
3662+ being accessed and whether it is performing properly.</ p >
3663+ </ li >
3664+ < li >
3665+ < p > Provide ample documentation and a walkthrough for how the API can be
3666+ accessed and used.</ p >
3667+ </ li >
3668+ < li >
3669+ < p > Figure out other use cases and expand based on what you learned with the
3670+ initial API use case.</ p >
3671+ </ li >
3672+ </ ol >
36523673 < h1 > Deployment</ h1 >
36533674< p > Deployment involves packaging up your web application and putting it in a
36543675production environment that can run the app.</ p >
0 commit comments