HomeDocs
DocsCommunityTestimonialsUsersGitHubTwitterBlogJobsTermsPrivacyCookies
TermsPrivacyCookies
Hey! These docs are for version 2.8, which is no longer officially supported. Click here for the latest version, 2.15!

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.


string_imports_min_dots

--python-infer-string-imports-min-dots=<int>
PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS
default: 2

If --string-imports is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies. E.g., 'foo.bar.Baz' will be treated as a potential dependency if this option is set to 2 but not if set to 3.


inits

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

Infer a target's dependencies on any __init__.py files in 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 targets' entry points, e.g. pex_binary's entry_point field, python_awslambda's handler field and python_distribution's entry_points field.


Advanced options

None

Deprecated options

None