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

pantsbuild / pants / 24638277381

19 Apr 2026 08:21PM UTC coverage: 52.377% (-40.5%) from 92.924%
24638277381

Pull #23274

github

web-flow
Merge 662e70df2 into 0283af69e
Pull Request #23274: rust: upgrade to v1.95.0

31658 of 60443 relevant lines covered (52.38%)

1.05 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