hundreds-father-404
01/28/2022, 8:15 PMhundreds-father-404
01/28/2022, 8:15 PMpython_distribution
, including test
, run
, package
, and Pylint/MyPy.
Remaining work we need in order to stabilize:
• Add lockfile validation, which is mostly implemented, just needs good error messages
• Figure out what the heck to do with python_distribution
Stuff we do not have to do for 2.10:
• Switch from Poetry to Pex for lockfile generation & consumption
• Implement https://github.com/pantsbuild/pants/issues/14293, which is highly desirable for multiple overlapping resolves but is irrelevant for disjoint resolves
• Your parametrization design doc
We can't require using resolves imo until we switch to PEX thanks to its eventual handling of VCS requirements + [python-repos]
. But, we can get this into production, it should generally be much better than status quo w/ constraints file.witty-crayon-22786
01/28/2022, 8:16 PMhundreds-father-404
01/28/2022, 8:19 PMcompatible_resolves
on jvm_source
is not correctwitty-crayon-22786
01/28/2022, 8:23 PMi’m about to make a comment on the parameterization doc that would suggest adjusting the syntax of python_requirements again =xhere
witty-crayon-22786
01/28/2022, 8:23 PMhundreds-father-404
01/28/2022, 8:33 PMhereI gotta think more about this with an open mind before I reply hah. Thanks for the suggestion (I want to try writing out some real world examples)
hundreds-father-404
01/28/2022, 8:34 PMuse_deprecated_python_macros
and the update-build-files
fixer in stable 2.10 if we are getting rid of or changing #
syntax
(It's fine that Go and JVM already use it as those are experimental)witty-crayon-22786
01/28/2022, 8:34 PMI want to try writing out some real world examplesyea. probably boils down to what the key for a requirement or go-mod entry would be
witty-crayon-22786
01/28/2022, 8:34 PMTimeline wise, this question is really important to figure out though.yes.
hundreds-father-404
01/28/2022, 8:37 PMpoetry_requirements -> python_requirement(s)
Unlike parametrization, which is python_requirement -> python_requirement(s)
Another big difference is that target generators are addressable and targets on their own. Iiuc, parametrization is more like a macro-syntax that converts 1 BUILD file entry into N targets. The BUILD file entry is not addressable itselfwitty-crayon-22786
01/28/2022, 8:38 PMwitty-crayon-22786
01/31/2022, 7:42 PM#
(“generators”) syntax with the proposed parameterization syntax: there is some discussion in this slack thread, but more on this comment in the Parameterization doc: https://docs.google.com/document/d/1mzZWnXiE6OkgMH_Dm7WeA3ck9veusQmr_c6GWPb_tsQ/edit?disco=AAAAUx99uswwitty-crayon-22786
01/31/2022, 7:43 PMwitty-crayon-22786
01/31/2022, 7:45 PM#
is not yet used in stable code: only in go
thirdparty, and for python
thirdparty soon (2.10.0rc0
). so if we’re going to change it, we’d need to do so before cutting 2.10.0rc0
in the next week or two