Responder Web Framework Mini-course Transcripts
Chapter: Welcome to the course
Lecture: Welcome to the Responder course
0:00 Hello and welcome
0:01 to this short mini course on
0:03 the Responder web framework.
0:05 Maybe you've heard of Responder
0:07 it's written by this guy, he's done a few
0:09 open source projects in Python
0:10 his name's Kenneth Reitz.
0:12 So, likely you've heard of Kenneth
0:13 because of his Requests library
0:16 and Kenneth is pretty well known
0:17 for creating clean and well liked APIs.
0:22 So, when he said hey, I know there's a bunch
0:24 of web frameworks out there, but I'm going to
0:26 create another one to put my stamp on
0:28 what that API might look like
0:30 well that got my attention.
0:31 And probably it got your attention as well.
0:34 So, if you want to see what this web framework
0:37 that Kenneth Reitz came up with looks like
0:39 and take it for a tour
0:41 well you've come to the right place.
0:43 Let's talk quickly about what we're going to cover.
0:46 First, I'm going to talk about some of the key features.
0:48 After all, with this mini course
0:49 we're not going to be able to dive deep
0:51 into some of the really intriguing things
0:53 that this framework takes on, for example
0:55 it has async run as background work
0:58 that you can run in process.
1:00 It has web socket support
1:02 it has really good async methods
1:05 that you can work with.
1:06 And we're not going to dig deep into that
1:08 but we will talk a little bit about it.
1:10 We're going to go and build an async capable API
1:14 and notice I didn't say async API
1:15 because we're not actually going into async here
1:18 that's well beyond the scope of this
1:20 I have a very long course on that
1:22 and you're welcome to take it and it's super, super powerful
1:24 and it's one of the things that drew me
1:25 to this framework, however we're not
1:27 going to go into those details.
1:29 If you know async in a way, all the view methods
1:32 and API endpoints we create here with Responder
1:35 you can put async def on the method
1:37 and you can do await within it
1:39 it's really, really great for scalability
1:41 but again, we're not going into it.
1:43 We're going to create two kinds of views
1:45 or processing with this web framework.
1:47 One is going to return templated Jinja2 based views.
1:51 I'm going to go to the database to go to a data source
1:53 and then I'm going to convert that into
1:57 a dictionary, I'm going to pass that dictionary
1:58 to a Jinja2 template, Jinja2 template's going to be
2:01 rendered into rich HTML, that's great.
2:04 The other kind are more HTTP API endpoints.
2:08 Here we're going to do a get request
2:10 or a post request over to an endpoint
2:12 and return some kind of JSON.
2:14 These JSON endpoints, they're fun
2:16 and they're cool, but you know
2:17 they just exchange little bits of data.
2:19 Wouldn't it be fun if we had
2:20 a really awesome app built around it?
2:23 Why, yes it would.
2:24 So, we're going to take an app that I built
2:26 using Vue JS to explore this API
2:29 and it's really fun, it's really interactive.
2:31 Again, same reasons as async
2:33 we're not going to go into Vue
2:35 I'm going to show you how the app works
2:36 I'll give you like the one minute flyer
2:37 of Vue JS, but I will give you this
2:40 rich application that works with this API
2:42 that we will build during the class.
2:45 Now, I said it a few times but I just
2:46 wanted to remind you, this is a fast course
2:48 we're just going to go really quickly
2:50 into some of the key elements of Responder
2:52 we're going to build some JSON APIs
2:54 we're going to build some cool apps to consume it.
2:57 Think we're going to have a lot of fun.
2:58 So, with that in mind, let's just keep moving.
3:00 Now, what do we expect you to know
3:01 in order to take this class
3:03 and get the most out of it?
3:04 Well, Python obviously.
3:06 We're not going to cover any of the foundations
3:08 you don't know what a foreign loop is
3:10 or things like that, there's other places
3:12 you probably should start and then come back here.
3:14 This assumes that you know like the majority
3:16 of the core Python language.
3:18 We're not doing meta classes and deep things
3:20 but the basic Python syntax, you should
3:22 definitely have that down.
3:23 And it is a web framework, we're not going
3:25 really deep into the foundations
3:27 of what REST APIs are or why you care about them.
3:30 Or what HTTP verbs are, we're going to assume
3:33 you kind of are familiar with that
3:34 and we want to build something in Python with Responder.
3:37 These are the expectations for the course.
3:39 And finally, let me introduce myself, who am I?
3:41 Who's this guy talking to you?
3:42 My name's Michael Kennedy
3:43 that's a picture of me, you can find me
3:45 on Twitter @MKennedy.
3:47 You might know me from the Talk Python to Me podcast
3:49 you may also know me from the Python Bytes podcast
3:52 but most relevant for this conversation
3:55 I'm the founder and one of the main authors
3:57 at Talk Python Training.
3:59 Welcome, welcome to the course.
4:00 It's going to be a lot of fun
4:02 and it's not going to take a lot of time
4:03 so I think that's a beautiful mix
4:05 and I hope you enjoy it.