bazel-contrib / bazel-contrib/rules_mypy

Create cache for pypi modules

Open
#23 11 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.