• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 26080722777

19 May 2026 06:37AM UTC coverage: 52.106% (-11.5%) from 63.597%
26080722777

Pull #23250

github

web-flow
Merge 63ec06323 into 2693df832
Pull Request #23250: Feature: Add generic option to docker image

12 of 50 new or added lines in 3 files covered. (24.0%)

5382 existing lines in 201 files now uncovered.

32053 of 61515 relevant lines covered (52.11%)

1.04 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/python/pants/backend/python/register.py
1
# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
"""Support for Python.
5

6
See https://www.pantsbuild.org/docs/python-backend.
7
"""
8

UNCOV
9
from pants.backend.python import target_types_rules
×
UNCOV
10
from pants.backend.python.dependency_inference import rules as dependency_inference_rules
×
UNCOV
11
from pants.backend.python.goals import (
×
12
    coverage_py,
13
    export,
14
    lockfile,
15
    package_dists,
16
    package_pex_binary,
17
    pytest_runner,
18
    repl,
19
    run_pex_binary,
20
    run_python_requirement,
21
    run_python_source,
22
    tailor,
23
)
UNCOV
24
from pants.backend.python.macros import (
×
25
    pipenv_requirements,
26
    poetry_requirements,
27
    python_requirements,
28
    uv_requirements,
29
)
UNCOV
30
from pants.backend.python.macros.pipenv_requirements import PipenvRequirementsTargetGenerator
×
UNCOV
31
from pants.backend.python.macros.poetry_requirements import PoetryRequirementsTargetGenerator
×
UNCOV
32
from pants.backend.python.macros.python_artifact import PythonArtifact
×
UNCOV
33
from pants.backend.python.macros.python_requirements import PythonRequirementsTargetGenerator
×
UNCOV
34
from pants.backend.python.macros.uv_requirements import UvRequirementsTargetGenerator
×
UNCOV
35
from pants.backend.python.subsystems import debugpy
×
UNCOV
36
from pants.backend.python.subsystems import uv as uv_subsystem
×
UNCOV
37
from pants.backend.python.target_types import (
×
38
    PexBinariesGeneratorTarget,
39
    PexBinary,
40
    PythonDistribution,
41
    PythonRequirementTarget,
42
    PythonSourceField,
43
    PythonSourcesGeneratorTarget,
44
    PythonSourceTarget,
45
    PythonTestsGeneratorTarget,
46
    PythonTestTarget,
47
    PythonTestUtilsGeneratorTarget,
48
)
UNCOV
49
from pants.backend.python.util_rules import (
×
50
    ancestor_files,
51
    local_dists,
52
    local_dists_pep660,
53
    pex,
54
    pex_from_targets,
55
    python_sources,
56
)
UNCOV
57
from pants.backend.python.util_rules import (
×
58
    uv as uv_util,
59
)
UNCOV
60
from pants.build_graph.build_file_aliases import BuildFileAliases
×
UNCOV
61
from pants.core.target_types import TargetGeneratorSourcesHelperTarget
×
UNCOV
62
from pants.core.util_rules.wrap_source import wrap_source_rule_and_target
×
63

UNCOV
64
wrap_python = wrap_source_rule_and_target(PythonSourceField, "python_sources")
×
65

66

UNCOV
67
def build_file_aliases():
×
UNCOV
68
    return BuildFileAliases(objects={"python_artifact": PythonArtifact, "setup_py": PythonArtifact})
×
69

70

UNCOV
71
def rules():
×
UNCOV
72
    return (
×
73
        *target_types_rules.rules(),
74
        # Subsystems
75
        *coverage_py.rules(),
76
        *debugpy.rules(),
77
        *uv_subsystem.rules(),
78
        # Util rules
79
        *ancestor_files.rules(),
80
        *dependency_inference_rules.rules(),
81
        *local_dists_pep660.rules(),
82
        *pex.rules(),
83
        *pex_from_targets.rules(),
84
        *python_sources.rules(),
85
        *uv_util.rules(),
86
        # Goals
87
        *package_pex_binary.rules(),
88
        *pytest_runner.rules(),
89
        *repl.rules(),
90
        *run_pex_binary.rules(),
91
        *run_python_requirement.rules(),
92
        *run_python_source.rules(),
93
        *package_dists.rules(),
94
        *tailor.rules(),
95
        *local_dists.rules(),
96
        *export.rules(),
97
        *lockfile.rules(),
98
        # Macros.
99
        *pipenv_requirements.rules(),
100
        *poetry_requirements.rules(),
101
        *python_requirements.rules(),
102
        *uv_requirements.rules(),
103
        *wrap_python.rules,
104
    )
105

106

UNCOV
107
def target_types():
×
UNCOV
108
    return (
×
109
        PexBinary,
110
        PexBinariesGeneratorTarget,
111
        PythonDistribution,
112
        TargetGeneratorSourcesHelperTarget,
113
        PythonRequirementTarget,
114
        PythonSourcesGeneratorTarget,
115
        PythonSourceTarget,
116
        PythonTestsGeneratorTarget,
117
        PythonTestTarget,
118
        PythonTestUtilsGeneratorTarget,
119
        # Macros.
120
        PipenvRequirementsTargetGenerator,
121
        PoetryRequirementsTargetGenerator,
122
        PythonRequirementsTargetGenerator,
123
        UvRequirementsTargetGenerator,
124
        *wrap_python.target_types,
125
    )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc