ManimCommunity / ManimCommunity/manim
Typing progress tracker
A pull request for this has already been merged.
- #4497 by @henrikmidtiby — merged
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
This issue is meant to track progress related to adding type hints to the library.
Fixes:
- https://github.com/ManimCommunity/manim/issues/52
- https://github.com/ManimCommunity/manim/issues/2121
## Progress (layout subject to changes):
- [x] `_config`: https://github.com/ManimCommunity/manim/pull/3440
- [ ] `animation`: https://github.com/ManimCommunity/manim/pull/3457
- [ ] `camera`
- [x] `cli`: https://github.com/ManimCommunity/manim/pull/3988
- [ ] `gui`
- [ ] `mobject`
- [x] `mobject.geometry`
- [ ] `mobject.graphing`
- [ ] `mobject.opengl`
- [ ] `mobject.svg`
- [ ] `mobject.text`
- [ ] `mobject.three_d`
- [ ] `mobject.types`
- [ ] `mobject.*.py`
- [x] `opengl`
- [x] `plugins`: https://github.com/ManimCommunity/manim/pull/4006
- [ ] `renderer` (on hold due to the experimental branch)
- [ ] `scene`
- [ ] `utils`
- [x] `__main__.py`: https://github.com/ManimCommunity/manim/pull/4007
- [x] `constants.py`: https://github.com/ManimCommunity/manim/pull/3086
- [x] `typing.py`
## Contributing
Contribution guidelines can be found here (TODO).
This issue can be used for any questions (Discord is good place as well).
When starting working on a new module, you can tweak the `ignore_errors` value in the `mypy.ini` configuration file:
https://github.com/ManimCommunity/manim/blob/c6450b21c7d37d97c27beaf39faf2758da03bf8e/.mypy.ini#L4-L6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the progress list in this issue and choose an unfinished module such as camera, gui, mobject, scene, or utils. Start by reading that module and the referenced .mypy.ini ignore_errors setting, then run mypy for the selected area. Done means the module has type hints and its progress entry can be updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100