py-constraints
pants py-constraints [args]
Determine what Python interpreter constraints are used by files/targets.
Backend: pants.backend.python.mixed_interpreter_constraints
Config section: [py-constraints]
Basic options
output_file
--py-constraints-output-file=<path>
PANTS_PY_CONSTRAINTS_OUTPUT_FILE
[py-constraints]
output_file = <path>
None
Output the goal's stdout to this file. If unspecified, outputs to stdout.
summary
--[no-]py-constraints-summary
PANTS_PY_CONSTRAINTS_SUMMARY
[py-constraints]
summary = <bool>
False
Output a CSV summary of interpreter constraints for your whole repository. The headers are Target
, Constraints
, Transitive Constraints
, # Dependencies
, and # Dependents
(or # Dependees
, if summary_use_new_header is False).
This information can be useful when prioritizing a migration from one Python version to another (e.g. to Python 3). Use # Dependencies
and # Dependents
to help prioritize which targets are easiest to port (low # dependencies) and highest impact to port (high # dependents).
Use a tool like Pandas or Excel to process the CSV. Use the option --py-constraints-output-file=summary.csv
to write directly to a file.
summary_use_new_header
--[no-]py-constraints-summary-use-new-header
PANTS_PY_CONSTRAINTS_SUMMARY_USE_NEW_HEADER
[py-constraints]
summary_use_new_header = <bool>
True
If False, use the legacy, misleading #Dependees
header name in the summary CSV table. If True, will use the new, more accurate, # Dependents
name for the same column.
This is a temporary option to ease migration to the new header name. Set this option to True to start working with the new header.
This option's default value will change to True in 2.16.x, and it will be deprecated in that version.
This option, and the ability to use the old name, will be removed entirely in 2.17.x.
Advanced options
None
Deprecated options
None