Skip to content

Commit 108f714

Browse files
JukkaLgvanrossum
authored andcommitted
Update roadmap (#3696)
Remove items that we've finished from the roadmap. Remove April-June heading. Updated to remaining items.
1 parent 255ccc5 commit 108f714

File tree

1 file changed

+14
-47
lines changed

1 file changed

+14
-47
lines changed

ROADMAP.md

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -9,60 +9,26 @@ core team member that nobody else is working on the same thing.
99
on, and everything is subject to change. Near-term plans are likely
1010
more accurate.
1111

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.
3716

3817
- Document basic properties of all type operations used within mypy,
3918
including compatibility, proper subtyping, joins and meets.
4019
([issue](https://github.com/python/mypy/issues/3454))
4120

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.
4822
([issue](https://github.com/python/mypy/labels/topic-usability))
4923

5024
- Resolve [#2008](https://github.com/python/mypy/issues/2008) (we are
5125
converging on approach 4).
5226

53-
## July-December 2017
54-
5527
- Invest some effort into systematically filling in missing
5628
annotations and stubs in typeshed, with focus on features heavily
5729
used at Dropbox. Better support for ORMs will be a separate
5830
project.
5931

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-
6632
- Add support for protocols and structural subtyping (PEP 544).
6733

6834
- Switch completely to pytest and remove the custom testing framework.
@@ -73,24 +39,25 @@ more accurate.
7339
significantly. Even when using the incremental mode, processing a
7440
large number of files is not cheap.
7541

42+
- Provide much faster, reliable interactive feedback through
43+
fine-grained incremental type checking, built on top the daemon
44+
mode.
45+
7646
- Refactor and simplify specific tricky parts of mypy internals, such
7747
as the [conditional type binder](https://github.com/python/mypy/issues/3457),
7848
[symbol tables](https://github.com/python/mypy/issues/3458) or
7949
the various [semantic analysis passes](https://github.com/python/mypy/issues/3459).
8050

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.
8556
([issue](https://github.com/python/mypy/issues/1240))
8657

8758
- Add support for statically typed
8859
[protobufs](https://developers.google.com/protocol-buffers/).
8960

90-
- Provide much faster, reliable interactive feedback through
91-
fine-grained incremental type checking, built on top the daemon
92-
mode.
93-
9461
- Start work on editor plugins and support for selected IDE features.
9562

9663
- Turn on `--strict-optional` by default.

0 commit comments

Comments
 (0)