Building Graphql Apis With Python: Beginner To Pro
Published 5/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.27 GB | Duration: 12h 9m
Published 5/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.27 GB | Duration: 12h 9m
Learn How To Build GraphQL APIs in Python - plus SQLAlchemy ORM, JWTs auth flows, deployment and more!
What you'll learn
Learn and master GraphQL by building real-world python applications
Learn how to deploy your GraphQL python applications
Integrate SQLAlchemy ORM and with GraphQL APIs in python
Implement JWT-based auth flows in your python GraphQL APIs
Practice building python GraphQL APIs through tens of challenges
Master relevant concepts in modern python application development
Requirements
Some basic experience with python would help but is NOT required
Description
Welcome to the best resource online for leaning GraphQL with Python!In this course you will learn how to build GraphQL APIs to replace standard REST APIs and their limitations. In addition, you will learn about features like authentication, object-relational mapping, version control, and deployment, which go hand in hand with modern application development of GraphQL APIs.Today GraphQL is used by teams of all sizes in many different environments and languages to power mobile apps, websites, and APIs. From Airbnb and Atlassian to Audi and GitHub, companies the world over are using GraphQL APIs in production. GraphQL has gained significant traction in recent years because it offers a more flexible and efficient approach to data retrieval that addresses over-fetching and under-fetching issues that are common with REST APIs.This course is for anyone looking to learn GraphQL with Python. It is designed to teach you everything you need to know to build production-ready GraphQL APIs with Python.In the first 2 hours you will learn the basics of GraphQL, how to build a GraphQL server with Python, and how to expose a web API to interact with it. This introduction will give you a solid foundation of the core GraphQL concepts like schemas, types, queries, mutations, variables, fragments, directives and more. We will be working with a live GraphQL API, as we explore these concepts through a graphical in-browser IDE, constructing queries and mutations, and exploring result sets in real time. In the second part of the course we'll delve into more advanced topics, as we integrate our GraphQL applications with cloud-hosted SQL databases, and in the process also gain a practical understanding of the widely-popular SQLAlchemy ORM. We'll define advanced mutations and query capabilities, before we shift our attention to authentication and authorization flows, where we will use JSON web tokens to implement a role-based permissioning system. In the end we will deploy our application as a serverless function to the cloud, for free.Throughout the course you’ll learn how to: Model your application data using schemas and entities Create queries allowing clients to access data in the database through GraphQL Create mutations allowing clients to create and change data in the database Query and change your data from the browser by making requests with graphical, in-browser IDEs Work with the SQLAlchemy ORM (v2) to communicate with your database Secure your application data with JWT-based authentication and authorization system Deploy your GraphQL applications as serverless functions, for free This course assumes you're somewhat familiar with python, but if you're not or haven't programmed in python for a while, there is a full length introduction to the python programming language included as an appendix. I'm excited to be your instructor. See you inside!
Overview
Section 1: A Very Short Introduction
Lecture 1 GraphQL In 5 Mins
Lecture 2 Before You Begin
Section 2: Querying A GraphQL API
Lecture 3 Introduction
Lecture 4 First GraphQL Query
Lecture 5 Some GraphiQL Features
Lecture 6 Selection Sets
Lecture 7 Arguments
Lecture 8 Variables
Lecture 9 Fragments
Lecture 10 Directives
Lecture 11 Challenge
Lecture 12 Solution
Section 3: Setting Up A GraphQL Server With Python
Lecture 13 Introduction
Lecture 14 Design Decisions
Lecture 15 Code-First With Graphene
Lecture 16 Setting Up
Lecture 17 Hello, World!
Lecture 18 Types And Fields
Lecture 19 Root Values
Lecture 20 List-Type Field And Resolver
Lecture 21 Mutations
Lecture 22 That Was Odd!
Lecture 23 Updates
Lecture 24 Challenge
Lecture 25 Solution
Section 4: Building A GraphQL API
Lecture 26 Introduction
Lecture 27 Setting Up
Lecture 28 The API Backbone
Lecture 29 POST-ing Via HTTP Client
Lecture 30 Exposing A Graphical Interface
Lecture 31 Some Entities
Lecture 32 Defining A Query Class
Lecture 33 Field-Level Resolvers
Section 5: GraphQL Integration With Databases
Lecture 34 Introduction
Lecture 35 SQLAlchemy
Lecture 36 Creating A Free Cloud-Based Postgres Database
Lecture 37 Engines And Connections
Lecture 38 Tables And Metadata
Lecture 39 Relationships
Lecture 40 Sessions
Lecture 41 Recreate Schema On Startup
Lecture 42 Code Organization
Lecture 43 Code Organization II
Lecture 44 Executing Queries
Lecture 45 Challenge
Lecture 46 Solution
Section 6: Parameterized Mutations
Lecture 47 Introduction
Lecture 48 Adding New Jobs
Lecture 49 Updating An Existing Job
Lecture 50 SQLAlchemy ORM Global Joined Load
Lecture 51 Get Job By Id
Lecture 52 Deleting With SQLAlchemy
Lecture 53 New Employers
Lecture 54 Code Organization
Lecture 55 Challenge - Employer By Id
Lecture 56 Solution
Lecture 57 Challenge - Update Employer
Lecture 58 Solution
Lecture 59 Challenge - Delete Employer
Lecture 60 Solution
Lecture 61 The User Entity
Lecture 62 Challenge - Job Applications
Lecture 63 Solution
Lecture 64 Querying Applications From Users And Jobs
Section 7: Implementing JWT-Based Auth Workflows
Lecture 65 Introduction
Lecture 66 Authentication vs Authorization
Lecture 67 User Login
Lecture 68 Password Hashing
Lecture 69 Integrating Argon2
Lecture 70 JSON Web Tokens
Lecture 71 Generating Tokens On Login
Lecture 72 Refactoring To utils.py
Lecture 73 The get_authd_user Helper
Lecture 74 Circular Import Fix
Lecture 75 Challenge - User Registration
Lecture 76 Solution
Lecture 77 Challenge - Administrator Privileges
Lecture 78 Solution
Lecture 79 Decorating @admin_user
Lecture 80 Decorating Job And Employer Mutations
Lecture 81 Challenge - ApplyToJob Mutation
Lecture 82 Solution
Lecture 83 Challenge - Logged In User
Lecture 84 Solution
Lecture 85 Challenge - Logged In As
Lecture 86 Solution
Lecture 87 Extra - Generalizing Error Messages
Section 8: Deploying GraphQL Python APIs
Lecture 88 Introduction
Lecture 89 Application Files
Lecture 90 Cloud Options
Lecture 91 Refactoring Our Config
Lecture 92 Quick Bug Fix
Lecture 93 Slight Refactor
Lecture 94 Git Ignore
Lecture 95 Creating The Git Repository
Lecture 96 Uploading To GitHub
Lecture 97 Deployment
Lecture 98 New Commits
Lecture 99 Thank You!
Section 9: Appendix A - Python Programming Crash Course
Lecture 100 Section Resources
Lecture 101 Data Types
Lecture 102 Variables
Lecture 103 Arithmetic And Augmented Assignment Operators
Lecture 104 Ints And Floats
Lecture 105 Booleans And Comparison Operators
Lecture 106 Strings
Lecture 107 Methods
Lecture 108 Containers I - Lists
Lecture 109 Lists vs Strings
Lecture 110 List Methods And Functions
Lecture 111 Containers II - Tuples
Lecture 112 Containers III - Sets
Lecture 113 Containers IV - Dictionaries
Lecture 114 Dictionary Keys And Values
Lecture 115 Membership Operators
Lecture 116 Controlling Flow - if, else, And elif
Lecture 117 Truth Value Of Non-Booleans
Lecture 118 For Loops
Lecture 119 The range() Immutable Sequence
Lecture 120 While Loops
Lecture 121 Break And Continue
Lecture 122 Zipping Iterables
Lecture 123 List Comprehensions
Lecture 124 Defining Functions
Lecture 125 Function Arguments - Positional vs Keyword
Lecture 126 Lambdas
Lecture 127 Importing Modules
Beginner python developers interested in building and deploying GraphQL APIs,Anyone interested in GraphQL