foxglove-sdk 0.6.2__cp312-cp312-win32.whl → 0.16.6__cp312-cp312-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- foxglove/__init__.py +241 -121
- foxglove/_foxglove_py/__init__.pyi +233 -136
- foxglove/_foxglove_py/channels.pyi +2860 -1053
- foxglove/_foxglove_py/cloud.pyi +9 -0
- foxglove/_foxglove_py/mcap.pyi +125 -0
- foxglove/_foxglove_py/schemas.pyi +1037 -666
- foxglove/_foxglove_py/schemas_wkt.pyi +85 -77
- foxglove/_foxglove_py/websocket.pyi +394 -297
- foxglove/_foxglove_py.cp312-win32.pyd +0 -0
- foxglove/benchmarks/test_mcap_serialization.py +160 -161
- foxglove/channel.py +241 -204
- foxglove/channels/__init__.py +96 -72
- foxglove/cloud.py +61 -0
- foxglove/layouts/__init__.py +17 -0
- foxglove/mcap.py +12 -0
- foxglove/notebook/__init__.py +0 -0
- foxglove/notebook/foxglove_widget.py +82 -0
- foxglove/notebook/notebook_buffer.py +114 -0
- foxglove/notebook/static/widget.js +1 -0
- foxglove/schemas/__init__.py +166 -149
- foxglove/tests/test_channel.py +243 -142
- foxglove/tests/test_context.py +10 -0
- foxglove/tests/test_logging.py +62 -16
- foxglove/tests/test_mcap.py +477 -46
- foxglove/tests/test_parameters.py +178 -0
- foxglove/tests/test_schemas.py +17 -0
- foxglove/tests/test_server.py +141 -68
- foxglove/tests/test_time.py +137 -137
- foxglove/websocket.py +220 -172
- foxglove_sdk-0.16.6.dist-info/METADATA +53 -0
- foxglove_sdk-0.16.6.dist-info/RECORD +34 -0
- {foxglove_sdk-0.6.2.dist-info → foxglove_sdk-0.16.6.dist-info}/WHEEL +1 -1
- foxglove_sdk-0.6.2.dist-info/METADATA +0 -51
- foxglove_sdk-0.6.2.dist-info/RECORD +0 -22
|
@@ -1,77 +1,85 @@
|
|
|
1
|
-
import datetime
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
class Duration:
|
|
4
|
+
"""
|
|
5
|
+
A duration in seconds and nanoseconds
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
def __init__(
|
|
9
|
+
self,
|
|
10
|
+
sec: int,
|
|
11
|
+
nsec: int | None = None,
|
|
12
|
+
) -> None: ...
|
|
13
|
+
@property
|
|
14
|
+
def sec(self) -> int: ...
|
|
15
|
+
@property
|
|
16
|
+
def nsec(self) -> int: ...
|
|
17
|
+
@staticmethod
|
|
18
|
+
def from_secs(secs: float) -> "Duration":
|
|
19
|
+
"""
|
|
20
|
+
Creates a :py:class:`Duration` from seconds.
|
|
21
|
+
|
|
22
|
+
Raises `OverflowError` if the duration cannot be represented.
|
|
23
|
+
|
|
24
|
+
:param secs: Seconds
|
|
25
|
+
"""
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
@staticmethod
|
|
29
|
+
def from_timedelta(td: datetime.timedelta) -> "Duration":
|
|
30
|
+
"""
|
|
31
|
+
Creates a :py:class:`Duration` from a timedelta.
|
|
32
|
+
|
|
33
|
+
Raises `OverflowError` if the duration cannot be represented.
|
|
34
|
+
|
|
35
|
+
:param td: Timedelta
|
|
36
|
+
"""
|
|
37
|
+
...
|
|
38
|
+
|
|
39
|
+
class Timestamp:
|
|
40
|
+
"""
|
|
41
|
+
A timestamp in seconds and nanoseconds
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
def __init__(
|
|
45
|
+
self,
|
|
46
|
+
sec: int,
|
|
47
|
+
nsec: int | None = None,
|
|
48
|
+
) -> None: ...
|
|
49
|
+
@property
|
|
50
|
+
def sec(self) -> int: ...
|
|
51
|
+
@property
|
|
52
|
+
def nsec(self) -> int: ...
|
|
53
|
+
@staticmethod
|
|
54
|
+
def from_epoch_secs(timestamp: float) -> "Timestamp":
|
|
55
|
+
"""
|
|
56
|
+
Creates a :py:class:`Timestamp` from an epoch timestamp, such as is
|
|
57
|
+
returned by :py:func:`time.time` or :py:func:`datetime.datetime.timestamp`.
|
|
58
|
+
|
|
59
|
+
Raises `OverflowError` if the timestamp cannot be represented.
|
|
60
|
+
|
|
61
|
+
:param timestamp: Seconds since epoch
|
|
62
|
+
"""
|
|
63
|
+
...
|
|
64
|
+
|
|
65
|
+
@staticmethod
|
|
66
|
+
def from_datetime(dt: datetime.datetime) -> "Timestamp":
|
|
67
|
+
"""
|
|
68
|
+
Creates a UNIX epoch :py:class:`Timestamp` from a datetime object.
|
|
69
|
+
|
|
70
|
+
Naive datetime objects are presumed to be in the local timezone.
|
|
71
|
+
|
|
72
|
+
Raises `OverflowError` if the timestamp cannot be represented.
|
|
73
|
+
|
|
74
|
+
:param dt: Datetime
|
|
75
|
+
"""
|
|
76
|
+
...
|
|
77
|
+
|
|
78
|
+
@staticmethod
|
|
79
|
+
def now() -> "Timestamp":
|
|
80
|
+
"""
|
|
81
|
+
Creates a :py:class:`Timestamp` from the current system time.
|
|
82
|
+
|
|
83
|
+
Raises `OverflowError` if the timestamp cannot be represented.
|
|
84
|
+
"""
|
|
85
|
+
...
|