hundreds-father-404
08/10/2021, 10:48 PMproud-dentist-22844
08/10/2021, 10:55 PMansible
does not have any dependencies because it parses setup.py, it doesn't run it. So, it can only pick up on the more basic info included in setup.py. ansible has an "or" dependency, which none of the the python dependency management systems (including poetry) have direct support for. So, it has setup.py logic to say "if cryptography is present, then depend on cryptography, else depend on pycrypto"proud-dentist-22844
08/10/2021, 10:56 PMhundreds-father-404
08/10/2021, 11:16 PMfast-nail-55400
08/11/2021, 2:04 PMTarget
subclass to some other non-target type if there is a rule defined for that conversion? can it do so if the rule is defined to take an applicable FieldSet as input and returns the destination type?hundreds-father-404
08/11/2021, 5:40 PMhundreds-father-404
08/11/2021, 6:16 PMsetuptools
and wheel
in lockfiles. We need those included. But they're currently at 1.2.0a2, and it took 3.5 months for 1.1 to go from a2 to stable release
Some options:happy-kitchen-89482
08/11/2021, 6:37 PMException: Invalid Get. Because the second argument to `Get(BuiltPackage, PythonDistributionFieldSet, PythonDistributionFieldSet(address=Address(testprojects/src/python/hello/native:dist), provides=<class 'pants.backend.python.target_types.PythonProvidesField'>(alias='provides', address=testprojects/src/python/hello/native:dist, value=<pants.backend.python.macros.python_artifact.PythonArtifact object at 0x107324b38>, default=None)))` is annotated with `@union`, the third argument should be a member of that union. Did you intend to register `UnionRule(PythonDistributionFieldSet, PythonDistributionFieldSet)`? If not, you may be using the wrong type (PythonDistributionFieldSet) for the third argument.
PythonDistributionFieldSet is not an @union, but its superclass (PackageFieldSet) is.ancient-vegetable-10556
08/12/2021, 5:27 PMcurved-television-6568
08/13/2021, 7:09 PMwitty-crayon-22786
08/13/2021, 8:41 PMwitty-crayon-22786
08/13/2021, 8:54 PMwitty-crayon-22786
08/16/2021, 4:00 PMancient-vegetable-10556
08/16/2021, 5:23 PMInterpreterConstraints
with respect to how it orders inputs. Can someone help me understand what the correct behaviour should be here? (test case will appear in thread)witty-crayon-22786
08/16/2021, 5:48 PMrepository.pex
conceptwitty-crayon-22786
08/16/2021, 8:20 PMwitty-crayon-22786
08/17/2021, 12:50 AMsetuptools
, it doesn’t look like it has any user requirements on its pythonpath: https://github.com/pantsbuild/pants/blob/3be44f011b13a81eb2266a9fc7ae01bd57f7fb2c/src/python/pants/backend/python/goals/setup_py.py#L428-L469 … but we use the default value of PexRequest.apply_requirement_constraints=True
, meaning that the user constraints are applied to that build. this is probably a more widespread issue, but: the constraints should not be applied there, right?hundreds-father-404
08/18/2021, 12:50 AMaverage-vr-56795
08/18/2021, 3:44 PMprocess_executor
- --remote-cache-mode={skip,prefer,speculate,require}
but at the moment remote_cache::CommandRunner
is hard-coded to do speculation... How would folks feel about:
1. Implementing a SpeculatingCommandRunner
which takes two `CommandRunner`s and just races them, leaving remote_cache::CommandRunner
to only worry about interacting with the remote cache itself
2. Introducing this flag to process_executor
?
(I actually only care about the skip
, and require
flag values, but I figure completing the matrix is worthwhile while doing so)witty-crayon-22786
08/18/2021, 4:30 PMwhite
for INFO
, red
for ERROR
, and … red
for WARN
. i’ve just fixed application of color to logs under pantsd
, and the red for warn continues to weird me out a bit.average-vr-56795
08/19/2021, 10:48 AMcache_key_gen_version
and a cache_key_salt
on Process
? These seem like they could be combined? (And ideally would use the salt
field in the proto https://github.com/bazelbuild/remote-apis/blob/3e816456ee28f01ab2e0abf72306c1f340c7b229/build/bazel/remote/execution/v2/remote_execution.proto#L[…]9 rather than env vars, though I know salt
was added after we added these fields 🙂)hundreds-father-404
08/19/2021, 7:54 PMpython_library
can also be a lint
and typecheck
. Does that sound right?fresh-cat-90827
08/20/2021, 3:32 PMchroot
.worried-salesclerk-37834
08/22/2021, 3:00 AMworried-salesclerk-37834
08/24/2021, 2:47 AMlambdex
backend? Or would you prefer that a new backend gcpcloudfunction
be created and duplicate code would exist, but it would be easier to allow for the different types to diverge? I think the second would also prevent a breaking change since the backend name would change?hundreds-father-404
08/24/2021, 5:03 AM[black].lockfile
to either <default>
(provided by Pants), <none>
, or a path to your own file. It defaults to <default>
For supporting multiple user lockfiles, you can set lockfile=path/to/lock.txt
on targets like pex_binary
, otherwise it defaults to [python-setup].lockfile
. You can also set lockfile="<none>"
to opt out. I can't decide if it should be lockfile=None
or lockfile="<default>"
to signal to use the global default...I think the latter for consistency and because it seems like lockfile=None
would be confusing that people might think it meant "don't use a lockfile"fast-nail-55400
08/24/2021, 5:37 PMDigest
? I am trying to use syntax like the following to do so:
sources_digest = await Get(Digest, DigestSubset(sources_digest, PathGlobs(["!__sources__/go.sum", "**"])))
witty-crayon-22786
08/24/2021, 6:35 PMdefault='default'
) in 2.7.x? are we concerned that those won’t be resolvable on some platforms?hundreds-father-404
08/25/2021, 12:37 AM./pants lock
vs ./pants resolve
vs. ./pants python-lock
vs. something else: https://github.com/pantsbuild/pants/pull/12641. Feedback welcomed!hundreds-father-404
08/25/2021, 2:59 PMinterpreter_constraints
by default. Some "blessed" interpreter constraints will be defined via [python-setup]
, then targets set things like interpreter_constraints="py2_and_py3"