Building Graphql Apis With Python: Beginner To Pro

Posted By: ELK1nG

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

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