@@ -9,60 +9,26 @@ core team member that nobody else is working on the same thing.
9
9
on, and everything is subject to change. Near-term plans are likely
10
10
more accurate.
11
11
12
- ## April-June 2017
13
-
14
- - Add more comprehensive testing for ` --incremental ` and ` --quick `
15
- modes to improve reliability. At least write more unit tests with
16
- focus on areas that have previously had bugs.
17
- ([ issue] ( https://github.com/python/mypy/issues/3455 ) )
18
-
19
- - Speed up ` --quick ` mode to better support million+ line codebases
20
- through some of these:
21
-
22
- - Make it possible to use remote caching for incremental cache
23
- files. This would speed up a cold run with no local cache data.
24
- We need to update incremental cache to use hashes to determine
25
- whether files have changes to allow
26
- [ sharing cache data] ( https://github.com/python/mypy/issues/3403 ) .
27
-
28
- - See if we can speed up deserialization of incremental cache
29
- files. Initial experiments aren’t very promising though so there
30
- might not be any easy wins left.
31
- ([ issue] ( https://github.com/python/mypy/issues/3456 ) )
32
-
33
- - Improve support for complex signatures such as ` open(fn, 'rb') ` and
34
- specific complex decorators such as ` contextlib.contextmanager `
35
- through type checker plugins/hooks.
36
- ([ issue] ( https://github.com/python/mypy/issues/1240 ) )
12
+ ## July-December 2017
13
+
14
+ - Fix remaining highest-priority TypedDict issues and make TypedDict
15
+ an officially supported mypy feature.
37
16
38
17
- Document basic properties of all type operations used within mypy,
39
18
including compatibility, proper subtyping, joins and meets.
40
19
([ issue] ( https://github.com/python/mypy/issues/3454 ) )
41
20
42
- - Make TypedDict an officially supported mypy feature. This makes it
43
- possible to give precise types for dictionaries that represent JSON
44
- objects, such as ` {"path": "/dir/fnam.ext", "size": 1234} ` .
45
- ([ issue] ( https://github.com/python/mypy/issues/3453 ) )
46
-
47
- - Make error messages more useful and informative.
21
+ - Continue making error messages more useful and informative.
48
22
([ issue] ( https://github.com/python/mypy/labels/topic-usability ) )
49
23
50
24
- Resolve [ #2008 ] ( https://github.com/python/mypy/issues/2008 ) (we are
51
25
converging on approach 4).
52
26
53
- ## July-December 2017
54
-
55
27
- Invest some effort into systematically filling in missing
56
28
annotations and stubs in typeshed, with focus on features heavily
57
29
used at Dropbox. Better support for ORMs will be a separate
58
30
project.
59
31
60
- - Improve opt-in warnings about ` Any ` types to make it easier to keep
61
- code free from unwanted ` Any ` types. For example, warn about using
62
- ` list ` (instead of ` List[x] ` ) and calling ` open ` if we can’t infer a
63
- precise return type, or using types imported from ignored modules
64
- (they are implicitly ` Any ` ).
65
-
66
32
- Add support for protocols and structural subtyping (PEP 544).
67
33
68
34
- Switch completely to pytest and remove the custom testing framework.
@@ -73,24 +39,25 @@ more accurate.
73
39
significantly. Even when using the incremental mode, processing a
74
40
large number of files is not cheap.
75
41
42
+ - Provide much faster, reliable interactive feedback through
43
+ fine-grained incremental type checking, built on top the daemon
44
+ mode.
45
+
76
46
- Refactor and simplify specific tricky parts of mypy internals, such
77
47
as the [ conditional type binder] ( https://github.com/python/mypy/issues/3457 ) ,
78
48
[ symbol tables] ( https://github.com/python/mypy/issues/3458 ) or
79
49
the various [ semantic analysis passes] ( https://github.com/python/mypy/issues/3459 ) .
80
50
81
- - Implement a general type system plugin architecture. It should be
82
- able to support some typical ORM features at least, such as
83
- metaclasses that add methods with automatically inferred signatures
84
- and complex descriptors such as those used by Django models.
51
+ - Make the mypy plugin architecture more general and officially
52
+ supported. It should be able to support some typical ORM features at
53
+ least, such as metaclasses that add methods with automatically
54
+ inferred signatures and complex descriptors such as those used by
55
+ Django models.
85
56
([ issue] ( https://github.com/python/mypy/issues/1240 ) )
86
57
87
58
- Add support for statically typed
88
59
[ protobufs] ( https://developers.google.com/protocol-buffers/ ) .
89
60
90
- - Provide much faster, reliable interactive feedback through
91
- fine-grained incremental type checking, built on top the daemon
92
- mode.
93
-
94
61
- Start work on editor plugins and support for selected IDE features.
95
62
96
63
- Turn on ` --strict-optional ` by default.
0 commit comments