APIs Django Type-Hinting
See in schedule: Wed, Jul 28, 11:30-12:00 CEST (30 min) Download/View SlidesPython 3 introduced type hints and it's optional to use.
The decision to use the type-hints in the python community is in two different camps - Embrace and skeptical.
Adding type-hints has practical problems.
One such example is the working of type-checker,
`mypy`, and CPython interpreter. `mypy` behaves like a statically typed language (strict with type declaration and modification) whereas Python run-time is lenient.
Example
```
a: int = 23
a = 'Django'
```
Mypy will complain about the above code whereas Python run-time will not complain.
In this talk, I'll cover the following topics
- how to add type-hints to Django project - views, models, and queryset.
- Tools to help to add type-hints.
- Adding type-hints to user-defined code.
- Current limitation of the type-hints.
- Tuning mypy to suit your needs - strict and lenient checking.
All the example code snippets will run on Python 3.9.4+.
References:
- Type Hints: https://docs.python.org/3/library/typing.html
- Mypy - http://mypy-lang.org/
- Django: https://www.djangoproject.com/
- Django Stubs - https://github.com/TypedDjango/django-stubs
- Django Restframeowrk - https://www.django-rest-framework.org/
- Django Restframework stubs - https://github.com/typeddjango/djangorestframework-stubs
Type: Talk (30 mins); Python level: Intermediate; Domain level: Intermediate
I'm Kracekumar, a software engineer who worked on building web applications, data pipelines, and deep learning networks. Currently, I work as a Senior Software Engineer at [Airbase](https://www.airbase.com/).