-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Developer Guides
If you are interested in becoming a contributor, it's useful to go through these guides first.
First of all, read the README.md file in the repository.
-
Learning Resources: What to read if you want to understand mypy internals.
-
Implementation Overview: An introduction to the structure of the implementation. Subsections:
-
Getting Started Developing: Some basic hints for developers.
-
Code Conventions: Follow these code conventions when writing code.
-
Mypy Tests: How to write mypy tests using .test files.
-
Using git and GitHub for mypy development: Getting started with GitHub (for GitHub novices).
-
Anatomy of a good pull request: How to get your code merged more quickly.
-
How to decide what to work on and issue tracker instructions: Pick a task and start coding!
-
Creating Stubs For Python Modules: You can add support to a Python module by creating interface stubs. This page contains the documentation.
-
Profiling Mypy: Profiling mypy requires special tooling, since mypy is compiled to extension modules.
Feel free to contact the developers (either file an issue on GitHub or email directly) if something is unclear or if you have ideas for changing how things work.
Python Community Code of Conduct does a great job of presenting more general, common sense guidelines that apply equally well to the mypy project.
Mypyc is a compiler from type-annotated Python to C extensions. It's used to compile mypy and it can be also be used to compile user code. Mypyc is still considered experimental as an end user tool. We've used it to compile the official mypy releases since April 2019, so it's considered stable for compiling mypy.
- Mypyc Issue Tracker: Mypyc issues are tracked separately from mypy issues
- Mypyc Documentation: Mypyc user documentation (useful for mypy developers who want to understand how compiled Python is different from regular Python)
- Introduction to Mypyc for Contributors
- Mypyc Implementation Overview
- Mypyc Development Workflows