Monkey-patching and extensions for django-stubs
Project description
Extensions and monkey-patching for django-stubs
This package contains extensions and monkey-patching functions for the django-stubs package. Certain features of django-stubs (i.e. generic django classes that don't define the __class_getitem__
method) require runtime monkey-patching, which can't be done with type stubs. These extensions were split into a separate package so library consumers don't need mypy
as a runtime dependency (#526).
Installation
pip install django-stubs-ext
Usage
In your Django application, use the following code:
import django_stubs_ext
django_stubs_ext.monkeypatch()
This only needs to be called once, so the call to monkeypatch
should be placed in your top-level settings.
Real-life example can be found here.
Version compatibility
Since django-stubs supports multiple Django versions, this package takes care to only monkey-patch the features needed by your django version, and decides which features to patch at runtime. This is completely safe, as (currently) we only add a __class_getitem__
method that does nothing:
@classmethod
def __class_getitem__(cls, *args, **kwargs):
return cls
To get help
For help with django-stubs, please view the main repository at https://github.com/typeddjango/django-stubs
We have a Gitter chat here: https://gitter.im/mypy-django/Lobby If you think you have a more generic typing issue, please refer to https://github.com/python/mypy and their Gitter.
Contributing
The django-stubs-ext package is part of the django-stubs monorepo. If you would like to contribute, please view the django-stubs contribution guide.
You can always also reach out in gitter to discuss your contributions!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-stubs-ext-adb-0.7.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a824aac15d99231b50f0adf841599a4c27c5083436b9643b8e56c2fbe15fd1b |
|
MD5 | bb01a06e88324a9c8c981407eb31dac0 |
|
BLAKE2b-256 | 990399ebc5dcc5851024f11c13747f65551743d892201730bd97ad12dc5bcdbb |
Hashes for django_stubs_ext_adb-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 198482315eea7afb4e12c8739c9be07e86572348b9ffe754de4ae0f40de42c99 |
|
MD5 | a55792f9cd2d64a4f51f17d5a3bd7aa8 |
|
BLAKE2b-256 | 84f516a3425db0893cb92937754b05565383d86455d70483d4bc67f5fac5bd8a |