Nikita Sobolev
b50a9077f8
Adds django@4.0 support ( #786 )
...
* Adds django@4.0 support
* Fixes CI
* Fixes CI
* Ignore new error for django4.0
* Fixes
2021-12-16 21:51:46 +03:00
Konstantin Alekseev
9beb5327de
Create related managers from generated managers ( #580 )
2021-04-07 11:37:28 +03:00
Marti Raudsepp
36d1778e2a
Django admin additions ( #543 )
2020-12-17 13:23:51 +03:00
Na'aman Hirschfeld
44151c485d
updated package setup ( #485 )
...
* updated package setup
* updated to use python 3.9
* fixed test runner
* fixed typecheck tests
* fixed discrepencies
* added override to runner
* updated travis
* updated pre-commit hooks
* updated dep
2020-10-29 11:59:48 +03:00
Brian Helba
9d4d06f8b3
Allow overridable checks to be CheckMessage ( #497 )
...
* Allow overridable checks to be CheckMessage
The checks framework expects return types to be "List[CheckMessage]". This
allows all overridable checks-returning methods to return the more general
"CheckMessage", instead of the "Error" subclass.
* Ignore an incorrect usage of the checks API in Django 2.2
2020-10-22 15:12:36 +03:00
Marti Raudsepp
5ff99fd047
Check arguments to django.urls.{path,re_path} functions ( #464 )
...
These functions were added in Django 2.0, but the stubs have been
incomplete since commit 9a68263257
The implementation is almost identical to `url()` from
`conf/urls/__init__.pyi`
2020-09-17 18:08:26 +03:00
Kacper
391bbc59d5
WIP Fix ci/cd ( #396 )
...
* pytest-mypy-plugins package newer version
* Revert "pytest-mypy-plugins package newer version"
This reverts commit 871347a86577a5dad867bc751689bbc06d2bcae0.
* update tests ignores for django
* Revert "update tests ignores for django"
This reverts commit 93fc66e311af62cf8cf5b79a72ab723bf3cf060a.
* lets see what happen :)
Co-authored-by: Kacper Szmigiel <szmigielkacper@gmai.com >
2020-06-11 23:05:59 +03:00
Kacper
4c5723d368
WIP Issue 388 ( #390 )
...
* updated mypy dependency
* update readme
* readme update v2
* pytest-mypy-plugins newer version
* updated pytest_mypy_plugins name
* update ignored errors for typechecking django test suite
Co-authored-by: Kacper Szmigiel <szmigielkacper@gmai.com >
2020-06-06 11:35:51 +03:00
Marti Raudsepp
7af89ee6a6
Update to mypy 0.770 ( #341 )
2020-03-13 16:45:45 +03:00
Marti Raudsepp
afa16bfb74
Make decorator functions transparent to Mypy ( #306 )
...
By declaring return type as -> Callable[[_C], _C], Mypy can infer that
the decorated function has also the same arguments and return type as
the original.
View functions are constrained to return HttpResponseBase (or any
subclass of it).
Also added typecheck test coverage to most of the cases.
2020-03-12 00:32:30 +03:00
Marti Raudsepp
f77073157b
Fix CI build errors ( #339 )
...
* Updated gitpython dependency to fix error:
ModuleNotFoundError: No module named 'gitdb.utils.compat'
* Updated Django repository git refs because old 3.0.x commit hash gave error:
stderr: 'fatal: reference is not a tree: 6cb30414bc0f83b49afc4cae76d4af5656effe9a'
* Newer Django version also needs new ignores.
2020-03-12 00:19:51 +03:00
Marti Raudsepp
95e6c94319
Improve test client type stubs ( #322 )
...
* Added missing `follow: bool` argument to Client request methods.
* Annotated return types as `HttpResponse` instead of `Any`.
* Made `Client` class inherit from `RequestFactory`, as it does in Django.
* Changed `json()` return type to Any, as it can also be a list.
Wrt (2), these return types were reverted from `HttpResponse` to `Any`
in commit 287c64d6fb . But I suspect that
was simply to silence mypy warnings about "incompatible with supertype
RequestFactory", not because there were any issues with the annotation.
Note that `Client.request()` monkey-patches the `HttpResponse` object
with some additional attributes. Those attributes were already annotated
before, I reordered and added additional comments to make it clear where
they come from.
2020-02-12 18:44:17 +03:00
Marti Raudsepp
6f296b0a91
Implement @cached_property attribute inference ( #292 )
2020-01-10 13:57:09 +03:00
Maxim Kurnikov
72f69e1c5e
remove unused ignores
2019-12-18 00:02:55 +03:00
Maksim Kurnikov
665f4d8ea1
Make related manager inherit from objects of related model ( #278 )
...
* related manager inherits from objects of related model
* fix test typechecking
* lint
2019-12-17 19:06:27 +03:00
Maksim Kurnikov
d0c25e3bce
Allow to run from_queryset() with BaseManager, Manager ( #271 )
...
* allow to run from_queryset() with BaseManager, Manager
* fix tests
2019-12-13 20:16:33 +03:00
Maksim Kurnikov
1c31e71ffc
enable 'model_forms' for tests typechecking ( #270 )
2019-12-13 13:30:21 +03:00
Maksim Kurnikov
5832605053
Remove warning about unsupported expression types ( #266 )
...
* remove warning about unsupported expression for _meta.get_field()
* lint
2019-12-12 08:20:52 +03:00
Maksim Kurnikov
f02050911f
various annotation improvements ( #258 )
2019-12-12 06:42:29 +03:00
Maksim Kurnikov
5a45544e76
Optimize tests typechecking script ( #255 )
...
* skip whole Django repo for tests typechecking
* lint
2019-12-11 00:52:08 +03:00
Maksim Kurnikov
8c2de7da56
add a number of django test directories for typecheck ( #257 )
2019-12-11 00:51:32 +03:00
Maksim Kurnikov
4ac43c6ed6
Add Django 3.0 testing to CI ( #246 )
...
* add Django 3.0 testing to CI
* remove importlib_metadata usage
* conditionally load choices module for tests
2019-12-06 23:36:24 +03:00
Konstantin Alekseev
041754f817
Fix smtp backend open ( #240 )
2019-12-01 20:46:11 +03:00
Konstantin Alekseev
c0c5d1e588
Cleanup EmailMessage types ( #208 )
...
* Cleanup EmailMessage types
* Typecheck email module tests.
2019-12-01 17:14:16 +03:00
Maksim Kurnikov
f824003cc4
remove unused ignore pattern ( #239 )
2019-12-01 00:09:36 +03:00
Maxim Kurnikov
2c4827bbaf
properly change type of self for methods on custom manager classes
2019-11-30 22:08:16 +03:00
Maksim Kurnikov
8d986a0f43
remove catch-all __getattr__ for Manager, fix some issues with manager methods ( #227 )
2019-11-12 20:36:07 +03:00
Maksim Kurnikov
287c64d6fb
Pin to 0.740 and fix CI ( #225 )
...
* update django sources
* pin mypy version, update to 0.740
* fix tests typechecking
* fix lint
2019-11-12 05:17:36 +03:00
Maxim Kurnikov
8402e7c53e
improve annotations in some places ( #202 )
...
* improve annotations in some places
* linting
2019-10-07 14:50:45 +03:00
Maxim Kurnikov
02bdf5be95
add support for typechecking of filter/get/exclude arguments ( #183 )
...
* add support for typechecking of filter/get/exclude arguments
* linting
2019-09-30 03:05:40 +03:00
Maxim Kurnikov
4d4b0003bd
Fix Paginator properties mistyped as Callables ( #193 )
...
Co-authored-by: Nick Sweeting <git@sweeting.me >
2019-09-28 22:16:20 +03:00
Maxim Kurnikov
32c0cbca45
add some diagnostic for unused ignores for tests typechecking ( #191 )
2019-09-28 21:38:56 +03:00
Maxim Kurnikov
be3fc259d5
fix compatibility with 0.730 ( #189 )
2019-09-28 05:23:55 +03:00
Maxim Kurnikov
7725b416b6
add unused ignores reporting ( #188 )
2019-09-28 04:48:44 +03:00
Maxim Kurnikov
a85dbff793
update import_all test, add some stubs for postgres ( #178 )
2019-09-23 19:47:11 +03:00
Maxim Kurnikov
2b53fa5a1a
Fix typecheck tests ci ( #165 )
...
* remove mention of mypy newsemanal to prepare for 0.730
* make typecheck_tests CI really work
* fix lints
* fix intentional error
* merge stderr in stdout to preserve order
Co-authored-by: Daniel Hahler <github@thequod.de >
2019-09-16 14:35:13 +03:00
Daniel Hahler
e3ea84143f
WIP: fix scripts/typecheck_tests.py ( #162 )
...
* WIP: fix scripts/typecheck_tests.py
Exit non-zero if it fails to run.
Currently it fails on CI, but goes unnoticed:
https://travis-ci.com/typeddjango/django-stubs/jobs/235296115
* exit on unexpected rc, and output on stderr
* Fix
* scripts/mypy.ini: django_settings_module=scripts.django_tests_settings
2019-09-14 22:23:45 +03:00
Maxim Kurnikov
fc9a335dfd
make ValuesQuerySet have proper Collection generic type ( #140 )
2019-08-24 18:24:21 +03:00
Maxim Kurnikov
656105bab2
make first() an Optional, allow to specify QuerySet with one parameter ( #136 )
2019-08-23 03:31:07 +03:00
Maxim Kurnikov
bc42cc2fa1
add python3.6 tests typechecking
2019-07-25 19:56:37 +03:00
Maxim Kurnikov
a0a2ecaf46
fix additional mypy config and auto settings
2019-07-25 19:14:36 +03:00
Maxim Kurnikov
a97d76020c
enable tests typechecking using django submodule
2019-07-24 23:44:57 +03:00
Maxim Kurnikov
b6a5ccabdf
move configuration to [mypy.plugins.django-stubs] inside mypy config file
2019-07-24 22:32:52 +03:00
Maxim Kurnikov
6332620443
rewrite pytest-mypy-plugin extension code to use new hook
2019-07-24 13:39:24 +03:00
Maxim Kurnikov
335c5765c3
enable test folders: select_for_update, i18n, httpwrappers, auth_tests, extra_regress ( #107 )
2019-07-10 19:38:36 +03:00
Maxim Kurnikov
b397ec04a9
add utils_tests test folder to typechecking ( #106 )
2019-07-10 18:19:37 +03:00
Maxim Kurnikov
2799646723
add missing files throughout the codebase ( #102 )
2019-07-09 05:18:15 +03:00
Maxim Kurnikov
d8230a4147
Add typechecking for 'file_storage', 'files' test folders ( #101 )
...
* add typechecking for 'file_storage', 'files' test folders
* fix File class annotations
2019-07-07 03:58:00 +03:00
Maxim Kurnikov
a77d5b27d8
Update typecheck_tests to django 2.2 branch, remove unused ignores ( #98 )
...
* update typecheck_tests to django 2.2 branch, remove unused ignores
* lint fixes
2019-07-01 18:44:34 +03:00
Maxim Kurnikov
aeb435c8b3
Disable monkeypatches, add dependencies via new hook ( #60 )
...
* code cleanups, disable monkeypatches, move to add_additional_deps
* disable incremental mode for tests
* add pip-wheel-metadata
* move some code from get_base_hook to get_attribute_hook to reduce dependencies
* simplify values/values_list tests and code
* disable cache for some tests failing with incremental mode
* enable incremental mode for tests typechecking
* pin mypy version
* fix tests
* lint
* fix internal crashes
2019-04-12 14:54:00 +03:00