https://pantsbuild.org/ logo
#development
Title
# development
w

witty-crayon-22786

10/28/2020, 9:42 PM
hey folks! i’ve prepped a blog post that explains dependency inference which i think we’d like to post tomorrow!: https://docs.google.com/document/d/1iopAAbCsXjR-0FO5kp2QCJWV2YjnJ_QWPJnujXivvN0/edit … the goal is for it to be useful both for people who are aware of monorepos and build tools, and those who aren’t: any and all feedback welcome!
the demo is ready! https://github.com/pantsbuild/pants/pull/11080 going to convert to gifs and then post as a draft
also “fun”: this recording results in a crystal clear repro of the bug from https://github.com/pantsbuild/pants/issues/10129 ! i edited it out, but will follow up to add info to the ticket and fix that 😃 cc @hundreds-breakfast-49010
h

hundreds-breakfast-49010

10/29/2020, 9:31 PM
interesting
hopefully reproducable in a way that lends itself ot an easy fix?
w

witty-crayon-22786

10/29/2020, 10:05 PM
yea! i think that i have a good idea of what is going on.
a (final?) draft of this! feedback welcome: https://blog.pantsbuild.org/dependency-inference/ … in particular, does the demo make sense?
also… title?
cc @hundreds-father-404, @hundreds-breakfast-49010, @fast-nail-55400, @polite-garden-50641
h

hundreds-father-404

10/29/2020, 10:49 PM
also… title?
Do we need dependency information at all for “concurrency” and “remoting”? I’m thinking it may be more descriptive and focused to say:
Dependency inference: fine-grained caching without the boilerplate
Note that lots of folks don’t know what “remoting” means. I think this suggested title is more accessible, that you can easily see what the article is gonna be about (Also, nit to lowercase the “inference”)
👍 1
w

witty-crayon-22786

10/29/2020, 10:51 PM
yep, you need it for concurrency, because you need to know what depends on what. for example, if we actually partitioned mypy by file, we’d be able to run dozens of instances at once because we know which files depend on which other files
(if you view the JSON cache as the “output” of compilation then you can think of mypy as a compiler. and definitely the case for compilers in general)
and yes, absolutely for remoting as well. it’s how you know what needs to be in the sandbox to run.
but i’ll drop remoting.
👍 1
HN title:
Dependency inference in Pants v2: Precise caching without the boilerplate
? feel like i need to mention Pants in the title there
👍 1