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!
Metadata
Release files for django-stubs-ext 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-stubs-ext-0.8.0.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_stubs_ext-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.6 kB
Release files / django-stubs-ext-0.8.0.tar.gz
| Download URL | django-stubs-ext-0.8.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a9ba9e2808737949de96a0fce8b054f12d38e461011d77ebc074ffe8c43dfcb
|
|
BLAKE2b-256 checksum How to use checksums |
de27518a5c6326d4444a4d59d8a6ff50ec131ab67da7460c645745d13d2c168f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|
Release files / django_stubs_ext-0.8.0-py3-none-any.whl
| Download URL | django_stubs_ext-0.8.0-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a454d349d19c26d6c50c4c6dbc1e8af4a9cda4ce1dc4104e3dd4c0330510cc56
|
|
BLAKE2b-256 checksum How to use checksums |
061c952f81adc763424c5f429814b289ede729dc6ee4ed0cc087b3260744d96b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|