Skip to main content

PEP-484 stubs for django-rest-framework

Project description

mypy logo

pep484 stubs for Django REST framework

Build Status Checked with mypy Gitter

Mypy stubs for Django REST Framework. Supports Python 3.8 and up.

Installation

pip install djangorestframework-stubs[compatible-mypy]

To make mypy aware of the plugin, you need to add

[mypy]
plugins =
    mypy_drf_plugin.main

in your mypy.ini file.

FAQ

Model instance is inferred as Any instead of my Model class

When subclassing ModelSerializer, add a type argument to type-hint the related model class, for example:

class MyModelSerializer(serializers.ModelSerializer[MyModel]):
    class Meta:
        model = MyModel
        fields = ("id", "example")

Which means that methods where the model is being passed around will know the actual type of the model instead of being Any. The instance attribute on the above serializer will be Union[MyModel, typing.Sequence[MyModel], None].

To get help

We have Gitter here: https://gitter.im/mypy-django/Lobby If you think you have more generic typing issue, please refer to https://github.com/python/mypy and their Gitter.

Contributing

This project is open source and community driven. As such we encourage contributions big and small. You can contribute by doing any of the following:

  1. Contribute code (e.g. improve stubs, add plugin capabilities, write tests etc) - to do so please follow the contribution guide.
  2. Assist in code reviews and discussions in issues.
  3. Identify bugs and issues and report these

You can always also reach out in gitter to discuss your contributions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangorestframework-stubs-3.14.3.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file djangorestframework-stubs-3.14.3.tar.gz.

File metadata

File hashes

Hashes for djangorestframework-stubs-3.14.3.tar.gz
Algorithm Hash digest
SHA256 6ca33f80627ef5faeaf4200c6549bff709983df797b2b84d98859d590b9c3f2b
MD5 c20c737c6c760e1768ade42a174fb0ad
BLAKE2b-256 18d2393d1c19dd0162df4777182d2939f07ddcfe1627e7dafaff63e7b75dce23

See more details on using hashes here.

File details

Details for the file djangorestframework_stubs-3.14.3-py3-none-any.whl.

File metadata

File hashes

Hashes for djangorestframework_stubs-3.14.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a391b7fc20d60fc956e08494cf13be270c5d16704fa0bcae060b65a5350b3d7b
MD5 cbba0070f8e33e00fb5e295ac7b16542
BLAKE2b-256 486dee909b8d8ddfd9e1ebaf57d4b5eefb154fa6aa1f145c1775f4efdd1669db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page