python-infer

Options controlling which dependencies will be inferred for Python targets.

Config section: [python-infer]

Basic options

imports

--[no-]python-infer-imports
PANTS_PYTHON_INFER_IMPORTS
default: True

Infer a target's imported dependencies by parsing import statements from sources.


string_imports

--[no-]python-infer-string-imports
PANTS_PYTHON_INFER_STRING_IMPORTS
default: False

Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings. To ignore any false positives, put `!{bad_address}` in the `dependencies` field of your target.


inits

--[no-]python-infer-inits
PANTS_PYTHON_INFER_INITS
default: False

Infer a target's dependencies on any __init__.py files existing for the packages it is located in (recursively upward in the directory structure).

Even if this is disabled, Pants will still include any ancestor init.py files, only they will not be 'proper' dependencies, e.g. they will not show up in ./pants dependencies and their own dependencies will not be used.

If you have empty __init__.py files, it's safe to leave this option off; otherwise, you should enable this option.


conftests

--[no-]python-infer-conftests
PANTS_PYTHON_INFER_CONFTESTS
default: True

Infer a test target's dependencies on any conftest.py files in the current directory and ancestor directories.


entry_points

--[no-]python-infer-entry-points
PANTS_PYTHON_INFER_ENTRY_POINTS
default: True

Infer dependencies on binary targets' entry points, e.g. `pex_binary`'s `entry_point` field and `python_awslambda`'s `handler` field.


Advanced options

None

Deprecated options

None


Did this page help you?