72 lines
3.3 KiB
Text
72 lines
3.3 KiB
Text
Metadata-Version: 2.4
|
|
Name: django-stubs-ext
|
|
Version: 5.2.2
|
|
Summary: Monkey-patching and extensions for django-stubs
|
|
Project-URL: Homepage, https://github.com/typeddjango/django-stubs
|
|
Project-URL: Funding, https://github.com/sponsors/typeddjango
|
|
Project-URL: Release notes, https://github.com/typeddjango/django-stubs/releases
|
|
Author: Simula Proxy
|
|
Maintainer-email: Marti Raudsepp <marti@juffo.org>, Nikita Sobolev <mail@sobolevn.me>, Petter Friberg <petter_friberg@hotmail.com>, Adam Johnson <me@adamj.eu>
|
|
License-Expression: MIT
|
|
License-File: LICENSE.md
|
|
Classifier: Framework :: Django
|
|
Classifier: Framework :: Django :: 5.0
|
|
Classifier: Framework :: Django :: 5.1
|
|
Classifier: Framework :: Django :: 5.2
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python :: 3.13
|
|
Classifier: Typing :: Typed
|
|
Requires-Python: >=3.10
|
|
Requires-Dist: django
|
|
Requires-Dist: typing-extensions
|
|
Description-Content-Type: text/markdown
|
|
|
|
# Extensions and monkey-patching for django-stubs
|
|
|
|
[](https://github.com/typeddjango/django-stubs/actions?query=workflow%3Atest)
|
|
[](http://mypy-lang.org/)
|
|
|
|
|
|
This package contains extensions and monkey-patching functions for the [django-stubs](https://github.com/typeddjango/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](https://github.com/typeddjango/django-stubs/pull/526#pullrequestreview-525798031)).
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install django-stubs-ext
|
|
```
|
|
|
|
## Usage
|
|
|
|
In your Django application, use the following code:
|
|
|
|
```py
|
|
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](https://github.com/wemake-services/wemake-django-template/blob/5bf1569e2710e11befc6991893f94419136d74bd/%7B%7Bcookiecutter.project_name%7D%7D/server/settings/__init__.py#L14-L19).
|
|
|
|
## 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:
|
|
|
|
```py
|
|
@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>
|
|
|
|
## Contributing
|
|
|
|
The django-stubs-ext package is part of the [django-stubs](https://github.com/typeddjango/django-stubs) monorepo. If you would like to contribute, please view the django-stubs [contribution guide](https://github.com/typeddjango/django-stubs/blob/master/CONTRIBUTING.md).
|
|
|
|
You can always also reach out in gitter to discuss your contributions!
|