ManimCommunity / ManimCommunity/manim

Typing progress tracker

Open
#3,375 17 comments 4 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #4497 by @henrikmidtiby — merged
tracking
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.