bazel-contrib / bazel-contrib/rules_mypy
Create cache for pypi modules
- Dominant language
- Starlark
- Stars
- 12
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Currently if you have multiple libraries in your dependency tree that both depend on a large pypi dependency, such as pytorch, each time mypy is run on them their own cache gets populated with info about pytorch. Then each time they are rerun and that has to be recalculated (which takes on the order of minutes). Ideally it would be possible to share a mypy cache from one of these nested targets so this only had to be done once, and it would be more resilient to invalidations
Is this feasible?
Contributor guide
Research direction
Start by examining how rules_mypy invokes mypy for nested Bazel targets and how each target populates its cache. Compare dependency-tree behavior for shared PyPI modules such as pytorch. Done means determining whether a shared cache is feasible and defining its invalidation behavior; the issue provides no file or test pointers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- build-system, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100