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

pantsbuild / pants / 20632486505

01 Jan 2026 04:21AM UTC coverage: 43.231% (-37.1%) from 80.281%
20632486505

Pull #22962

github

web-flow
Merge 08d5c63b0 into f52ab6675
Pull Request #22962: Bump the gha-deps group across 1 directory with 6 updates

26122 of 60424 relevant lines covered (43.23%)

0.86 hits per line

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

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

4
from __future__ import annotations
×
5

6
import logging
×
7

8
from pants.option.option_types import BoolOption, StrOption
×
9
from pants.option.subsystem import Subsystem
×
10
from pants.util.docutil import doc_url
×
11
from pants.util.strutil import softwrap
×
12

13
logger = logging.getLogger(__name__)
×
14

15
_telemetry_docs_referral = f"See {doc_url('docs/using-pants/anonymous-telemetry')} for details"
×
16

17

18
# This subsystem is orphaned (but not quite deprecated/removed).
19
# We found that:
20
#   - Most people disabled the telemetry
21
#   - The telemetry we received wasn't being used for meaningful decisions
22
#   - The implementation we had required humbug, which bloated Pants' environment with it and its dependencies
23
#
24
# The subsystem still exists, however, in hopes that a future implementation could be added seamlessly
25
# which addresses the above points.
26
class AnonymousTelemetry(Subsystem):
×
27
    options_scope = "anonymous-telemetry"
×
28
    help = "Options related to sending anonymous stats to the Pants project, to aid development."
×
29

30
    enabled = BoolOption(
×
31
        default=False,
32
        help=softwrap(
33
            f"""
34
            Whether to send anonymous telemetry to the Pants project.
35

36
            Telemetry is sent asynchronously, with silent failure, and does not impact build times
37
            or outcomes.
38

39
            {_telemetry_docs_referral}.
40
            """
41
        ),
42
        advanced=True,
43
    )
44
    repo_id = StrOption(
×
45
        default=None,
46
        help=softwrap(
47
            f"""
48
            An anonymized ID representing this repo.
49

50
            For private repos, you likely want the ID to not be derived from, or algorithmically
51
            convertible to, anything identifying the repo.
52

53
            For public repos the ID may be visible in that repo's config file, so anonymity of the
54
            repo is not guaranteed (although user anonymity is always guaranteed).
55

56
            {_telemetry_docs_referral}.
57
            """
58
        ),
59
        advanced=True,
60
    )
61

62

63
def rules():
×
64
    return AnonymousTelemetry.rules()
×
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