forked from mikeckennedy/talk-python-transcripts
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path362-hypermodern-python.vtt
5753 lines (2877 loc) · 102 KB
/
362-hypermodern-python.vtt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
WEBVTT
00:00:00.000 --> 00:00:02.280
- Hello, YouTube.
00:00:02.280 --> 00:00:03.360
Hello, Claudia.
00:00:03.360 --> 00:00:04.640
Thanks everyone for-- - Hello.
00:00:04.640 --> 00:00:05.480
- Hello, hello.
00:00:05.480 --> 00:00:07.640
Thanks for joining us for the live stream and the recording.
00:00:07.640 --> 00:00:10.260
If you got comments, please put them into the live chat.
00:00:10.260 --> 00:00:11.100
If you're watching this live,
00:00:11.100 --> 00:00:12.640
we'll try to make it part of the show.
00:00:12.640 --> 00:00:16.240
Claudia, are you ready to kick this off?
00:00:16.240 --> 00:00:17.200
- Let's go.
00:00:17.200 --> 00:00:18.040
- All right.
00:00:18.040 --> 00:00:21.880
Claudio, welcome to Talk Python to Me.
00:00:21.880 --> 00:00:23.280
- So happy to be here.
00:00:23.280 --> 00:00:25.240
- I'm so happy to have you here.
00:00:25.240 --> 00:00:27.640
It's great to be talking to you.
00:00:27.640 --> 00:00:28.960
And this is one of those episodes
00:00:28.960 --> 00:00:32.240
that's gonna be so fun because what it's gonna turn out
00:00:32.240 --> 00:00:35.360
to be I'm pretty sure is diving into a ton of little tools.
00:00:35.360 --> 00:00:38.280
And I can tell you just doing a little bit of research
00:00:38.280 --> 00:00:40.200
and putting together some show notes for this,
00:00:40.200 --> 00:00:42.480
like, oh, there's that thing and oh, look this too.
00:00:42.480 --> 00:00:43.560
Oh, I didn't know about this.
00:00:43.560 --> 00:00:48.560
So you've assembled this conglomeration of tools
00:00:48.560 --> 00:00:51.400
and techniques that you're putting under
00:00:51.400 --> 00:00:53.560
the hyper modern banner.
00:00:53.560 --> 00:00:55.280
And I think it's gonna be a lot of fun to talk about.
00:00:55.280 --> 00:00:57.640
So yeah, we're gonna have a good time.
00:00:57.640 --> 00:00:58.640
Looking forward.
00:00:58.640 --> 00:00:59.640
Indeed, same.
00:00:59.640 --> 00:01:03.560
Now, before we get into that, let's talk about your story.
00:01:03.560 --> 00:01:07.760
How did you get into programming and over here to Python?
00:01:07.760 --> 00:01:13.200
So I think one day my dad, that must have been in the 80s, came back with and said,
00:01:13.200 --> 00:01:15.200
"I bought a computer."
00:01:15.200 --> 00:01:16.720
And I was really excited.
00:01:16.720 --> 00:01:25.240
I imagined there's going to be a room filled with all these machines and ran down the corridor
00:01:25.240 --> 00:01:29.840
and turned out to be some kind of keyboard, as it seemed to me.
00:01:29.840 --> 00:01:33.320
So there was a Commodore 64.
00:01:33.320 --> 00:01:38.920
And initially, we just played all those great 8-bit games.
00:01:38.920 --> 00:01:42.920
And eventually, I started programming a little bit
00:01:42.920 --> 00:01:43.440
in BASIC.
00:01:43.440 --> 00:01:48.880
And I think that's kind of when I really found out
00:01:48.880 --> 00:01:49.880
how much fun this is.
00:01:52.920 --> 00:02:00.840
And then I think I was interested in a lot of other non-computer things for a long while.
00:02:00.840 --> 00:02:07.720
I went to uni, I studied law. >> As most programmers do, of course.
00:02:07.720 --> 00:02:18.360
>> Yeah. But somehow the interest in formal systems always stayed with me, and law,
00:02:18.360 --> 00:02:24.200
especially continental law, German law is very much like a little bit like a calculus,
00:02:24.200 --> 00:02:33.240
tracing back to ancient Rome. And I got interested in logic. And there's a small
00:02:33.240 --> 00:02:40.920
research community working on applying AI and logics to legal theory. And that was really my
00:02:40.920 --> 00:02:46.560
my gateway drug to get back into programming, really, logics.
00:02:46.560 --> 00:02:57.480
And I think I programmed this like a little flashcard system to help me prepare for the
00:02:57.480 --> 00:03:00.680
for the law exams.
00:03:00.680 --> 00:03:01.880
Nice.
00:03:01.880 --> 00:03:02.720
Yeah.
00:03:02.720 --> 00:03:09.760
Eventually, I decided, you know, I have to, I want to get really deep into this.
00:03:09.760 --> 00:03:13.120
and I started studying computer science
00:03:13.120 --> 00:03:17.600
and pretty much never went back to law after that.
00:03:17.600 --> 00:03:22.400
So I have a law degree, but working as a software engineer.
00:03:22.400 --> 00:03:23.240
- It's interesting.
00:03:23.240 --> 00:03:24.840
I hadn't really thought about it with law.
00:03:24.840 --> 00:03:27.800
I do have a friend who's a lawyer in software.
00:03:27.800 --> 00:03:30.700
So I know it happens for sure,
00:03:30.700 --> 00:03:34.960
but thinking about the way you have to
00:03:34.960 --> 00:03:37.640
mentally sort of solve the problems
00:03:37.640 --> 00:03:43.480
and the constraints of like legal contracts and laws and stuff and how they apply. That's
00:03:43.480 --> 00:03:47.400
actually kind of a similar skill to thinking through solving a computer programming problem
00:03:47.400 --> 00:03:51.760
with APIs and what the computer can do and stuff, right?
00:03:51.760 --> 00:03:57.040
And it's such a human way of thinking. So it's really interesting from an AI point of
00:03:57.040 --> 00:04:03.440
view because it's not the kind of really clear logical deductions that you have, but there's
00:04:03.440 --> 00:04:10.800
a lot of everyday knowledge that you need to have and the feasible rules.
00:04:10.800 --> 00:04:12.440
So it's quite exciting.
00:04:12.440 --> 00:04:14.000
Yeah, very neat.
00:04:14.000 --> 00:04:18.600
Now what kind of code and what kind of stuff are you doing these days?
00:04:18.600 --> 00:04:27.080
So I've been working mostly on cybersecurity.
00:04:27.080 --> 00:04:35.880
So I'm working for a company for almost 14 years that's doing cybersecurity as a service.
00:04:35.880 --> 00:04:45.920
So we're working mostly on C++ services, so high performance data intensive services.
00:04:45.920 --> 00:04:55.620
And we're using Python mostly to automate the build system, testing releases, but also
00:04:55.620 --> 00:04:56.800
for prototyping.
00:04:56.800 --> 00:05:01.760
or algorithms that's really handy
00:05:01.760 --> 00:05:06.280
before you implement it in a high-performance way.
00:05:06.280 --> 00:05:08.720
- Yeah, I think Python is used frequently for that.
00:05:08.720 --> 00:05:10.000
Like, let's prototype this,
00:05:10.000 --> 00:05:12.880
and then if once we completely decide it works right,
00:05:12.880 --> 00:05:15.640
then we're gonna write it in C++ or Rust.
00:05:15.640 --> 00:05:17.800
That's not the most common use of Python,
00:05:17.800 --> 00:05:19.400
but it certainly is one that people have said,
00:05:19.400 --> 00:05:20.220
oh, this is really good
00:05:20.220 --> 00:05:21.960
because you can prototype so quickly.
00:05:21.960 --> 00:05:25.120
Sometimes people just decide,
00:05:25.120 --> 00:05:27.520
and also this will just work fine for what we're doing.
00:05:27.520 --> 00:05:29.000
Actually, it's plenty fast.
00:05:29.000 --> 00:05:31.160
Or they decide, you know, maybe not, right?
00:05:31.160 --> 00:05:33.840
Maybe they need C++, but it's still a cool use case.
00:05:33.840 --> 00:05:34.680
- Yeah.
00:05:34.680 --> 00:05:39.520
- Now, let's kick off our conversation
00:05:39.520 --> 00:05:42.760
with some thoughts from a former guest, Mahmoud Hashemi.
00:05:42.760 --> 00:05:47.760
He had a really interesting way of sort of presenting Python
00:05:47.760 --> 00:05:51.160
to people who are not deep in the Python language
00:05:51.160 --> 00:05:52.440
and said basically it's actually,
00:05:52.440 --> 00:05:56.400
When people say Python is great for prototyping, for example,
00:05:56.400 --> 00:05:59.680
well, they might be talking about one of three things
00:05:59.680 --> 00:06:00.880
or some combination of there.
00:06:00.880 --> 00:06:03.760
It could be when people say, oh, Python is good for this
00:06:03.760 --> 00:06:05.080
or Python is like that.
00:06:05.080 --> 00:06:07.360
They might be talking about the language
00:06:07.360 --> 00:06:10.200
or they might be talking about the standard library
00:06:10.200 --> 00:06:11.920
or more and more these days,
00:06:11.920 --> 00:06:14.040
they're talking about the third-party ecosystem
00:06:14.040 --> 00:06:17.280
with I don't even know how many libraries.
00:06:17.280 --> 00:06:19.560
I gotta look this up 'cause it changes so fast.
00:06:19.560 --> 00:06:24.360
Right now at the time of recording, 368,000 libraries.
00:06:24.360 --> 00:06:26.580
So when people mention Python,
00:06:26.580 --> 00:06:30.880
they often mean one or more of those different things.
00:06:30.880 --> 00:06:33.180
And we're gonna talk about hyper modern Python.
00:06:33.180 --> 00:06:36.000
So I think we should frame it a little bit
00:06:36.000 --> 00:06:37.560
in the sense of like, well,
00:06:37.560 --> 00:06:39.380
what is modern about the language
00:06:39.380 --> 00:06:42.300
or what is kind of modern about the standard library?
00:06:42.300 --> 00:06:47.000
And obviously the ecosystem is where a lot of it's happening.
00:06:47.000 --> 00:06:52.000
So from your point of view, what is modern Python
00:06:52.000 --> 00:06:53.540
before we get the hyper modern?
00:06:53.540 --> 00:07:00.240
- Yeah, definitely we can talk about the language,
00:07:00.240 --> 00:07:03.080
the standard library, the ecosystem.
00:07:03.080 --> 00:07:04.880
I'd also add the community.
00:07:04.880 --> 00:07:08.280
I think that's something that really defines Python.
00:07:08.280 --> 00:07:09.120
- Yeah, I agree.
00:07:09.120 --> 00:07:14.620
- Yeah, and all that tooling that evolved in the ecosystem.
00:07:14.620 --> 00:07:17.700
So about the language, what really--
00:07:17.700 --> 00:07:21.700
because my story is I think I got into Python--
00:07:21.700 --> 00:07:25.140
Python was it, like Python 2.3?
00:07:25.140 --> 00:07:25.700
And I--
00:07:25.700 --> 00:07:27.460
>>Luis: So you've been through the journey.
00:07:27.460 --> 00:07:29.300
You've been through the great split.
00:07:29.300 --> 00:07:29.940
>>Christiane: But I missed--
00:07:29.940 --> 00:07:30.820
>>Luis: The rejoining.
00:07:30.820 --> 00:07:32.940
>>Christiane: I pretty much missed a lot of the pain
00:07:32.940 --> 00:07:35.540
of the Python 2.3 transition.
00:07:35.540 --> 00:07:38.740
I've been busy with C++ and then came back to Python.
00:07:38.740 --> 00:07:41.540
And for me, it was just the enthusiasm
00:07:41.540 --> 00:07:46.980
of rediscovering all the great, like how expressive Python had become.
00:07:46.980 --> 00:07:52.540
One of the things that really get me excited about modern Python is type annotations.
00:07:52.540 --> 00:08:00.460
I just find them so helpful to structure programs, to make APIs clear, to help me think about
00:08:00.460 --> 00:08:03.380
my code and to keep it maintainable and readable.
00:08:03.380 --> 00:08:05.620
So I use them pretty much always.
00:08:05.620 --> 00:08:09.100
And I always run mypy in strict mode.
00:08:09.100 --> 00:08:16.940
I'd even use it in small scripts and it's of course very helpful in large systems.
00:08:16.940 --> 00:08:23.020
Absolutely. Yeah, you know, I don't know that I've, in fact, I'm pretty sure I've never gone
00:08:23.020 --> 00:08:29.660
end-to-end and taken a large system and completely made it 100% mypy checked, you know.
00:08:29.660 --> 00:08:38.780
For me, I'm with you. I absolutely love the types and I've, I use them a lot to sort of drive the
00:08:38.780 --> 00:08:41.540
the tooling intelligence.
00:08:41.540 --> 00:08:43.740
For example, like if you've got a data access layer,
00:08:43.740 --> 00:08:46.300
you could talk about what is exchanged
00:08:46.300 --> 00:08:47.780
at the boundary there,
00:08:47.780 --> 00:08:50.100
so that your editors are all of a sudden
00:08:50.100 --> 00:08:51.980
super smart about auto-complete.
00:08:51.980 --> 00:08:56.980
And I was just doing a massive overhaul to the course,
00:08:56.980 --> 00:08:59.980
Talk Python courses website,
00:08:59.980 --> 00:09:03.860
and I changed like, it was 110 commits in this PR,
00:09:03.860 --> 00:09:05.300
it was like ridiculous.
00:09:05.300 --> 00:09:08.180
But before I checked them all in, I went through
00:09:08.180 --> 00:09:10.340
And I said, okay, look for all the type warnings,
00:09:10.340 --> 00:09:12.020
look for anything that might have become
00:09:12.020 --> 00:09:14.300
like out of sync along the way.
00:09:14.300 --> 00:09:16.100
And I caught like one or two things
00:09:16.100 --> 00:09:19.760
before I accepted the merge the PR back in.
00:09:19.760 --> 00:09:21.740
So like, it's just, yeah,
00:09:21.740 --> 00:09:26.180
I absolutely think that's one of the most important additions
00:09:26.180 --> 00:09:29.100
- And they also, it's so nice how you can leverage them
00:09:29.100 --> 00:09:30.300
at runtime as well.
00:09:30.300 --> 00:09:32.740
It's not only that they allow you to check your code
00:09:32.740 --> 00:09:37.740
in a way that doesn't require hitting every code path,
00:09:37.740 --> 00:09:42.740
but you can build data validation on top of it
00:09:42.740 --> 00:09:44.700
and so many more.
00:09:44.700 --> 00:09:45.540
- Yeah, absolutely.
00:09:45.540 --> 00:09:48.140
I mean, look at libraries like Pydantic and FastAPI
00:09:48.140 --> 00:09:52.420
that are making interesting runtime use out of it.
00:09:52.420 --> 00:09:53.380
- Absolutely.
00:09:53.380 --> 00:09:54.660
- And speaking of modern Python,
00:09:54.660 --> 00:09:58.700
like there was that proposed change
00:09:58.700 --> 00:10:01.500
to make typing more efficient
00:10:01.500 --> 00:10:04.220
where it wouldn't actually import the things
00:10:04.220 --> 00:10:06.260
until it really needed it.
00:10:06.260 --> 00:10:07.580
Or I can't remember the exact pep,
00:10:07.580 --> 00:10:11.020
but it was a way to sort of delay type information imports
00:10:11.020 --> 00:10:12.620
until you're doing something like mypy
00:10:12.620 --> 00:10:16.140
and the pydantic people and Sebastian at FastAPI
00:10:16.140 --> 00:10:19.700
is like, "Wait, wait, wait, wait, wait, wait, wait, wait.
00:10:19.700 --> 00:10:21.940
We need this, like this is how our thing works.
00:10:21.940 --> 00:10:23.900
If you take away the actual meaning
00:10:23.900 --> 00:10:27.500
other than for verification, it's gonna be a problem."
00:10:27.500 --> 00:10:30.540
- The stringification of the type
00:10:30.540 --> 00:10:33.420
that makes it really hard for these use cases.
00:10:33.420 --> 00:10:35.580
And there's this other approach
00:10:35.580 --> 00:10:40.580
where they basically lazily evaluate the types, I think,
00:10:40.580 --> 00:10:44.400
to avoid this string problem.
00:10:44.400 --> 00:10:45.740
- Yeah. - I don't know if they've,
00:10:45.740 --> 00:10:47.380
I think it's still an open question
00:10:47.380 --> 00:10:49.020
of how to proceed this.
00:10:49.020 --> 00:10:54.880
We should have gotten the string types already
00:10:54.880 --> 00:10:59.640
and then decided to take some more time
00:10:59.640 --> 00:11:02.100
to find a good solution for everybody.
00:11:02.100 --> 00:11:04.320
- Yeah, I think that was, it was sort of delayed.
00:11:04.320 --> 00:11:05.600
I can't remember the total outcome,
00:11:05.600 --> 00:11:07.920
but I think it was like, we needed to think about this more
00:11:07.920 --> 00:11:10.960
and make sure all the use cases are covered, right?
00:11:10.960 --> 00:11:13.120
Cool.
00:11:13.120 --> 00:11:15.840
Okay, well, that's the language.
00:11:15.840 --> 00:11:18.680
One thing that we could talk about real quick,
00:11:18.680 --> 00:11:21.240
that's pretty timely, is this pep
00:11:21.240 --> 00:11:24.400
I just had Brett Cannon and Christian on
00:11:24.400 --> 00:11:27.800
to talk about PEP 594,
00:11:27.800 --> 00:11:31.040
removing dead batteries from the standard library,
00:11:31.040 --> 00:11:34.400
which, you know, it's pretty interesting.
00:11:34.400 --> 00:11:38.200
The idea is a lot of these libraries had been added,
00:11:38.200 --> 00:11:41.760
these core modules have been added to the standard library
00:11:41.760 --> 00:11:45.960
in like 1992, and they might not still be relevant.
00:11:45.960 --> 00:11:48.360
For example, CGI is not the most common way
00:11:48.360 --> 00:11:50.000
to do web apps anymore.
00:11:50.000 --> 00:11:52.960
We've got micro-WSGI and G-Unicorn
00:11:52.960 --> 00:11:54.080
and all those things, right?
00:11:54.080 --> 00:11:57.120
So does that still make sense to maintain them?
00:11:57.120 --> 00:12:00.800
- Yeah, I think the set of libraries
00:12:00.800 --> 00:12:05.000
to remove them was pretty non-controversial.
00:12:05.000 --> 00:12:05.920
- Yeah, I agree.
00:12:05.920 --> 00:12:09.160
- They're just very, very obsolete
00:12:09.160 --> 00:12:11.580
and also basically unmaintained.
00:12:11.580 --> 00:12:18.000
And it's, CPython has, I think, like 90 core developers
00:12:18.000 --> 00:12:24.000
and they have like, I don't know, 1,000,
00:12:24.000 --> 00:12:28.120
1,600 open PRs right now.
00:12:28.120 --> 00:12:35.760
So it's very hard to maintain a huge standard library
00:12:35.760 --> 00:12:39.640
with so little human resources.
00:12:39.640 --> 00:12:49.040
So I think that was a good step.
00:12:49.040 --> 00:12:52.480
What I really find interesting is the vision behind it.
00:12:52.480 --> 00:12:57.320
Where should the standard library go?
00:12:57.320 --> 00:13:02.320
what are the criteria in the future to include libraries?
00:13:02.320 --> 00:13:07.080
For example, we think recently we got Tomlib
00:13:07.080 --> 00:13:09.920
into the standard library.
00:13:09.920 --> 00:13:13.780
- Yeah, to join JSON and CSV and XML and all those, yeah.
00:13:13.780 --> 00:13:18.480
- It started as a PyPI library called Tomli,
00:13:18.480 --> 00:13:19.760
and it's been adopted quickly
00:13:19.760 --> 00:13:21.580
by a lot of the tools out there.
00:13:21.580 --> 00:13:25.480
And now it's part of the,
00:13:25.480 --> 00:13:29.080
that will be part of the standard library.
00:13:29.080 --> 00:13:33.000
So this is, for example, this is something that
00:13:33.000 --> 00:13:38.480
is important to solve a bootstrapping problem
00:13:38.480 --> 00:13:40.360
in the packaging ecosystem,
00:13:40.360 --> 00:13:43.720
because we have PyProjectTOML now,
00:13:43.720 --> 00:13:46.060
and how is pip going to pass
00:13:46.060 --> 00:13:53.240
the PyProjectTOML file, for example?
00:13:53.240 --> 00:13:55.200
How are the other tools going to pass it?
00:13:55.200 --> 00:13:58.840
So it's very advantageous to have it in the standard lib.