HomeDocs
DocsCommunityTestimonialsUsersGitHubTwitterBlogJobsTermsPrivacyCookies
TermsPrivacyCookies

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

default: None

Output the goal's stdout to this file. If unspecified, outputs to stdout.


summary

--[no-]py-constraints-summary

PANTS_PY_CONSTRAINTS_SUMMARY

default: 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

default: 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

Related subsystems

environments-preview, filter, python