#468: A bolt of Django
About the show
Sponsored by us! Support our work through:
Connect with the hosts
- Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)
- Brian: @brianokken@fosstodon.org / @brianokken.bsky.social
- Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky)
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 11am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Brian #1: django-bolt : Faster than FastAPI, but with Django ORM, Django Admin, and Django packages
- Farhan Ali Raza
- High-Performance Fully Typed API Framework for Django
- Inspired by DRF, FastAPI, Litestar, and Robyn
- Django-Bolt docs
- Interview with Farhan on Django Chat Podcast
- And a walkthrough video
Michael #2: pyleak
- Detect leaked asyncio tasks, threads, and event loop blocking with stack trace in Python. Inspired by goleak.
- Has patterns for
- Context managers
- decorators
- Checks for
- Unawaited asyncio tasks
- Threads
- Blocking of an asyncio loop
- Includes a pytest plugin so you can do
@pytest.mark.no_leaks
Brian #3: More Django (three articles)
- Migrating From Celery to Django Tasks
- Paul Taylor
- Nice intro of how easy it is to get started with Django Tasks
- Some notes on starting to use Django
- Julia Evans
- A handful of reasons why Django is a great choice for a web framework
- less magic than Rails
- a built-in admin
- nice ORM
- automatic migrations
- nice docs
- you can use sqlite in production
- built in email
- The definitive guide to using Django with SQLite in production
- I’m gonna have to study this a bit.
- The conclusion states one of the benefits is “reduced complexity”, but, it still seems like quite a bit to me.
Michael #4: Datastar
Sent to us by Forrest Lanier
Lots of work by Chris May
Out on Talk Python soon.
Datastar is a little like HTMX, but
The single source of truth is your server
Events can be sent from server automatically (using SSE)
- e.g
yield SSE.patch_elements( f"""{(#HTML#)}{datetime.now().isoformat()}""" )
- e.g
Extras
Brian:
- Django Chat: Inverting the Testing Pyramid - Brian Okken
- Quite a fun interview
- PEP 686 – Make UTF-8 mode default
- Now with status “Final” and slated for Python 3.15
Michael:
- Prayson Daniel’s Paper tracker
- Ice Cubes (open source Mastodon client for macOS)
- Rumdl for PyCharm, et. al
- cURL Gets Rid of Its Bug Bounty Program Over AI Slop Overrun
- Python Developers Survey 2026
Joke: Pushed to prod
Episode Transcript
Collapse transcript
00:00
00:06
00:11
00:12
00:13
00:16
00:23
00:24
00:26
00:28
00:30
00:31
00:35
00:38
00:39
00:44
00:48
00:51
00:53
00:54
00:55
01:01
01:04
01:12
01:18
01:24
01:29
01:36
01:40
01:46
01:49
01:51
01:54
01:58
02:00
02:08
02:10
02:12
02:19
02:30
02:33
02:39
02:49
02:52
02:55
02:57
03:00
03:03
03:05
03:10
03:12
03:13
03:16
03:28
03:31
03:38
03:42
03:44
03:46
03:50
03:56
04:01
04:07
04:13
04:18
04:22
04:27
04:32
04:39
04:46
04:53
04:58
05:05
05:06
05:07
05:13
05:14
05:16
05:18
05:21
05:25
05:28
05:41
05:46
05:52
05:59
06:01
06:09
06:14
06:19
06:24
06:28
06:32
06:34
06:38
06:41
06:44
06:50
06:54
06:58
06:59
07:05
07:06
07:11
07:13
07:17
07:22
07:23
07:25
07:29
07:31
07:32
07:34
07:37
07:38
07:42
07:44
07:47
07:49
07:50
07:55
08:03
08:06
08:13
08:18
08:23
08:30
08:32
08:37
08:40
08:44
08:45
08:51
08:58
09:03
09:08
09:14
09:20
09:22
09:25
09:26
09:30
09:38
09:40
09:42
09:42
09:43
09:47
09:48
09:48
09:48
09:49
09:52
09:55
09:57
10:00
10:06
10:09
10:11
10:12
10:16
10:23
10:29
10:36
10:43
10:48
10:53
11:00
11:06
11:11
11:18
11:23
11:29
11:35
11:41
11:45
11:54
11:58
12:01
12:06
12:09
12:14
12:18
12:26
12:30
12:35
12:38
12:41
12:46
12:53
12:55
12:57
12:59
13:03
13:04
13:07
13:14
13:21
13:28
13:35
13:42
13:48
13:55
14:00
14:09
14:16
14:20
14:30
14:39
14:45
14:53
14:57
15:01
15:06
15:09
15:12
15:14
15:21
15:26
15:29
15:34
15:38
15:44
15:45
15:50
15:54
15:56
15:59
16:00
16:02
16:05
16:09
16:12
16:16
16:18
16:21
16:27
16:29
16:31
16:33
16:35
16:36
16:38
16:42
16:44
16:46
16:47
16:49
16:51
16:56
17:00
17:02
17:05
17:06
17:10
17:12
17:15
17:19
17:20
17:22
17:26
17:27
17:29
17:31
17:34
17:37
17:41
17:44
17:47
17:50
17:55
18:00
18:05
18:12
18:17
18:20
18:27
18:29
18:32
18:34
18:40
18:43
18:44
18:48
18:52
18:53
18:58
19:05
19:09
19:13
19:16
19:19
19:21
19:23
19:24
19:25
19:27
19:28
19:30
19:32
19:32
19:35
19:35
19:36
19:44
19:49
19:56
20:00
20:04
20:08
20:10
20:17
20:23
20:27
20:34
20:42
20:44
20:47
20:59
21:01
21:03
21:07
21:07
21:09
21:10
21:14
21:15
21:18
21:19
21:22
21:25
21:29
21:32
21:38
21:39
21:40
21:47
21:54
21:58
22:01
22:02
22:04
22:06
22:13
22:17
22:22
22:25
22:27
22:28
22:29
22:31
22:34
22:39
22:46
22:53
22:59
23:06
23:13
23:22
23:28
23:34
23:39
23:44
23:50
23:57
23:59
24:01
24:02
24:03
24:07
24:12
24:14
24:18
24:21
24:23
24:24
24:25
24:27
24:32
24:35
24:41
24:42
24:46
24:47
24:47
24:50
24:54
24:56
24:58
25:00
25:05
25:08
25:11
25:14
25:14
25:15
25:16
25:23
25:24
25:25
25:27
25:31
25:36
25:39
25:43
25:43
25:48
25:54
25:56
26:08
26:15
26:17
26:19
26:19
26:20
26:22
26:23
26:27
26:32
26:35
26:41
26:46
26:53
26:55
26:57
26:59
27:01
27:03
27:06
27:06
27:07
27:11
27:12
27:12
27:15
27:21
27:22
27:23
27:23
27:25
27:26
27:29
27:30
27:33
27:36
27:36
27:38
27:41
27:41
27:42
27:45
27:48
27:49
27:52
27:57
28:03
28:09
28:15
28:19
28:24
28:29
28:32
28:34
28:35
28:37
28:38
28:41
28:42
28:42
28:44
28:47
28:48
28:53
29:02
29:09
29:16
29:26
29:33
29:38
29:43
29:52
29:59
30:00
30:02
30:12
30:16
30:18
30:20
30:21
30:23
30:25
30:30
30:34
30:35
30:36
30:37
30:41
30:42
30:45
30:46
30:47
30:49
30:49
30:51
30:55
30:56
30:56
30:57
30:58
30:59
31:00
31:00



