Skip to content

Commit 349431d

Browse files
authored
[psutil] Complete BSD (#15090)
1 parent 57b8ed7 commit 349431d

File tree

2 files changed

+332
-223
lines changed

2 files changed

+332
-223
lines changed

stubs/psutil/psutil/_psbsd.pyi

Lines changed: 197 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -1,157 +1,83 @@
1-
from _typeshed import Incomplete
2-
from contextlib import AbstractContextManager
3-
from typing import NamedTuple
4-
5-
from psutil._common import (
6-
FREEBSD as FREEBSD,
7-
NETBSD as NETBSD,
8-
OPENBSD as OPENBSD,
9-
AccessDenied as AccessDenied,
10-
NoSuchProcess as NoSuchProcess,
11-
ZombieProcess as ZombieProcess,
12-
conn_tmap as conn_tmap,
13-
conn_to_ntuple as conn_to_ntuple,
14-
memoize as memoize,
15-
pio,
16-
usage_percent as usage_percent,
17-
)
18-
19-
__extra__all__: Incomplete
20-
PROC_STATUSES: Incomplete
21-
TCP_STATUSES: Incomplete
22-
PAGESIZE: Incomplete
23-
AF_LINK: Incomplete
24-
HAS_PROC_NUM_THREADS: Incomplete
25-
kinfo_proc_map: Incomplete
26-
27-
class svmem(NamedTuple):
28-
total: int
29-
available: int
30-
percent: float
31-
used: int
32-
free: int
33-
active: int
34-
inactive: int
35-
buffers: int
36-
cached: int
37-
shared: int
38-
wired: int
39-
40-
class scputimes(NamedTuple):
41-
user: float
42-
nice: float
43-
system: float
44-
idle: float
45-
irq: float
46-
47-
class pmem(NamedTuple):
48-
rss: Incomplete
49-
vms: Incomplete
50-
text: Incomplete
51-
data: Incomplete
52-
stack: Incomplete
53-
54-
pfullmem = pmem
55-
56-
class pcputimes(NamedTuple):
57-
user: Incomplete
58-
system: Incomplete
59-
children_user: Incomplete
60-
children_system: Incomplete
61-
62-
class pmmap_grouped(NamedTuple):
63-
path: Incomplete
64-
rss: Incomplete
65-
private: Incomplete
66-
ref_count: Incomplete
67-
shadow_count: Incomplete
68-
69-
class pmmap_ext(NamedTuple):
70-
addr: Incomplete
71-
perms: Incomplete
72-
path: Incomplete
73-
rss: Incomplete
74-
private: Incomplete
75-
ref_count: Incomplete
76-
shadow_count: Incomplete
77-
78-
class sdiskio(NamedTuple):
79-
read_count: Incomplete
80-
write_count: Incomplete
81-
read_bytes: Incomplete
82-
write_bytes: Incomplete
83-
read_time: Incomplete
84-
write_time: Incomplete
85-
busy_time: Incomplete
86-
87-
def virtual_memory() -> svmem: ...
88-
def swap_memory(): ...
89-
def cpu_times(): ...
90-
def per_cpu_times(): ...
91-
def cpu_count_logical(): ...
92-
def cpu_count_cores() -> int | None: ...
93-
def cpu_stats(): ...
94-
def disk_partitions(all: bool = ...): ...
95-
96-
disk_usage: Incomplete
97-
disk_io_counters: Incomplete
98-
net_io_counters: Incomplete
99-
net_if_addrs: Incomplete
100-
101-
def net_if_stats(): ...
102-
def net_connections(kind): ...
103-
def sensors_battery(): ...
104-
def sensors_temperatures(): ...
105-
def cpu_freq(): ...
106-
def boot_time(): ...
107-
def users(): ...
108-
109-
INIT_BOOT_TIME: float
110-
111-
def adjust_proc_create_time(ctime: float) -> float: ...
112-
def pids(): ...
113-
def pid_exists(pid): ...
114-
def wrap_exceptions(fun): ...
115-
def wrap_exceptions_procfs(inst) -> AbstractContextManager[None]: ...
116-
117-
class Process:
118-
pid: Incomplete
119-
def __init__(self, pid) -> None: ...
120-
def oneshot(self): ...
121-
def oneshot_enter(self) -> None: ...
122-
def oneshot_exit(self) -> None: ...
123-
def name(self): ...
124-
def exe(self): ...
125-
def cmdline(self): ...
126-
def environ(self): ...
127-
def terminal(self): ...
128-
def ppid(self): ...
129-
def uids(self): ...
130-
def gids(self): ...
131-
def cpu_times(self): ...
132-
def cpu_num(self): ...
133-
def memory_info(self): ...
134-
memory_full_info: Incomplete
135-
def create_time(self, monotonic: bool = False) -> float: ...
136-
def num_threads(self): ...
137-
def num_ctx_switches(self): ...
138-
def threads(self): ...
139-
def net_connections(self, kind: str = ...): ...
140-
def wait(self, timeout: Incomplete | None = ...): ...
141-
def nice_get(self): ...
142-
def nice_set(self, value): ...
143-
def status(self): ...
144-
def io_counters(self) -> pio: ...
145-
def cwd(self): ...
146-
147-
class nt_mmap_grouped(NamedTuple):
1+
import sys
2+
3+
# sys.platform.startswith(("freebsd", "midnightbsd", "openbsd", "netbsd")):
4+
if sys.platform != "linux" and sys.platform != "win32" and sys.platform != "darwin":
5+
from _typeshed import Incomplete
6+
from collections import defaultdict
7+
from collections.abc import Callable
8+
from contextlib import AbstractContextManager
9+
from typing import Final, NamedTuple, TypeVar, overload
10+
from typing_extensions import ParamSpec
11+
12+
from psutil._common import (
13+
FREEBSD as FREEBSD,
14+
NETBSD as NETBSD,
15+
OPENBSD as OPENBSD,
16+
AccessDenied as AccessDenied,
17+
NoSuchProcess as NoSuchProcess,
18+
ZombieProcess as ZombieProcess,
19+
conn_tmap as conn_tmap,
20+
conn_to_ntuple as conn_to_ntuple,
21+
memoize as memoize,
22+
usage_percent as usage_percent,
23+
)
24+
25+
from . import _common, _psposix, _psutil_bsd
26+
27+
_P = ParamSpec("_P")
28+
_R = TypeVar("_R")
29+
30+
__extra__all__: Final[list[str]]
31+
PROC_STATUSES: Final[dict[int, str]]
32+
TCP_STATUSES: Final[dict[int, str]]
33+
PAGESIZE: Final[int]
34+
AF_LINK: Final = _psutil_bsd.AF_LINK
35+
HAS_PROC_NUM_THREADS: Final[bool]
36+
kinfo_proc_map: Final[dict[str, int]]
37+
38+
class svmem(NamedTuple):
39+
total: int
40+
available: int
41+
percent: float
42+
used: int
43+
free: int
44+
active: int
45+
inactive: int
46+
buffers: int
47+
cached: int
48+
shared: int
49+
wired: int
50+
51+
class scputimes(NamedTuple):
52+
user: float
53+
nice: float
54+
system: float
55+
idle: float
56+
irq: float
57+
58+
class pmem(NamedTuple):
59+
rss: int
60+
vms: int
61+
text: int
62+
data: int
63+
stack: int
64+
65+
pfullmem = pmem
66+
67+
class pcputimes(NamedTuple):
68+
user: float
69+
system: float
70+
children_user: float
71+
children_system: float
72+
73+
class pmmap_grouped(NamedTuple):
14874
path: Incomplete
14975
rss: Incomplete
15076
private: Incomplete
15177
ref_count: Incomplete
15278
shadow_count: Incomplete
15379

154-
class nt_mmap_ext(NamedTuple):
80+
class pmmap_ext(NamedTuple):
15581
addr: Incomplete
15682
perms: Incomplete
15783
path: Incomplete
@@ -160,9 +86,126 @@ class Process:
16086
ref_count: Incomplete
16187
shadow_count: Incomplete
16288

163-
def open_files(self): ...
164-
def num_fds(self): ...
165-
def cpu_affinity_get(self): ...
166-
def cpu_affinity_set(self, cpus) -> None: ...
167-
def memory_maps(self): ...
168-
def rlimit(self, resource, limits: Incomplete | None = ...): ...
89+
class sdiskio(NamedTuple):
90+
read_count: Incomplete
91+
write_count: Incomplete
92+
read_bytes: Incomplete
93+
write_bytes: Incomplete
94+
read_time: Incomplete
95+
write_time: Incomplete
96+
busy_time: Incomplete
97+
98+
def virtual_memory() -> svmem: ...
99+
def swap_memory() -> _common.sswap: ...
100+
def cpu_times() -> scputimes: ...
101+
def per_cpu_times() -> list[scputimes]: ...
102+
def cpu_count_logical() -> int | None: ...
103+
def cpu_count_cores() -> int | None: ...
104+
def cpu_stats() -> _common.scpustats: ...
105+
def disk_partitions(all: bool = False) -> list[_common.sdiskpart]: ...
106+
107+
disk_usage = _psposix.disk_usage
108+
disk_io_counters = _psutil_bsd.disk_io_counters
109+
net_io_counters = _psutil_bsd.net_io_counters
110+
net_if_addrs = _psutil_bsd.net_if_addrs
111+
112+
def net_if_stats() -> dict[str, _common.snicstats]: ...
113+
def net_connections(kind: str) -> list[_common.sconn]: ...
114+
def sensors_battery() -> _common.sbattery | None: ... # only FreeBSD
115+
def sensors_temperatures() -> defaultdict[str, list[_common.shwtemp]]: ... # only FreeBSD
116+
def cpu_freq() -> list[_common.scpufreq]: ... # only FreeBSD and OpenBSD
117+
def boot_time() -> float: ...
118+
def users() -> list[_common.suser]: ...
119+
120+
INIT_BOOT_TIME: Final[float] # only NetBSD
121+
122+
def adjust_proc_create_time(ctime: float) -> float: ... # only NetBSD
123+
def pids() -> list[int]: ...
124+
def pid_exists(pid: int) -> bool: ...
125+
def wrap_exceptions(fun: Callable[_P, _R]) -> Callable[_P, _R]: ...
126+
def wrap_exceptions_procfs(inst: Process) -> AbstractContextManager[None]: ...
127+
128+
class Process:
129+
__slots__ = ["_cache", "_name", "_ppid", "pid"]
130+
pid: int
131+
def __init__(self, pid: int) -> None: ...
132+
def oneshot(
133+
self,
134+
) -> tuple[
135+
int,
136+
int,
137+
int,
138+
int,
139+
int,
140+
int,
141+
int,
142+
int,
143+
int,
144+
float,
145+
int,
146+
int,
147+
int,
148+
int,
149+
float,
150+
float,
151+
float,
152+
float,
153+
int,
154+
int,
155+
int,
156+
int,
157+
int,
158+
int,
159+
str,
160+
]: ...
161+
def oneshot_enter(self) -> None: ...
162+
def oneshot_exit(self) -> None: ...
163+
def name(self) -> str: ...
164+
def exe(self) -> str: ...
165+
def cmdline(self) -> list[str]: ...
166+
def environ(self) -> dict[str, str]: ...
167+
def terminal(self) -> str | None: ...
168+
def ppid(self) -> int: ...
169+
def uids(self) -> _common.puids: ...
170+
def gids(self) -> _common.pgids: ...
171+
def cpu_times(self) -> _common.pcputimes: ...
172+
def cpu_num(self) -> int: ... # only FreeBSD
173+
def memory_info(self) -> pmem: ...
174+
memory_full_info = memory_info
175+
def create_time(self, monotonic: bool = False) -> float: ...
176+
def num_threads(self) -> int: ...
177+
def num_ctx_switches(self) -> _common.pctxsw: ...
178+
def threads(self) -> list[_common.pthread]: ...
179+
def net_connections(self, kind: str = "inet") -> list[_common.pconn]: ...
180+
def wait(self, timeout: float | None = None): ...
181+
def nice_get(self) -> int: ...
182+
def nice_set(self, value: int) -> None: ...
183+
def status(self) -> str: ...
184+
def io_counters(self) -> _common.pio: ...
185+
def cwd(self) -> str: ...
186+
187+
class nt_mmap_grouped(NamedTuple):
188+
path: Incomplete
189+
rss: Incomplete
190+
private: Incomplete
191+
ref_count: Incomplete
192+
shadow_count: Incomplete
193+
194+
class nt_mmap_ext(NamedTuple):
195+
addr: Incomplete
196+
perms: Incomplete
197+
path: Incomplete
198+
rss: Incomplete
199+
private: Incomplete
200+
ref_count: Incomplete
201+
shadow_count: Incomplete
202+
203+
def open_files(self) -> list[_common.popenfile]: ...
204+
def num_fds(self) -> int: ...
205+
def cpu_affinity_get(self) -> list[int]: ... # only FreeBSD
206+
def cpu_affinity_set(self, cpus: list[int]) -> None: ... # only FreeBSD
207+
def memory_maps(self) -> list[tuple[str, str, str, int, int, int, int]]: ... # only FreeBSD
208+
@overload
209+
def rlimit(self, resource: int, limits: tuple[int, int]) -> None: ... # only FreeBSD
210+
@overload
211+
def rlimit(self, resource: int, limits: None = None) -> tuple[int, int]: ... # only FreeBSD

0 commit comments

Comments
 (0)