Skip to content

Commit 1d78a64

Browse files
Update 450-api-versioning.txt
1 parent bc0b007 commit 1d78a64

File tree

1 file changed

+26
-27
lines changed

1 file changed

+26
-27
lines changed

transcripts/450-api-versioning.txt

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
00:00:12 Now what?
1010

11-
00:00:13 That's the conversation I dive into over the next hour with Stanislav Samiv.
11+
00:00:13 That's the conversation I dive into over the next hour with Stanislav Zmiev
1212

1313
00:00:17 We're talking about versioning APIs on this, the 450th episode of Talk Python to Me,
1414

@@ -214,23 +214,23 @@
214214

215215
00:06:46 But then my other projects, the ones that I maintain, are way cooler.
216216

217-
00:06:50 For example, Bidentic Duality enables you to have multiple versions of your Bidentic models
217+
00:06:50 For example, Pydantic Duality enables you to have multiple versions of your Pydantic models
218218

219219
00:06:57 for almost free in terms of performance and without any code generation.
220220

221-
00:07:02 And CADWIN, the project we're going to be discussing today, implements, I guess, the fullest
221+
00:07:02 And CADWYN, the project we're going to be discussing today, implements, I guess, the fullest
222222

223223
00:07:08 and most sophisticated API versioning paradigm there is at this point.
224224

225225
00:07:12 - Excellent, yeah.
226226

227-
00:07:13 - A lot of cool stuff. - Bidentic Duality looks, yeah, Bidentic Duality looks really, really cool.
227+
00:07:13 - A lot of cool stuff. - Pydantic Duality looks, yeah, Pydantic Duality looks really, really cool.
228228

229229
00:07:17 So a lot of neat stuff here.
230230

231231
00:07:19 A lot of different ways people might know about you.
232232

233-
00:07:21 So yeah, CADWIN's the one we're gonna be focusing on for here.
233+
00:07:21 So yeah, CADWYN's the one we're gonna be focusing on for here.
234234

235235
00:07:25 So let's start with talking about APIs.
236236

@@ -668,7 +668,7 @@
668668

669669
00:21:20 Visit talkpython.fm/neo4j to get started.
670670

671-
00:21:25 That's talkpython.fm/neo, the number four, and the letter J.
671+
00:21:25 That's talkpython.fm/neo4j, the number four, and the letter J.
672672

673673
00:21:30 Thank you to Neo4j for supporting Talk Python to Me.
674674

@@ -1208,7 +1208,7 @@
12081208

12091209
00:38:34 who just wanna learn how to do API versioning, but failed to find any resources.
12101210

1211-
00:38:39 So Katwin also becomes this, I guess, hub for API versioning resources and anything related to them.
1211+
00:38:39 So Cadwyn also becomes this, I guess, hub for API versioning resources and anything related to them.
12121212

12131213
00:38:46 - It seems like it would probably be pretty easy to adapt to anything that uses Pydantic
12141214

@@ -1276,13 +1276,13 @@
12761276

12771277
00:40:53 So some good questions, but I think they'll be somewhat answered if we just maybe talk us through your tutorial here.
12781278

1279-
00:41:02 Like how do we use Kadwin and how does it manifest?
1279+
00:41:02 Like how do we use Cadwyn and how does it manifest?
12801280

12811281
00:41:06 How does it work at runtime?
12821282

12831283
00:41:07 Stuff like that.
12841284

1285-
00:41:08 - First, before using Kadwin, you know, you write your regular app, but then you just structure it a little bit differently.
1285+
00:41:08 - First, before using Cadwyn, you know, you write your regular app, but then you just structure it a little bit differently.
12861286

12871287
00:41:13 When you are versioning, you need a directory that you will consider versioned.
12881288

@@ -1314,7 +1314,7 @@
13141314

13151315
00:42:13 The, if you take a look, we have a versioned API router.
13161316

1317-
00:42:17 Then you use the Kadwin versioned app.
1317+
00:42:17 Then you use the Cadwyn versioned app.
13181318

13191319
00:42:20 You generate version routers, and then it's going to generate a really nice swagger for them.
13201320

@@ -1336,7 +1336,7 @@
13361336

13371337
00:42:55 field addresses didn't exist.
13381338

1339-
00:42:57 - You have a user object, which is a pedantic model.
1339+
00:42:57 - You have a user object, which is a pydantic model.
13401340

13411341
00:43:00 The user object in version, the initial version, just had a field called address, which was a string.
13421342

@@ -1354,7 +1354,7 @@
13541354

13551355
00:43:30 - You simply describe how do you migrate your schemas?
13561356

1357-
00:43:32 How do you change your schema classes, your pedantic models?
1357+
00:43:32 How do you change your schema classes, your pydantic models?
13581358

13591359
00:43:36 And then you describe how you convert your requests and response, and that's it.
13601360

@@ -1454,7 +1454,7 @@
14541454

14551455
00:46:36 Is it passed as a, is the version passed as a header, it's a query string, part of the URL?
14561456

1457-
00:46:41 - The version is passed as a header and Cadwin by default requires it to be.
1457+
00:46:41 - The version is passed as a header and Cadwyn by default requires it to be.
14581458

14591459
00:46:47 But if you have some developer portal, if you want to store your version in some database,
14601460

@@ -1524,7 +1524,7 @@
15241524

15251525
00:48:57 And then at some point, use this core to build more Kadwins, you know?
15261526

1527-
00:49:01 Kadwin Django, Kadwin Flask, whatever.
1527+
00:49:01 Cadwyn Django, Kadwin Flask, whatever.
15281528

15291529
00:49:03 Or it doesn't even have to be a part of Kadwin.
15301530

@@ -1576,11 +1576,11 @@
15761576

15771577
00:50:52 but they still, most of the time, work with untyped code, which essentially can lead to many errors.
15781578

1579-
00:50:57 Kadwin tries to make sure that you still work with your schemas, you still know which schema you work with,
1579+
00:50:57 Cadwyn tries to make sure that you still work with your schemas, you still know which schema you work with,
15801580

15811581
00:51:03 it's always the latest.
15821582

1583-
00:51:05 And Kadwin tries to make sure that you're not going to have any type errors
1583+
00:51:05 And Cadwyn tries to make sure that you're not going to have any type errors
15841584

15851585
00:51:11 if you don't want to, and you're going to have all of the niceties of having this dynamic request response conversion thing.
15861586

@@ -1678,7 +1678,7 @@
16781678

16791679
00:54:08 It's an amazing library and you don't need anything else.
16801680

1681-
00:54:12 CADWIN is for use cases where you need to keep a larger number of versions,
1681+
00:54:12 CADWYN is for use cases where you need to keep a larger number of versions,
16821682

16831683
00:54:18 or if the changes between your versions are much trickier.
16841684

@@ -1780,7 +1780,7 @@
17801780

17811781
00:56:33 And it remains unchanged basically, right?
17821782

1783-
00:56:35 - Kadwin tries to escape this kind of verbosity.
1783+
00:56:35 - Cadwyn tries to escape this kind of verbosity.
17841784

17851785
00:56:39 And essentially you have all endpoints everywhere.
17861786

@@ -1834,7 +1834,7 @@
18341834

18351835
00:57:44 You know, before we wrap it up, two quick things, you know, notable PyPI package.
18361836

1837-
00:57:49 I mean, we've already given Kadwin a shout out.
1837+
00:57:49 I mean, we've already given Cadwyn a shout out.
18381838

18391839
00:57:51 Anything else that like, oh, I came across this and it was super cool.
18401840

@@ -1844,7 +1844,7 @@
18441844

18451845
00:57:59 - For us in our company, we started using one more package of mine.
18461846

1847-
00:58:04 It's called ByteTest fixture classes.
1847+
00:58:04 It's called PyTest fixture classes.
18481848

18491849
00:58:06 - Okay. - Essentially, when you are building groups of fixtures that create some objects for you,
18501850

@@ -1854,7 +1854,7 @@
18541854

18551855
00:58:21 - Yeah.
18561856

1857-
00:58:22 - A factory fixture pattern that you can see in ByteTest allows you to, you know, make a function within a function
1857+
00:58:22 - A factory fixture pattern that you can see in PyTest allows you to, you know, make a function within a function
18581858

18591859
00:58:29 and one of them is a fixture and that's all cool and nice, but then it's not typed.
18601860

@@ -1864,7 +1864,7 @@
18641864

18651865
00:58:41 And otherwise you can write a protocol and it's a lot of code.
18661866

1867-
00:58:45 What ByteTest fixture classes does is it allows you to type everything there.
1867+
00:58:45 What PyTest fixture classes does is it allows you to type everything there.
18681868

18691869
00:58:50 So you write the same amount of code, but it's all typed and now you have,
18701870

@@ -1896,19 +1896,19 @@
18961896

18971897
00:59:36 only for your internal microservices or only for your front end, then consider using the simple tools.
18981898

1899-
00:59:44 Consider using the FastAPI versioning, you know, Flask, Raybar, things like that.
1899+
00:59:44 Consider using the FastAPI versioning, you know, Flask, Rebar, things like that.
19001900

19011901
00:59:49 But then once you realize that you need to support versions for months and you need three or more versions
19021902

19031903
00:59:56 and you're providing your versions as a public, you know, to the public,
19041904

1905-
01:00:01 then I advise moving straight into CADWIN or CADWIN-like frameworks.
1905+
01:00:01 then I advise moving straight into CADWYN or CADWYN-like frameworks.
19061906

1907-
01:00:06 If you use FastAPI, you can just use CADWIN.
1907+
01:00:06 If you use FastAPI, you can just use CADWYN.
19081908

19091909
01:00:08 It has a bit of a learning curve, but within making one version, you will realize just how simple it is.
19101910

1911-
01:00:14 And if you're not using CADWIN, that's fine as well.
1911+
01:00:14 And if you're not using CADWYN, that's fine as well.
19121912

19131913
01:00:17 I have all of the resources that I used to build it and all of the resources, you know,
19141914

@@ -1995,4 +1995,3 @@
19951995
01:02:25 (upbeat music)
19961996

19971997
01:02:43 Thank you for watching.
1998-

0 commit comments

Comments
 (0)