Slide 1

Slide 1 text

Is Django async yet? Riccardo Magliocchetti - @rmistaken / @[email protected]

Slide 2

Slide 2 text

Is Django ⋎ async yet? Riccardo Magliocchetti - @rmistaken / @[email protected] Rest Framework

Slide 3

Slide 3 text

History of this talk

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Asynchronous Django

Slide 6

Slide 6 text

Django REST Framework?

Slide 7

Slide 7 text

Convert a DRF API to Async DRF ModelViewSet for django.contrib.auth User and Group models

Slide 8

Slide 8 text

Experience of Async DRF

Slide 9

Slide 9 text

Experience of Async DRF - No ModelViewSet available

Slide 10

Slide 10 text

Experience of Async DRF - No ModelViewSet available - Missing HTML rendering

Slide 11

Slide 11 text

Experience of Async DRF - No ModelViewSet available - Missing HTML rendering - Missing async related fields in serializers

Slide 12

Slide 12 text

Experience of Async DRF - No ModelViewSet available - Missing HTML rendering - Missing async related fields in serializers - Missing default permissions classes

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Experience of Async DRF Attempt to fix a couple of issues, still red tests: em1208/adrf/pull/36

Slide 15

Slide 15 text

Experience of Async DRF Try to fix a couple of issues, still red tests: em1208/adrf/pull/36 Good opportunity to write parts of a web framework

Slide 16

Slide 16 text

What good amid these?

Slide 17

Slide 17 text

asgiref.sync.async_to_sync asgiref.sync.sync_to_async

Slide 18

Slide 18 text

OpenTelemetry!

Slide 19

Slide 19 text

Demo!

Slide 20

Slide 20 text

Conclusions - Django proceeds swiftly - Async DRF succession still vacant - Mind the batteries

Slide 21

Slide 21 text

References - Django asynchronous support - DRF async discussion - Async DRF - Demo project - Opentelemetry - opentelemetry-instrumentation-asgiref

Slide 22

Slide 22 text

Thanks! Riccardo Magliocchetti - @rmistaken / @[email protected]