spectre-core 0.0.20__py3-none-any.whl → 0.0.22__py3-none-any.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.
Files changed (76) hide show
  1. spectre_core/_file_io/__init__.py +1 -1
  2. spectre_core/_file_io/file_handlers.py +1 -1
  3. spectre_core/batches/__init__.py +3 -3
  4. spectre_core/batches/_base.py +25 -3
  5. spectre_core/batches/_batches.py +4 -6
  6. spectre_core/batches/_factory.py +1 -1
  7. spectre_core/batches/_register.py +1 -1
  8. spectre_core/batches/plugins/_batch_keys.py +1 -1
  9. spectre_core/batches/plugins/_callisto.py +1 -1
  10. spectre_core/batches/plugins/_iq_stream.py +1 -1
  11. spectre_core/capture_configs/__init__.py +1 -1
  12. spectre_core/capture_configs/_capture_config.py +1 -1
  13. spectre_core/capture_configs/_capture_modes.py +1 -1
  14. spectre_core/capture_configs/_capture_templates.py +1 -1
  15. spectre_core/capture_configs/_parameters.py +1 -1
  16. spectre_core/capture_configs/_pconstraints.py +1 -1
  17. spectre_core/capture_configs/_pnames.py +1 -1
  18. spectre_core/capture_configs/_ptemplates.py +1 -1
  19. spectre_core/capture_configs/_pvalidators.py +1 -1
  20. spectre_core/config/__init__.py +1 -1
  21. spectre_core/config/_paths.py +1 -1
  22. spectre_core/config/_time_formats.py +1 -1
  23. spectre_core/exceptions.py +1 -1
  24. spectre_core/jobs/__init__.py +1 -1
  25. spectre_core/jobs/_jobs.py +1 -1
  26. spectre_core/jobs/_workers.py +1 -1
  27. spectre_core/logs/__init__.py +4 -4
  28. spectre_core/logs/_configure.py +1 -1
  29. spectre_core/logs/_decorators.py +1 -1
  30. spectre_core/logs/_logs.py +17 -6
  31. spectre_core/logs/_process_types.py +1 -1
  32. spectre_core/plotting/__init__.py +1 -1
  33. spectre_core/plotting/_base.py +1 -1
  34. spectre_core/plotting/_format.py +1 -1
  35. spectre_core/plotting/_panel_names.py +1 -1
  36. spectre_core/plotting/_panel_stack.py +1 -1
  37. spectre_core/plotting/_panels.py +1 -1
  38. spectre_core/post_processing/__init__.py +1 -1
  39. spectre_core/post_processing/_base.py +34 -20
  40. spectre_core/post_processing/_factory.py +1 -1
  41. spectre_core/post_processing/_post_processor.py +1 -1
  42. spectre_core/post_processing/_register.py +1 -1
  43. spectre_core/post_processing/plugins/_event_handler_keys.py +1 -1
  44. spectre_core/post_processing/plugins/_fixed_center_frequency.py +1 -1
  45. spectre_core/post_processing/plugins/_swept_center_frequency.py +1 -1
  46. spectre_core/receivers/__init__.py +1 -1
  47. spectre_core/receivers/_base.py +1 -1
  48. spectre_core/receivers/_factory.py +1 -1
  49. spectre_core/receivers/_register.py +1 -1
  50. spectre_core/receivers/_spec_names.py +1 -1
  51. spectre_core/receivers/plugins/_b200mini.py +1 -1
  52. spectre_core/receivers/plugins/_receiver_names.py +1 -1
  53. spectre_core/receivers/plugins/_rsp1a.py +1 -1
  54. spectre_core/receivers/plugins/_rspduo.py +1 -1
  55. spectre_core/receivers/plugins/_sdrplay_receiver.py +1 -1
  56. spectre_core/receivers/plugins/_test.py +1 -1
  57. spectre_core/receivers/plugins/_usrp.py +1 -1
  58. spectre_core/receivers/plugins/gr/__init__.py +1 -1
  59. spectre_core/receivers/plugins/gr/_base.py +1 -1
  60. spectre_core/receivers/plugins/gr/_rsp1a.py +1 -1
  61. spectre_core/receivers/plugins/gr/_rspduo.py +2 -2
  62. spectre_core/receivers/plugins/gr/_test.py +1 -1
  63. spectre_core/receivers/plugins/gr/_usrp.py +1 -1
  64. spectre_core/spectrograms/__init__.py +1 -1
  65. spectre_core/spectrograms/_analytical.py +1 -1
  66. spectre_core/spectrograms/_array_operations.py +1 -1
  67. spectre_core/spectrograms/_spectrogram.py +1 -1
  68. spectre_core/spectrograms/_transform.py +1 -1
  69. spectre_core/wgetting/__init__.py +1 -1
  70. spectre_core/wgetting/_callisto.py +6 -5
  71. {spectre_core-0.0.20.dist-info → spectre_core-0.0.22.dist-info}/METADATA +1 -2
  72. spectre_core-0.0.22.dist-info/RECORD +78 -0
  73. {spectre_core-0.0.20.dist-info → spectre_core-0.0.22.dist-info}/WHEEL +1 -1
  74. spectre_core-0.0.20.dist-info/RECORD +0 -78
  75. {spectre_core-0.0.20.dist-info → spectre_core-0.0.22.dist-info}/licenses/LICENSE +0 -0
  76. {spectre_core-0.0.20.dist-info → spectre_core-0.0.22.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -10,12 +10,12 @@ from .plugins._batch_keys import BatchKey
10
10
  from .plugins._iq_stream import IQStreamBatch, IQMetadata
11
11
  from .plugins._callisto import CallistoBatch
12
12
 
13
- from ._base import BaseBatch, BatchFile
13
+ from ._base import BaseBatch, BatchFile, parse_batch_base_file_name
14
14
  from ._batches import Batches
15
15
  from ._factory import get_batch_cls, get_batch_cls_from_tag
16
16
 
17
17
  __all__ = [
18
18
  "IQStreamBatch", "IQMetadata", "CallistoBatch", "BaseBatch", "BatchFile",
19
- "Batches", "get_batch_cls", "BatchKey", "get_batch_cls_from_tag"
19
+ "Batches", "get_batch_cls", "BatchKey", "get_batch_cls_from_tag", "parse_batch_base_file_name"
20
20
  ]
21
21
 
@@ -1,21 +1,35 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
5
5
  from datetime import datetime
6
- from typing import TypeVar
6
+ from typing import TypeVar, Tuple
7
7
  from base64 import b64encode
8
8
  from functools import cached_property
9
9
  from abc import ABC, abstractmethod
10
10
  from dataclasses import dataclass
11
+ from os.path import splitext
11
12
 
12
13
  from spectre_core._file_io import BaseFileHandler
13
14
  from spectre_core.config import get_batches_dir_path, TimeFormat
14
15
  from spectre_core.spectrograms import Spectrogram
15
16
 
16
17
 
18
+ def parse_batch_base_file_name(
19
+ base_file_name: str
20
+ ) -> Tuple[str, str, str]:
21
+ """Parse the base file name of a batch file into a start time, tag and extension.
22
+ """
23
+ batch_name, extension = splitext(base_file_name)
24
+ # strip the dot from the extension
25
+ extension = extension.lstrip('.')
26
+ start_time, tag = batch_name.split("_", 1)
27
+ return start_time, tag, extension
28
+
29
+
17
30
  T = TypeVar('T')
18
31
 
32
+
19
33
  class BatchFile(BaseFileHandler[T]):
20
34
  """Abstract base class for files belonging to a batch, identified by their file extension.
21
35
 
@@ -283,4 +297,12 @@ class BaseBatch(ABC):
283
297
  :return: The spectrogram stored by the batch `spectrogram_file`.
284
298
  """
285
299
  return self.spectrogram_file.read()
286
-
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -13,7 +13,7 @@ from spectre_core.config import get_batches_dir_path
13
13
  from spectre_core.exceptions import (
14
14
  BatchNotFoundError
15
15
  )
16
- from ._base import BaseBatch
16
+ from ._base import BaseBatch, parse_batch_base_file_name
17
17
 
18
18
  T = TypeVar('T', bound=BaseBatch)
19
19
  class Batches(Generic[T]):
@@ -144,9 +144,7 @@ class Batches(Generic[T]):
144
144
  # get a list of all batch file names in the batches directory path
145
145
  batch_file_names = [f for (_, _, files) in os.walk(self.batches_dir_path) for f in files]
146
146
  for batch_file_name in batch_file_names:
147
- # strip the extension
148
- batch_name, _ = os.path.splitext(batch_file_name)
149
- start_time, tag = batch_name.split("_", 1)
147
+ start_time, tag, _ = parse_batch_base_file_name(batch_file_name)
150
148
  if tag == self._tag:
151
149
  self._batch_map[start_time] = self.batch_cls(start_time, tag)
152
150
 
@@ -207,7 +205,7 @@ class Batches(Generic[T]):
207
205
  return self._get_from_start_time(subscript)
208
206
  elif isinstance(subscript, int):
209
207
  return self._get_from_index(subscript)
210
-
208
+
211
209
 
212
210
  def get_spectrogram(
213
211
  self,
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -8,10 +8,10 @@
8
8
  from ._process_types import ProcessType
9
9
  from ._decorators import log_call
10
10
  from ._configure import configure_root_logger, get_root_logger_state
11
- from ._logs import Log, Logs
11
+ from ._logs import Log, Logs, parse_log_base_file_name
12
12
 
13
13
 
14
14
  __all__ = [
15
15
  "log_call", "configure_root_logger", "Log", "Logs", "ProcessType",
16
- "get_root_logger_state"
17
- ]
16
+ "get_root_logger_state", "parse_log_base_file_name"
17
+ ]
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -6,7 +6,7 @@ from logging import getLogger
6
6
  _LOGGER = getLogger(__name__)
7
7
 
8
8
  import os
9
- from typing import Optional, Iterator
9
+ from typing import Optional, Iterator, Tuple
10
10
  from collections import OrderedDict
11
11
  from datetime import datetime
12
12
 
@@ -14,6 +14,17 @@ from spectre_core._file_io import TextHandler
14
14
  from spectre_core.config import get_logs_dir_path, TimeFormat
15
15
  from ._process_types import ProcessType
16
16
 
17
+
18
+ def parse_log_base_file_name(
19
+ base_file_name: str
20
+ ) -> Tuple[str, str, str]:
21
+ """Parse the base file name of a log into a start time, process ID and process type.
22
+ """
23
+ file_name, _ = os.path.splitext(base_file_name)
24
+ log_start_time, pid, process_type = file_name.split("_")
25
+ return log_start_time, pid, process_type
26
+
27
+
17
28
  class Log(TextHandler):
18
29
  """Interface to read log files generated by `spectre`."""
19
30
  def __init__(
@@ -177,13 +188,13 @@ class Logs:
177
188
  log_files = [f for (_, _, files) in os.walk(self.logs_dir_path) for f in files]
178
189
 
179
190
  for log_file in log_files:
180
- file_name, _ = os.path.splitext(log_file)
181
- log_start_time, pid, process_type = file_name.split("_")
191
+
192
+ log_start_time, pid, process_type = parse_log_base_file_name(log_file)
182
193
 
183
194
  if self.process_type and process_type != self.process_type:
184
195
  continue
185
196
 
186
- self._log_map[file_name] = Log(log_start_time, pid, ProcessType(process_type))
197
+ self._log_map[log_file] = Log(log_start_time, pid, ProcessType(process_type))
187
198
 
188
199
  self._log_map = OrderedDict(sorted(self._log_map.items()))
189
200
 
@@ -225,4 +236,4 @@ class Logs:
225
236
  for log in self.log_list:
226
237
  if log.pid == pid:
227
238
  return log
228
- raise FileNotFoundError(f"Log handler for PID '{pid}' not found in log map")
239
+ raise FileNotFoundError(f"Log handler for PID '{pid}' could not be identified")
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -84,29 +84,43 @@ class BaseEventHandler(ABC, FileSystemEventHandler):
84
84
 
85
85
  :param event: The file system event containing the file details.
86
86
  """
87
- # the `src_path`` attribute holds the absolute path of the freshly closed file
87
+ # The `src_path`` attribute holds the absolute path of the freshly closed file
88
88
  absolute_file_path = event.src_path
89
89
 
90
- # only 'notice' a file if it ends with the appropriate extension as defined in the capture config
90
+ # Only process a file if:
91
+ #
92
+ # - It's extension matches the `watch_extension` as defined in the capture config.
93
+ # - It's tag matches the current sessions tag.
94
+ #
95
+ # This is important for two reasons.
96
+ #
97
+ # In the case of one session, the capture worker may write to two batch files simultaneously
98
+ # (e.g., raw data file + seperate metadata file). We want to process them together - but this method will get called
99
+ # seperately for both file creation events. So, we filter by extension to account for this.
100
+ #
101
+ # Additionally in the case of multiple sessions, the capture workers will create batch files in the same directory concurrently.
102
+ # This method is triggered for all file creation events, so we ensure the batch file tag matches the session tag and early return
103
+ # otherwise. This way, each post processor worker picks up the right files to process.
91
104
  watch_extension = cast(str, self._capture_config.get_parameter_value(PName.WATCH_EXTENSION))
105
+ if not absolute_file_path.endswith(f"{self._tag}.{watch_extension}"):
106
+ return
92
107
 
93
- if absolute_file_path.endswith( watch_extension ):
94
- _LOGGER.info(f"Noticed {absolute_file_path}")
95
- # If there exists a queued file, try and process it
96
- if self._queued_file is not None:
97
- try:
98
- self.process(self._queued_file)
99
- except Exception:
100
- _LOGGER.error(f"An error has occured while processing {self._queued_file}",
101
- exc_info=True)
102
- # flush any internally stored spectrogram on error to avoid lost data
103
- self._flush_cache()
104
- # re-raise the exception to the main thread
105
- raise
106
-
107
- # Queue the current file for processing next
108
- _LOGGER.info(f"Queueing {absolute_file_path} for post processing")
109
- self._queued_file = absolute_file_path
108
+ _LOGGER.info(f"Noticed {absolute_file_path}")
109
+ # If there exists a queued file, try and process it
110
+ if self._queued_file is not None:
111
+ try:
112
+ self.process(self._queued_file)
113
+ except Exception:
114
+ _LOGGER.error(f"An error has occured while processing {self._queued_file}",
115
+ exc_info=True)
116
+ # Flush any internally stored spectrogram on error to avoid lost data
117
+ self._flush_cache()
118
+ # re-raise the exception to the main thread
119
+ raise
120
+
121
+ # Queue the current file for processing next
122
+ _LOGGER.info(f"Queueing {absolute_file_path} for post processing")
123
+ self._queued_file = absolute_file_path
110
124
 
111
125
 
112
126
  def _cache_spectrogram(
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,3 +1,3 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -123,7 +123,7 @@ class _swept_center_frequency(spectre_top_block):
123
123
  self.sdrplay3_rsp1a_0.set_show_gain_changes(False)
124
124
 
125
125
  # Connections
126
- self.msg_connect((self.spectre_sweep_driver_0, 'freq'), (self.sdrplay3_rsp1a_0, 'freq'))
126
+ self.msg_connect((self.spectre_sweep_driver_0, 'retune_command'), (self.sdrplay3_rsp1a_0, 'command'))
127
127
  self.connect((self.sdrplay3_rsp1a_0, 0), (self.spectre_batched_file_sink_0, 0))
128
128
  self.connect((self.sdrplay3_rsp1a_0, 0), (self.spectre_sweep_driver_0, 0))
129
129
 
@@ -8,7 +8,7 @@
8
8
  # Title: Test receiver
9
9
  # GNU Radio version: 3.10.1.1
10
10
 
11
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
11
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
12
12
  # This file is part of SPECTRE
13
13
  # SPDX-License-Identifier: GPL-3.0-or-later
14
14
 
@@ -202,7 +202,7 @@ class _tuner_1_swept_center_frequency(spectre_top_block):
202
202
 
203
203
 
204
204
  # Connections
205
- self.msg_connect((self.spectre_sweep_driver_0, 'freq'), (self.sdrplay3_rspduo_0, 'freq'))
205
+ self.msg_connect((self.spectre_sweep_driver_0, 'retune_command'), (self.sdrplay3_rspduo_0, 'command'))
206
206
  self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_batched_file_sink_0, 0))
207
207
  self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_sweep_driver_0, 0))
208
208
 
@@ -8,7 +8,7 @@
8
8
  # Title: Test receiver
9
9
  # GNU Radio version: 3.10.1.1
10
10
 
11
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
11
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
12
12
  # This file is part of SPECTRE
13
13
  # SPDX-License-Identifier: GPL-3.0-or-later
14
14
 
@@ -128,7 +128,7 @@ class _swept_center_frequency(spectre_top_block):
128
128
  min_frequency)
129
129
 
130
130
  # Connections
131
- self.msg_connect((self.spectre_sweep_driver_0, 'freq'), (self.uhd_usrp_source_0, 'command'))
131
+ self.msg_connect((self.spectre_sweep_driver_0, 'retune_command'), (self.uhd_usrp_source_0, 'command'))
132
132
  self.connect((self.uhd_usrp_source_0, 0), (self.spectre_batched_file_sink_0, 0))
133
133
  self.connect((self.uhd_usrp_source_0, 0), (self.spectre_sweep_driver_0, 0))
134
134
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,5 +1,5 @@
1
1
 
2
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
3
3
  # This file is part of SPECTRE
4
4
  # SPDX-License-Identifier: GPL-3.0-or-later
5
5
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -1,4 +1,4 @@
1
- # SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
1
+ # SPDX-FileCopyrightText: © 2024-2025 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
2
2
  # This file is part of SPECTRE
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
@@ -6,7 +6,8 @@ import os
6
6
  import subprocess
7
7
  import shutil
8
8
  import gzip
9
- from datetime import datetime
9
+ from datetime import datetime, date
10
+ from typing import Tuple
10
11
 
11
12
  from spectre_core.config import (
12
13
  get_spectre_data_dir_path, get_batches_dir_path, TimeFormat
@@ -195,7 +196,7 @@ def download_callisto_data(
195
196
  year: int,
196
197
  month: int,
197
198
  day: int
198
- ) -> list[str]:
199
+ ) -> Tuple[list[str], date]:
199
200
  """
200
201
  Download and decompress e-Callisto FITS files, saving them as `spectre` batch files.
201
202
 
@@ -203,7 +204,7 @@ def download_callisto_data(
203
204
  :param year: Year of the observation.
204
205
  :param month: Month of the observation.
205
206
  :param day: Day of the observation.
206
- :return: A list of file names of all newly created batch files, as absolute paths within the container's file system.
207
+ :return: A list of file names of all newly created batch files, as absolute paths within the container's file system. Additionally, return the start date shared by all batch files.
207
208
  """
208
209
  tmp_dir = os.path.join(get_spectre_data_dir_path(), "tmp")
209
210
  # if there are any residual files in the temporary directory, remove them.
@@ -212,4 +213,4 @@ def download_callisto_data(
212
213
  os.makedirs(tmp_dir, exist_ok=True)
213
214
 
214
215
  _wget_callisto_data(instrument_code.value, year, month, day, tmp_dir)
215
- return sorted( _unzip_to_batches(tmp_dir) )
216
+ return sorted( _unzip_to_batches(tmp_dir) ), date(year, month, day)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spectre-core
3
- Version: 0.0.20
3
+ Version: 0.0.22
4
4
  Summary: The core Python package used by the spectre program.
5
5
  Maintainer-email: Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -691,7 +691,6 @@ Requires-Dist: scipy==1.12.0
691
691
  Requires-Dist: astropy==6.0.1
692
692
  Requires-Dist: matplotlib==3.5.0
693
693
  Requires-Dist: watchdog==4.0.0
694
- Requires-Dist: mypy==1.14.1
695
694
  Dynamic: license-file
696
695
 
697
696
  # spectre-core
@@ -0,0 +1,78 @@
1
+ spectre_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ spectre_core/exceptions.py,sha256=-3GAkGuCWqZ-d_GUTsNX5FWPLxltoktPdTwiKz9ig0M,456
3
+ spectre_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ spectre_core/_file_io/__init__.py,sha256=COiOHS0aRx1UguO6WP_t976u3Tw8XggwldkhBAHX0hs,356
5
+ spectre_core/_file_io/file_handlers.py,sha256=CHvMExS9tbj6z98b6i-ev0w80Q4aqkVTqG7Op0YKcAE,6407
6
+ spectre_core/batches/__init__.py,sha256=09M7OJMQ_1VwqYsghokO7-msfMsSo38l-9kZrN9p8lU,748
7
+ spectre_core/batches/_base.py,sha256=7el7T5xbxyexyRu84hARzvhgrgjvA7yVdALDi2lsfw8,9084
8
+ spectre_core/batches/_batches.py,sha256=65Ve0_71ilaOaF_OyZzLQPpLvdx-ziAYKSdfth52a-Q,7675
9
+ spectre_core/batches/_factory.py,sha256=yYhRsuRSPWRiDTXxDre_4PMXY0isTRP4y6ykatWfXB4,2282
10
+ spectre_core/batches/_register.py,sha256=RNJVIWZGCBHe8xGXAFBJZZ4X0U7ROnnjWIBjPf7bweg,1090
11
+ spectre_core/batches/plugins/_batch_keys.py,sha256=fr65_8D3OdDdButY8rKXLWGSYjJ0h3V5S2i_7kH2x-s,549
12
+ spectre_core/batches/plugins/_callisto.py,sha256=un0D6y7urBZprbq5UWduL3thP8-hALhE-s5P22PCb1M,6264
13
+ spectre_core/batches/plugins/_iq_stream.py,sha256=sGMDuaPZK-mQ5KZN4ukZDPZJP8OncmXmz29EgO_gNHU,12557
14
+ spectre_core/capture_configs/__init__.py,sha256=i7JzaxIaQ_ebA-lJqqtO9P9opb8qoSMQW9YVnChGmwU,1743
15
+ spectre_core/capture_configs/_capture_config.py,sha256=ZdQ61urkCrpX3bCjReAuJ5h3cKUEbDn4H_ECx9RxGa0,4435
16
+ spectre_core/capture_configs/_capture_modes.py,sha256=rXcVbYF2iza-GFIy6BnYfjjHAGuMJltS8wceFJdafWc,903
17
+ spectre_core/capture_configs/_capture_templates.py,sha256=ahzLDjbIReyWAE_TkzYOP3I-k8Bxs5PRkpWx9CCupZE,10358
18
+ spectre_core/capture_configs/_parameters.py,sha256=3e7fzSZSNYBmmNKL4ECmfF9ES2frHqSpQ0BRjmDEeQA,5568
19
+ spectre_core/capture_configs/_pconstraints.py,sha256=26YzA5ISr43objkFvhtJM6QQyH-Po4J-NO4m_UcP7K8,5232
20
+ spectre_core/capture_configs/_pnames.py,sha256=0tFHG_sb7UmiB8uQskunH_-kKq8ah8Od-Szjrerb8mI,1980
21
+ spectre_core/capture_configs/_ptemplates.py,sha256=7109YGo21F9jQnnANRsbsq_x713d5E9lIlNFqMpV0HI,25614
22
+ spectre_core/capture_configs/_pvalidators.py,sha256=-X2c7ZPJpJSfooA-4fi70Evhhx3hvLxCCPCCkeiIUYk,10330
23
+ spectre_core/config/__init__.py,sha256=a3_Y-xJ_uesoNsDpDNJCDOSsodjFf7ItDQqMOepyw7Q,570
24
+ spectre_core/config/_paths.py,sha256=hL2-Xsaa_6la5YZbHBdKtjLRtojULQoDaZINjMAdDHE,5229
25
+ spectre_core/config/_time_formats.py,sha256=nWLYOAYXHC5yH9de8gnicp2a_KW-XC3V5M2L51GQUU8,862
26
+ spectre_core/jobs/__init__.py,sha256=1dRyF5OABABr1kAr7_AIBPgS6D5aygN-OrOLKlCjLFc,417
27
+ spectre_core/jobs/_jobs.py,sha256=52bIvm-BD9IKxMbjjnIlmVDNbhUkZPVbz00s2Hb5zVA,3849
28
+ spectre_core/jobs/_workers.py,sha256=N7WHNZf3akPuI9U8K5ALsbrK28hYdhprVJx0p5ihwXc,5028
29
+ spectre_core/logs/__init__.py,sha256=Mm6iicNo2Gq52qv-cjvbUJtPlk0fyis8aPqyX-kQ-XY,544
30
+ spectre_core/logs/_configure.py,sha256=4YR45oTESGqtHJt4mYGpfArDJxClDXf-ytVlfJKKLBo,2213
31
+ spectre_core/logs/_decorators.py,sha256=kHeyIYI2D4TFFrxIsHir23LyLrUuBx_V2Q5vvwTQnn8,1174
32
+ spectre_core/logs/_logs.py,sha256=625J6JKlmTnu4ZoK4NuuFCC5cLnMv2L4pJaeGgjb3RQ,6905
33
+ spectre_core/logs/_process_types.py,sha256=EbAmm7EqpIXexD51Yot6cr4qqOCfODmpznRBgbWjM98,493
34
+ spectre_core/plotting/__init__.py,sha256=fYoOYrcA3_1MrVECxEvbs9JdTjWsitVDDp0tdgDBSQc,522
35
+ spectre_core/plotting/_base.py,sha256=3kOQ-oUCVGht8MF3jAzyr4MSD_vowBK6YnSCZyiKF9w,8552
36
+ spectre_core/plotting/_format.py,sha256=jZPDLM0urDTtRgRXUh9kJrfIZel-pFRG-QZ0m6xPqfc,1398
37
+ spectre_core/plotting/_panel_names.py,sha256=iqo-u9s9MRlxNyPGCib_prR94zVjdRvhkcIa7JAnwW0,835
38
+ spectre_core/plotting/_panel_stack.py,sha256=ZysmEy8u7sj25RPZ91sP1gqLU8Hzd7X2we8eRWHRzf0,10268
39
+ spectre_core/plotting/_panels.py,sha256=4u5ar6V8zpmiS-h7ILcANuFRjaluWn72wdCEg16z8l8,16035
40
+ spectre_core/post_processing/__init__.py,sha256=jxLLiT81UJshvH_boUYqCcdxXCKeR2Z7Bl3Ddg8gX0A,629
41
+ spectre_core/post_processing/_base.py,sha256=NVO_rsRb8TxkYYV0aW1O4FCRr0D14_Udjaza56GNjys,6654
42
+ spectre_core/post_processing/_factory.py,sha256=afOycQKxwpLUaEM_qEtk0-q1v60-GhB7ZTUu0-67yLw,2198
43
+ spectre_core/post_processing/_post_processor.py,sha256=cYFiNCcy3IlNMCST6NjwK_itdruRIccF06d3CriQaMQ,1305
44
+ spectre_core/post_processing/_register.py,sha256=7JO4zbrNRk3ERBmgygIlIq71qn9YobNK1yJZBjn9tp4,1254
45
+ spectre_core/post_processing/plugins/_event_handler_keys.py,sha256=ueeerVWPVqGsytcQcxCHVqtXPRryZTYSsqE2o9smlwo,619
46
+ spectre_core/post_processing/plugins/_fixed_center_frequency.py,sha256=M6WHAdR6yNwDLyrY0Wum3Ab4mY7CHgSaaT5sTiPdByE,5236
47
+ spectre_core/post_processing/plugins/_swept_center_frequency.py,sha256=HuN44Ty2kEvaSoIataWNFsEp5q7MSJWPm1s_0Mzz4bI,20976
48
+ spectre_core/receivers/__init__.py,sha256=EdfmYanRyNiTs19TNN_EkAbra-TzKo-raANMkgv8nGc,719
49
+ spectre_core/receivers/_base.py,sha256=oyvtk_ovdP8bt_7mLbZnEnGTmG0o0qvuvay5cHL4Lx0,8977
50
+ spectre_core/receivers/_factory.py,sha256=t0gDWX35o7xywRUIrVFhQxGdI3R8FNnB5Sp-88cJ-GQ,2023
51
+ spectre_core/receivers/_register.py,sha256=_8O9wlSzMS8UqovQgM3pvX9klG-zovEht8RmD2nWzVk,1371
52
+ spectre_core/receivers/_spec_names.py,sha256=MXcVSQan3YluSugglIUJU4C_jv4Gr06SUbcWEHoisWo,2451
53
+ spectre_core/receivers/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
+ spectre_core/receivers/plugins/_b200mini.py,sha256=NDGEZeYF5wZ0ef7ooEEH5yXOEI4_5qnnI0IFuOHAgyU,2895
55
+ spectre_core/receivers/plugins/_receiver_names.py,sha256=04ephIFIktIeC2P09EeKoeJ9QJGqXSbKxr3R-J79tGE,503
56
+ spectre_core/receivers/plugins/_rsp1a.py,sha256=i0v5BlMMgHLm00MuN-Mjz7a_SropAA0MPVbaJrlgC-M,2646
57
+ spectre_core/receivers/plugins/_rspduo.py,sha256=BvCtXft0dFI2rgiFw-LYbol74vu_4AcR8gwVli8elZ4,3235
58
+ spectre_core/receivers/plugins/_sdrplay_receiver.py,sha256=clPX3WFm06UlzaUsewFZeghh5RDHufiMdXja6gB-JJE,5742
59
+ spectre_core/receivers/plugins/_test.py,sha256=_9NczGRbCqB0DYAr4I7X637v3qvvkiIPq6qDrLwFeK0,8282
60
+ spectre_core/receivers/plugins/_usrp.py,sha256=30eVo2ijfYOV9Q7Uh7JH3mapTlzhjCiO887pWiWoWC0,7608
61
+ spectre_core/receivers/plugins/gr/__init__.py,sha256=Tu9GLLF3T9Zca_s00ZuB7vyFfRlZDqzpODxft8QGRsU,159
62
+ spectre_core/receivers/plugins/gr/_base.py,sha256=dQWJiW3v3TIER78S3CRYVYQ7B8L7waCI-keuU-gU5vg,2576
63
+ spectre_core/receivers/plugins/gr/_rsp1a.py,sha256=oF-r0ECIpqYxFSC9GK-3fptXyB_toZT74s7_---_-E8,6301
64
+ spectre_core/receivers/plugins/gr/_rspduo.py,sha256=NoeWSSM0SSXkghgF9FtaqjK2b5oH-0ZObQvE_H7N6TQ,9829
65
+ spectre_core/receivers/plugins/gr/_test.py,sha256=5OTzHgRLxR15lbuk0wNHpbk0LVPLBqvQbBPW4-EjhiA,5785
66
+ spectre_core/receivers/plugins/gr/_usrp.py,sha256=qlFW949h1imXVvenxBg487BVBUTEcFi9DuAWb1UjacU,6645
67
+ spectre_core/spectrograms/__init__.py,sha256=j_KMY6TUySm30H6gAgRgzEyb8EuiSuCPP6zqdKv9XcI,768
68
+ spectre_core/spectrograms/_analytical.py,sha256=xt7NnO4UETLbUxJLgOoVDgPF7sCN_mTP1vqFOjYu2HY,11361
69
+ spectre_core/spectrograms/_array_operations.py,sha256=5DDJI8hsY8Cen-Ybek5BUf3aBVInhbEZ8TL_AEi5wdc,7558
70
+ spectre_core/spectrograms/_spectrogram.py,sha256=dhrxbBakIjFATZXAJO6LBrkAvzsqtQbwYCKV55YMDes,28210
71
+ spectre_core/spectrograms/_transform.py,sha256=cKiLytddG9ThGw3CdFs2Ve1VQ9fpgqIHQecYObjAAjw,11703
72
+ spectre_core/wgetting/__init__.py,sha256=lMjmKop8Ov0WDF3FxEweyDHbg8RBqijOh4HbKHL5EqY,346
73
+ spectre_core/wgetting/_callisto.py,sha256=dnjKyZ5hqIZfb3XtGuijyu1GDpkQB2yAKhAS6vTQxfw,7602
74
+ spectre_core-0.0.22.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
75
+ spectre_core-0.0.22.dist-info/METADATA,sha256=YtuT_s4pa9vz-PgiLbxD_Y9fmHQn2wITr5dx0Y0wEvc,42094
76
+ spectre_core-0.0.22.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
77
+ spectre_core-0.0.22.dist-info/top_level.txt,sha256=-UsyjpFohXgZpgcZ9QbVeXhsIyF3Am8RxNFNDV_Ta2Y,13
78
+ spectre_core-0.0.22.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.0.2)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,78 +0,0 @@
1
- spectre_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- spectre_core/exceptions.py,sha256=ccr-n88W0c_DKcsKMAe09QHX1iG2LUEqOMYHcGB-_do,451
3
- spectre_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- spectre_core/_file_io/__init__.py,sha256=RZAtX8pFtdtTlxoxxttxJf1Wcg8lDFXgKMe1rcgaFP8,351
5
- spectre_core/_file_io/file_handlers.py,sha256=dJ3rMcTGbNnEXbYZgVoaos4p6qKGs-rWNeY8nmluQCQ,6402
6
- spectre_core/batches/__init__.py,sha256=nEEGLB9TnCKrP1VHQxYlU6U5MBt_4CHBcrRDnB-9GIU,685
7
- spectre_core/batches/_base.py,sha256=5N9I6F_ixfu3ZRtcoDE480j2LbnpRGTET7DVgHpOZ-c,8639
8
- spectre_core/batches/_batches.py,sha256=uFlRfkTndepkAwbMwDzmfSPIuZ69Yt_-i_Nidrb_mPk,7712
9
- spectre_core/batches/_factory.py,sha256=ApshWhbhZ-CSoQBrlcYaC5W5p_w_v4pxOdOdlrF7YIA,2277
10
- spectre_core/batches/_register.py,sha256=dSQC8KXj_jG8EiPwmKPdV0HSSalIZLaWt-8E29sczJM,1085
11
- spectre_core/batches/plugins/_batch_keys.py,sha256=8v0KE1n0NAQX0i9SwwB4Lgkct7Q_jna-H5S0Gs6p1qg,544
12
- spectre_core/batches/plugins/_callisto.py,sha256=ijm-VzGGlLQJjB2eQWw-04R6belCJ_NzSL9Jr7VTu2Q,6259
13
- spectre_core/batches/plugins/_iq_stream.py,sha256=YnNMrsD-K_otgN_4cR1pPJaddXpEaP4KkVVv0zIDs8w,12552
14
- spectre_core/capture_configs/__init__.py,sha256=bhwp1Kf2llzd8HpkMPxeM_ZJoIoCFLQoMZJ44AAH6s0,1738
15
- spectre_core/capture_configs/_capture_config.py,sha256=VdiHvv5vdFKaB15EwNYyizFmtkoJHrzTiumDvHLI9HM,4430
16
- spectre_core/capture_configs/_capture_modes.py,sha256=uFBMwHYJCDqqQfYJvAUKzKXTmSBANRZMLlRSKV8WRb8,898
17
- spectre_core/capture_configs/_capture_templates.py,sha256=nSAxhOh1DeBzYY16evgOTkDuxRugGG5weJsICUouLPQ,10353
18
- spectre_core/capture_configs/_parameters.py,sha256=9KoNuwzDKtnyeju53fkImi1SeUjDn89cNwDL8zxX-YU,5563
19
- spectre_core/capture_configs/_pconstraints.py,sha256=bnl1m6M9iyo5KOsPKT_arwrrAZbxRKXVwTHQACzvs2g,5227
20
- spectre_core/capture_configs/_pnames.py,sha256=3bJhT4kM5WuiH9SSs4UyBcq_mDybzx-bRiWJcIOqeLA,1975
21
- spectre_core/capture_configs/_ptemplates.py,sha256=Pepzs7eq31WPdTYmIICJjIVOzf-j5LdA2SD_f2RUZ54,25609
22
- spectre_core/capture_configs/_pvalidators.py,sha256=fRlFL3rTIpDU2G4iUKp3Lb_jFX5ddHNuUbY5hTzZQQg,10325
23
- spectre_core/config/__init__.py,sha256=TwQAiDUJLWuwx4IFlStG7Mvb9EFU3u82z5ilPfVH6e0,565
24
- spectre_core/config/_paths.py,sha256=k9jyPlaFHlM2pAwqPWlpivdc0jCiFFpy4tOny1uxc64,5224
25
- spectre_core/config/_time_formats.py,sha256=gS0j5zIvBhnV7KMYvTloloIbVwmCYn8MMKn3zNeQ4Xc,857
26
- spectre_core/jobs/__init__.py,sha256=WKTvxvpciedm6tsKjU02iXJhIdNsMDt-BnMVwVme2Bo,412
27
- spectre_core/jobs/_jobs.py,sha256=gGpxsLZZ7EdXBYGH-r_pKnRGWSapr78E5SK_VnulaGg,3844
28
- spectre_core/jobs/_workers.py,sha256=9GPEJVqIFuOAXpY9gfJxX-0_UPJ6RBtUe5qC5JLiYNw,5023
29
- spectre_core/logs/__init__.py,sha256=BHZTru9KyOUDPBnanM1EJK5E1BN6YAGrjhdKFZ1ysUM,484
30
- spectre_core/logs/_configure.py,sha256=NlR3BEwhj5k0qlTooOLb6OFRbYcDT05eWN-9Sl9Hkbk,2208
31
- spectre_core/logs/_decorators.py,sha256=u_Ixpr6aeKiSjM0mtqHuGXVGawNjgJPRvIpAj0zPSdQ,1169
32
- spectre_core/logs/_logs.py,sha256=M6sIsb2xxos9Ytj509qqp2jXZtvFU5uon9jIwEHLEI8,6578
33
- spectre_core/logs/_process_types.py,sha256=qnKfeXPk-6NOlNf4XtD8D3tYbA_ZVhHSZAKSd2MiVmY,488
34
- spectre_core/plotting/__init__.py,sha256=9zhmCphR4DSHlWfJhHeWPbvIrh8Kycov5Ta6woSrUZg,517
35
- spectre_core/plotting/_base.py,sha256=yRZ6pf_d1mm35yn4AU8Hu2X50rCeB0KX1yEygDbpYo4,8547
36
- spectre_core/plotting/_format.py,sha256=gWnj12PfgODQRTCCEyH2_mY7GY0brFbmolBEJfDtO6c,1393
37
- spectre_core/plotting/_panel_names.py,sha256=xeXUXAhzDoPYCgtjy_6zbwADHBtB0-jARnFOW-YTcAc,830
38
- spectre_core/plotting/_panel_stack.py,sha256=M2gKJf9Uxr6nf2KldGfVa5TDa1n-wEk-ZS5svE3D7Qo,10263
39
- spectre_core/plotting/_panels.py,sha256=IaJ8EDLu5pvsN6kklNWc1ectCfgUsxwN0EKwT2wiFNo,16030
40
- spectre_core/post_processing/__init__.py,sha256=PVr7AhKK5at0o3BzNlJeC_Z_J8ZNATjGVY7PYg7fSew,624
41
- spectre_core/post_processing/_base.py,sha256=gtycVjtAStN5sW4KuzxVQngLzYCx3k-9B5IfmMZnu_g,5815
42
- spectre_core/post_processing/_factory.py,sha256=fnabYFy7Qe3EkJcR7baj1VyPdikw-xTSuNC01w7VupU,2193
43
- spectre_core/post_processing/_post_processor.py,sha256=0WLOwtx-FHK4t6dv-I6_1K9sRNn-625wPS11lqJ8Kho,1300
44
- spectre_core/post_processing/_register.py,sha256=chK5bCQ-0bpMhplbKT3cdS5anLhIA5Tt_ONzThJHrw0,1249
45
- spectre_core/post_processing/plugins/_event_handler_keys.py,sha256=LPA71kKsaLPyT2vpPJwm88-RWfX-AU0_T9H8-GdjINQ,614
46
- spectre_core/post_processing/plugins/_fixed_center_frequency.py,sha256=24LB3iDMa2KvgM7jyRnEr7Y45VK46bUT7Nj8bXGiGwc,5231
47
- spectre_core/post_processing/plugins/_swept_center_frequency.py,sha256=fzPAZ4zK1DRAHushUB-JS2IgKAuXyP4hdBLZJX6jBmo,20971
48
- spectre_core/receivers/__init__.py,sha256=uT3XNn12gSfK_M_GE__sK-TRWra92qkttnUJ-_6uViE,714
49
- spectre_core/receivers/_base.py,sha256=PSC8XWnlVyxkyLa_64Haq4bZTTIxGf42_X8z8_9gYng,8972
50
- spectre_core/receivers/_factory.py,sha256=xViruRYb9kFjndY_GmhK5vNQ0VxCE3rbKB3uzqtp_zE,2018
51
- spectre_core/receivers/_register.py,sha256=jWS3Q_ZOZcqUFunxJwR5VRZN4_eS3LzcP-5edQdmj4c,1366
52
- spectre_core/receivers/_spec_names.py,sha256=V370aeclNqW0hGdbx6C8v61GPnPDkSMol692igv0Aq4,2446
53
- spectre_core/receivers/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- spectre_core/receivers/plugins/_b200mini.py,sha256=l0baAg6tRdAfT7N1eAmHoQ9fJlKQO8-AsPZ7YAyc8t4,2890
55
- spectre_core/receivers/plugins/_receiver_names.py,sha256=b8cUln47Ya8rr8vnnHQEGa7j9Hf-hJsNbTNtGuZaWlA,498
56
- spectre_core/receivers/plugins/_rsp1a.py,sha256=zgPemoRjd93CvI9bRg7PHzgAUHB9xXg5LCvkLHa3jbI,2641
57
- spectre_core/receivers/plugins/_rspduo.py,sha256=Sim1TXcG_g1ohWKwvMk7XzrQC8NGydCMGZEf9hhvX-0,3230
58
- spectre_core/receivers/plugins/_sdrplay_receiver.py,sha256=bdfjGvKSFW_jfQFIQQcIIf8UfbuMwW04SK6YMNMIINI,5737
59
- spectre_core/receivers/plugins/_test.py,sha256=t8oE4zQLYYWJV6SMIZAlNHs9mig263QJmP6XRLyF0RU,8277
60
- spectre_core/receivers/plugins/_usrp.py,sha256=Z0KxOcreic4Bxefeyy6xJ8ips8Q76XBiQcOui56QClU,7603
61
- spectre_core/receivers/plugins/gr/__init__.py,sha256=oFSWmGoXQLK5X5xHvWzTdNr9amuaiiGjZirXZVogACU,154
62
- spectre_core/receivers/plugins/gr/_base.py,sha256=woFF6498aLIDf4EC7aD-TolY9LtZBqlLy-Vai_gfIvc,2571
63
- spectre_core/receivers/plugins/gr/_rsp1a.py,sha256=JLMRCNouSblNizth7EmLrtWvbnpD-5zd7uhc6Pjcopw,6288
64
- spectre_core/receivers/plugins/gr/_rspduo.py,sha256=s5g5nOQHiVHCESaHdj2VmgXl_LaiMaqXhTJfUbC7Iew,9811
65
- spectre_core/receivers/plugins/gr/_test.py,sha256=YA3JKdJ_CT3J93pqHUjltKrQUoaDXzUloEJEXVHH718,5780
66
- spectre_core/receivers/plugins/gr/_usrp.py,sha256=qhJ701mU5hVI9X7QQN6V4xmrFi2VlDMTz3XfjbCkxRo,6635
67
- spectre_core/spectrograms/__init__.py,sha256=AsiOmn9XrAAHUvK-fdhRddAxX4M1Wd6TCtdmxGkl3FA,763
68
- spectre_core/spectrograms/_analytical.py,sha256=Axnt9JOJnWXRRuVU5nHPz5QU09KoWqNZkR5NnTX6kMY,11356
69
- spectre_core/spectrograms/_array_operations.py,sha256=79vddwWqR5i6OkeD5L_84t8svslpmzW4b8uxbiCQl0I,7553
70
- spectre_core/spectrograms/_spectrogram.py,sha256=WhHEt_QpmzspDqYlzdZcJ8CAXxRfs8-JfP0T3NHpjLQ,28205
71
- spectre_core/spectrograms/_transform.py,sha256=_Kw9XfGNuhBqHfwPxNL4d-KIZJgzEX449ew1e17_k00,11698
72
- spectre_core/wgetting/__init__.py,sha256=UkS0Z0wuuqpoZ1EL35wJcDpjBiAaZgdZ7064yGESxNE,341
73
- spectre_core/wgetting/_callisto.py,sha256=tRUqYA4qRbJW8W0LoRAhg4Dk_rcR1OOfho661FWe8nY,7464
74
- spectre_core-0.0.20.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
75
- spectre_core-0.0.20.dist-info/METADATA,sha256=WgMJ2MZnPLHqaMPCLilyBQmTRvWoSTA5EkDSySuZF94,42122
76
- spectre_core-0.0.20.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
77
- spectre_core-0.0.20.dist-info/top_level.txt,sha256=-UsyjpFohXgZpgcZ9QbVeXhsIyF3Am8RxNFNDV_Ta2Y,13
78
- spectre_core-0.0.20.dist-info/RECORD,,