Building REST APIs with Flask


Book Description

Develop RESTful web services using the Flask micro-framework and integrate them using MySQL. Use Flask to develop, deploy, and manage REST APIs with easy-to-read and understand Python code. Solve your problem from a choice of libraries. Learn to use MySQL as the web services database for your Flask API using SQLAlchemy ORM. Building REST APIs with Flask provides a primer on Flask, RESTful services, and working with pip to set up your virtual environment. The key differences between NoSQL and SQL are covered, and you are taught how to connect MySQL and Flask using SQLAlchemy. Author Kunal Relan presents best practices for creating REST APIs and guides you in structuring your app and testing REST endpoints. He teaches you how to set up authentication and render HTML using views. You learn how to write unit tests for your REST APIs, and understand mocks, assertions, and integration testing. You will know how to document your REST APIs, deploy your Flask application on all of the major cloud platforms, and debug and monitor your Flask application. What You'll LearnUse MySQL to create Flask REST APIs Test REST endpoints Create CRUD endpoints with Flask and MySQL Deploy Flask on all of the major cloud platforms Monitor your Flask application Who This Book Is For Python developers interested in REST API development using Flask and web developers with basic programming knowledge who want to learn how Python and REST APIs work together. Readers should be familiar with Python (command line, or at least pip) and MySQL.




Building REST APIs with Flask


Book Description

Develop RESTful web services using the Flask micro-framework and integrate them using MySQL. Use Flask to develop, deploy, and manage REST APIs with easy-to-read and understand Python code. Solve your problem from a choice of libraries. Learn to use MySQL as the web services database for your Flask API using SQLAlchemy ORM. Building REST APIs with Flask provides a primer on Flask, RESTful services, and working with pip to set up your virtual environment. The key differences between NoSQL and SQL are covered, and you are taught how to connect MySQL and Flask using SQLAlchemy. Author Kunal Relan presents best practices for creating REST APIs and guides you in structuring your app and testing REST endpoints. He teaches you how to set up authentication and render HTML using views. You learn how to write unit tests for your REST APIs, and understand mocks, assertions, and integration testing. You will know how to document your REST APIs, deploy your Flask application on all of the major cloud platforms, and debug and monitor your Flask application. What You'll Learn Use MySQL to create Flask REST APIs Test REST endpoints Create CRUD endpoints with Flask and MySQL Deploy Flask on all of the major cloud platforms Monitor your Flask application Who This Book Is For Python developers interested in REST API development using Flask and web developers with basic programming knowledge who want to learn how Python and REST APIs work together. Readers should be familiar with Python (command line, or at least pip) and MySQL.




Python API Development Fundamentals


Book Description

Learn all that’s needed to build a fully functional web application from scratch. Key FeaturesDelve deep into the principle behind RESTful APILearn how to build a scalable web application with the RESTful API architecture and Flask frameworkKnow what are the exact tools and methodology to test your applications and how to use themBook Description Python is a flexible language that can be used for much more than just script development. By knowing the Python RESTful APIs work, you can build a powerful backend for web applications and mobile applications using Python. You'll take your first steps by building a simple API and learning how the frontend web interface can communicate with the backend. You'll also learn how to serialize and deserialize objects using the marshmallow library. Then, you'll learn how to authenticate and authorize users using Flask-JWT. You'll also learn how to enhance your APIs by adding useful features, such as email, image upload, searching, and pagination. You'll wrap up the whole book by deploying your APIs to the cloud. By the end of this book, you'll have the confidence and skill to leverage the power of RESTful APIs and Python to build efficient web applications. What you will learnUnderstand the concept of a RESTful APIBuild a RESTful API using Flask and the Flask-Restful extensionManipulate a database using Flask-SQLAlchemy and Flask-MigrateSend out plaintext and HTML format emails using the Mailgun APIImplement a pagination function using Flask-SQLAlchemyUse caching to improve API performance and efficiently obtain the latest informationDeploy an application to Heroku and test it using PostmanWho this book is for This book is ideal for aspiring software developers who have a basic-to-intermediate knowledge of Python programming and who want to develop web applications using Python. Knowledge of how web applications work will be beneficial but is not essential.




Building RESTful Python Web Services


Book Description

Create web services that are lightweight, maintainable, scalable, and secure using the best tools and techniques designed for Python About This Book Develop RESTful Web Services using the most popular frameworks in Python Configure and fine-tune your APIs using the best tools and techniques available This practical guide will help you to implement complete REST-based APIs from scratch Who This Book Is For This book is for web developers who have working knowledge of Python and would like to build amazing web services by taking advantage of the various frameworks of Python. You should have some knowledge of RESTful APIs. What You Will Learn Develop complex RESTful APIs from scratch with Python combined with and without data sources Choose the most appropriate (micro) framework based on the specific requirements of a RESTful API / web service Debug, test, and profile RESTful APIs with each of the frameworks Develop a complex RESTful API that interacts with a PostgreSQL database Add authentication and permissions to a RESTful API built in each of the frameworks Map URL patterns to request handlers and check how the API works Profile an existing API and refactor it to take advantage of asynchronous code In Detail Python is the language of choice for millions of developers worldwide, due to its gentle learning curve as well as its vast applications in day-to-day programming. It serves the purpose of building great web services in the RESTful architecture. This book will show you the best tools you can use to build your own web services. Learn how to develop RESTful APIs using the popular Python frameworks and all the necessary stacks with Python, Django, Flask, and Tornado, combined with related libraries and tools. We will dive deep into each of these frameworks to build various web services, and will provide use cases and best practices on when to use a particular framework to get the best results. We will show you everything required to successfully develop RESTful APIs with the four frameworks such as request handling, URL mapping, serialization, validation, authentication, authorization, versioning, ORMs, databases, custom code for models and views, and asynchronous callbacks. At the end of each framework, we will add authentication and security to the RESTful APIs and prepare tests for it. By the end of the book, you will have a deep understanding of the stacks needed to build RESTful web services. Style and approach The book takes a straightforward approach, not spending time getting you started with RESTful APIs and web services. It will give you the best use cases for each framework to build great web services in Python.




Flask Web Development


Book Description

Take full creative control of your web applications with Flask, the Python-based microframework. With the second edition of this hands-on book, youâ??ll learn Flask from the ground up by developing a complete, real-world application created by author Miguel Grinberg. This refreshed edition accounts for important technology changes that have occurred in the past three years. Explore the frameworkâ??s core functionality, and learn how to extend applications with advanced web techniques such as database migrations and an application programming interface. The first part of each chapter provides you with reference and background for the topic in question, while the second part guides you through a hands-on implementation. If you have Python experience, youâ??re ready to take advantage of the creative freedom Flask provides. Three sections include: A thorough introduction to Flask: explore web application development basics with Flask and an application structure appropriate for medium and large applications Building Flasky: learn how to build an open source blogging application step-by-step by reusing templates, paginating item lists, and working with rich text Going the last mile: dive into unit testing strategies, performance analysis techniques, and deployment options for your Flask application




The Well-Grounded Python Developer


Book Description

If you’re new to Python, it can be tough to understand when, where, and how to use all its language features. This friendly guide shows you how the Python ecosystem fits together, and grounds you in the skills you need to continue your journey to being a software developer. Summary Inside The Well-Grounded Python Developer you will discover: Building modules of functionality Creating a well-constructed web server application Integrating database access into your Python applications Refactor and decoupling systems to help scale them How to think about the big picture of your application The Well-Grounded Python Developer builds on Python skills you’ve learned in isolation and shows you how to unify them into a meaningful whole. It helps you understand the dizzying array of libraries and teaches important concepts, like modular construction, APIs, and the design of a basic web server. As you work through this practical guide, you’ll discover how all the bits of Python link up as you build and modify a typical web server application—the kind of web app that’s in high demand by modern businesses. About the technology As a new programmer, you’re happy just to see your code run. A professional developer, on the other hand, needs to create software that runs reliably. It must be fast, maintainable, scalable, secure, well designed and documented, easy for others to update, and quick to ship. This book teaches you the skills you need to go from Python programmer to Python developer. About the book The Well-Grounded Python Developer shows you why Python, the world’s most popular programming language, is a fantastic tool for professional development. It guides you through the most important skills, like how to name variables, functions, and classes, how to identify and write a good API, and how to use objects. You’ll also learn how to deal with inevitable failures, how to make software that connects to the internet, core security practices, and many other professional-grade techniques. What's inside Create a web application Connect to a database Design programs to handle big tasks About the reader For experienced beginners who want to learn professional-level skills. About the author Doug Farrell has been a professional developer since 1983, and has worked with Python for over 20 years. Table of Contents 1 Becoming a Pythonista PART 1 - GROUNDWORK 2 That’s a good name 3 The API: Let’s talk 4 The object of conversation 5 Exceptional events PART 2 - FIELDWORK 6 Sharing with the internet 7 Doing it with style 8 Do I know you? Authentication 9 What can you do? Authorization 10 Persistence is good: Databases 11 I’ve got something to say 12 Are we there yet?




Hands-On RESTful Python Web Services


Book Description

Explore the best tools and techniques to create lightweight, maintainable, and scalable Python web services Key FeaturesCombine Python with different data sources to build complex RESTful APIs from scratchConfigure and fine-tune your APIs using the best tools and techniques availableUse command-line and GUI tools to test CRUD operations performed by RESTful Web Services or APIsBook Description Python is the language of choice for millions of developers worldwide that builds great web services in RESTful architecture. This second edition of Hands-On RESTful Python Web Services will cover the best tools you can use to build engaging web services. This book shows you how to develop RESTful APIs using the most popular Python frameworks and all the necessary stacks with Python, combined with related libraries and tools. You’ll learn to incorporate all new features of Python 3.7, Flask 1.0.2, Django 2.1, Tornado 5.1, and also a new framework, Pyramid. As you advance through the chapters, you will get to grips with each of these frameworks to build various web services, and be shown use cases and best practices covering when to use a particular framework. You’ll then successfully develop RESTful APIs with all frameworks and understand how each framework processes HTTP requests and routes URLs. You’ll also discover best practices for validation, serialization, and deserialization. In the concluding chapters, you will take advantage of specific features available in certain frameworks such as integrated ORMs, built-in authorization and authentication, and work with asynchronous code. At the end of each framework, you will write tests for RESTful APIs and improve code coverage. By the end of the book, you will have gained a deep understanding of the stacks needed to build RESTful web services. What you will learnSelect the most appropriate framework based on requirementsDevelop complex RESTful APIs from scratch using PythonUse requests handlers, URL patterns, serialization, and validationsAdd authentication, authorization, and interaction with ORMs and databasesDebug, test, and improve RESTful APIs with four frameworksDesign RESTful APIs with frameworks and create automated testsWho this book is for This book is for web developers who have a working knowledge of Python and would like to build amazing web services by taking advantage of the various frameworks of Python. You should have some knowledge of RESTful APIs.




Microservice APIs


Book Description

Strategies, best practices, and patterns that will help you design resilient microservices architecture and streamline your API integrations. In Microservice APIs, you’ll discover: Service decomposition strategies for microservices Documentation-driven development for APIs Best practices for designing REST and GraphQL APIs Documenting REST APIs with the OpenAPI specification (formerly Swagger) Documenting GraphQL APIs using the Schema Definition Language Building microservices APIs with Flask, FastAPI, Ariadne, and other frameworks Service implementation patterns for loosely coupled services Property-based testing to validate your APIs, and using automated API testing frameworks like schemathesis and Dredd Adding authentication and authorization to your microservice APIs using OAuth and OpenID Connect (OIDC) Deploying and operating microservices in AWS with Docker and Kubernetes Microservice APIs teaches you practical techniques for designing robust microservices with APIs that are easy to understand, consume, and maintain. You’ll benefit from author José Haro Peralta’s years of experience experimenting with microservices architecture, dodging pitfalls and learning from mistakes he’s made. Inside you’ll find strategies for delivering successful API integrations, implementing services with clear boundaries, managing cloud deployments, and handling microservices security. Written in a framework-agnostic manner, its universal principles can easily be applied to your favorite stack and toolset. About the technology Clean, clear APIs are essential to the success of microservice applications. Well-designed APIs enable reliable integrations between services and help simplify maintenance, scaling, and redesigns. Th is book teaches you the patterns, protocols, and strategies you need to design, build, and deploy effective REST and GraphQL microservices APIs. About the book Microservice APIs gathers proven techniques for creating and building easy-to-consume APIs for microservices applications. Rich with proven advice and Python-based examples, this practical book focuses on implementation over philosophy. You’ll learn how to build robust microservice APIs, test and protect them, and deploy them to the cloud following principles and patterns that work in any language. What's inside Service decomposition strategies for microservices Best practices for designing and building REST and GraphQL APIs Service implementation patterns for loosely coupled components API authorization with OAuth and OIDC Deployments with AWS and Kubernetes About the reader For developers familiar with the basics of web development. Examples are in Python. About the author José Haro Peralta is a consultant, author, and instructor. He’s also the founder of microapis.io. Table of Contents PART 1 INTRODUCING MICROSERVICE APIS 1 What are microservice APIs? 2 A basic API implementation 3 Designing microservices PART 2 DESIGNING AND BUILDING REST APIS 4 Principles of REST API design 5 Documenting REST APIs with OpenAPI 6 Building REST APIs with Python 7 Service implementation patterns for microservices PART 3 DESIGNING AND BUILDING GRAPHQL APIS 8 Designing GraphQL APIs 9 Consuming GraphQL APIs 10 Building GraphQL APIs with Python PART 4 SECURING, TESTING, AND DEPLOYING MICROSERVICE APIS 11 API authorization and authentication 12 Testing and validating APIs 13 Dockerizing microservice APIs 14 Deploying microservice APIs with Kubernetes




Building Web Apps with Python and Flask


Book Description

A practical guide for the rapid web application development with Flask KEY FEATURESÊ _ Expert-led coverage of core capabilities of Flask, key extensions and its implementation.Ê _ Explore the Werkzeug toolkit andÊ Jinja Template engine and see how FlaskÊ interacts with JavaScript and CSS. _ Detailed modules on building and deploying RESTful applications using Flask. Ê DESCRIPTIONÊ This book teaches the reader the complete workflow of developing web applications using Python and its most outperforming microframework, Flask. The book begins with getting you up to speed in developing a strong understanding of the web application development process and how Python is used in developing the applications. You will learn how to write your own first Flask-based web application in Python. You will learn about web gateway interfaces, including CGI and WSGI along with various tools like the Jinja 2 engine, Werkzeug toolkit, and Click toolkit.Ê You will learn and practice the core features of Flask such as URL routing, rendering, handling static assets of a web application, how to handle cookies and sessions, and other HTTP objects. Once you have developed a strong knowledge of Flask, you will now dive deeper into advanced topics that includes Flask extensions for working with relational and NoSQL databases, Flask_WTF, and Flask-Bootstrap. You will explore design patterns, various blueprints on how to build modular and scalable applications, and finally how to deploy the RESTful APIs successfully on your own. WHAT YOU WILL LEARNÊÊ _ Get to know everything about the core capabilities of Flask. _ Understand the basic building blocks of Flask. _ Get familiar with advanced features of Flask, including blueprints, Flask extensions, and database connectivity. _ Get ready to design your own Flask-based web applications and RESTful APIs. _ Learn to build modular and scalable applications and how to deploy them successfully. WHO THIS BOOK IS FORÊÊÊ This book is ideal for Python enthusiasts, open source contributors, and web app developers who intend to add Python web technologies in their skillsets and startup companies. The understanding of the core Python language with intermediate level expertise is required and experience of working with SQL, HTML, CSS, and JavaScript is an added advantage. TABLE OF CONTENTS 1. Python for CGI 2. WSGI 3. Flask Fundamentals 4. URL Routing 5. Rendering Templates 6. Static Files 7. HTTP Objects 8. Using Databases 9. More Flask Extensions 10. Blueprints and Contexts 11. Web API with Flask 12. Deploying Flask Applications 13. Appendix




API Security in Action


Book Description

API Security in Action teaches you how to create secure APIs for any situation. By following this hands-on guide you’ll build a social network API while mastering techniques for flexible multi-user security, cloud key management, and lightweight cryptography. Summary A web API is an efficient way to communicate with an application or service. However, this convenience opens your systems to new security risks. API Security in Action gives you the skills to build strong, safe APIs you can confidently expose to the world. Inside, you’ll learn to construct secure and scalable REST APIs, deliver machine-to-machine interaction in a microservices architecture, and provide protection in resource-constrained IoT (Internet of Things) environments. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology APIs control data sharing in every service, server, data store, and web client. Modern data-centric designs—including microservices and cloud-native applications—demand a comprehensive, multi-layered approach to security for both private and public-facing APIs. About the book API Security in Action teaches you how to create secure APIs for any situation. By following this hands-on guide you’ll build a social network API while mastering techniques for flexible multi-user security, cloud key management, and lightweight cryptography. When you’re done, you’ll be able to create APIs that stand up to complex threat models and hostile environments. What's inside Authentication Authorization Audit logging Rate limiting Encryption About the reader For developers with experience building RESTful APIs. Examples are in Java. About the author Neil Madden has in-depth knowledge of applied cryptography, application security, and current API security technologies. He holds a Ph.D. in Computer Science. Table of Contents PART 1 - FOUNDATIONS 1 What is API security? 2 Secure API development 3 Securing the Natter API PART 2 - TOKEN-BASED AUTHENTICATION 4 Session cookie authentication 5 Modern token-based authentication 6 Self-contained tokens and JWTs PART 3 - AUTHORIZATION 7 OAuth2 and OpenID Connect 8 Identity-based access control 9 Capability-based security and macaroons PART 4 - MICROSERVICE APIs IN KUBERNETES 10 Microservice APIs in Kubernetes 11 Securing service-to-service APIs PART 5 - APIs FOR THE INTERNET OF THINGS 12 Securing IoT communications 13 Securing IoT APIs