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

pantsbuild / pants / 20836862798

09 Jan 2026 12:31AM UTC coverage: 43.231% (-37.0%) from 80.274%
20836862798

Pull #22992

github

web-flow
Merge 0983a6a7c into 0d471f924
Pull Request #22992: feat(engine): log elapsed time for completed workunits

26137 of 60459 relevant lines covered (43.23%)

0.86 hits per line

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

80.0
/src/python/pants/engine/internals/session.py
1
# Copyright 2016 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
from typing import Any, TypeVar, cast
2✔
5

6
from pants.util.frozendict import FrozenDict
2✔
7

8
_T = TypeVar("_T")
2✔
9

10

11
class RunId(int):
2✔
12
    """A unique id for a single run or `--loop` iteration of Pants within a single Scheduler.
13

14
    RunIds are not comparable across Scheduler instances, and only equality is meaningful, not
15
    ordering.
16
    """
17

18

19
class SessionValues(FrozenDict[type, Any]):
2✔
20
    """Values set for the Session, and exposed to @rules.
21

22
    Generally, each type provided via `SessionValues` should have a simple rule that returns the
23
    type so that users can directly request it in a rule, rather than needing to query
24
    `SessionValues`.
25
    """
26

27
    def __getitem__(self, item: type[_T]) -> _T:
2✔
28
        try:
2✔
29
            return cast(_T, super().__getitem__(item))
2✔
30
        except KeyError:
×
31
            raise KeyError(f"Expected {item.__name__} to be provided via SessionValues.")
×
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