sl-shared-assets 3.0.0rc10__py3-none-any.whl → 3.0.0rc12__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.
Potentially problematic release.
This version of sl-shared-assets might be problematic. Click here for more details.
- sl_shared_assets/__init__.py +6 -0
- sl_shared_assets/__init__.pyi +6 -0
- sl_shared_assets/data_classes/__init__.py +6 -1
- sl_shared_assets/data_classes/__init__.pyi +6 -0
- sl_shared_assets/data_classes/configuration_data.py +49 -39
- sl_shared_assets/data_classes/configuration_data.pyi +21 -15
- sl_shared_assets/data_classes/runtime_data.py +53 -41
- sl_shared_assets/data_classes/runtime_data.pyi +32 -26
- sl_shared_assets/data_classes/session_data.py +166 -124
- sl_shared_assets/data_classes/session_data.pyi +92 -57
- sl_shared_assets/data_classes/surgery_data.py +1 -1
- sl_shared_assets/tools/ascension_tools.py +2 -2
- sl_shared_assets/tools/ascension_tools.pyi +1 -0
- {sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/METADATA +2 -4
- {sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/RECORD +18 -18
- {sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/WHEEL +0 -0
- {sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/entry_points.txt +0 -0
- {sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,19 +1,41 @@
|
|
|
1
|
+
from enum import StrEnum
|
|
1
2
|
from pathlib import Path
|
|
2
3
|
from dataclasses import field, dataclass
|
|
3
4
|
|
|
4
5
|
from _typeshed import Incomplete
|
|
5
6
|
from ataraxis_data_structures import YamlConfig
|
|
6
7
|
|
|
7
|
-
from .configuration_data import
|
|
8
|
+
from .configuration_data import (
|
|
9
|
+
AcquisitionSystems as AcquisitionSystems,
|
|
10
|
+
get_system_configuration_data as get_system_configuration_data,
|
|
11
|
+
)
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
class SessionTypes(StrEnum):
|
|
14
|
+
"""Defines the set of data acquisition session types supported by various data acquisition systems used in the
|
|
15
|
+
Sun lab.
|
|
16
|
+
|
|
17
|
+
A data acquisition session broadly encompasses a recording session carried out to either: acquire experiment data,
|
|
18
|
+
train the animal for the upcoming experiments, or to assess the quality of surgical or other pre-experiment
|
|
19
|
+
intervention.
|
|
20
|
+
|
|
21
|
+
Notes:
|
|
22
|
+
This enumeration does not differentiate between different acquisition systems. Different acquisition systems
|
|
23
|
+
support different session types, and may not be suited for acquiring some of the session types listed in this
|
|
24
|
+
enumeration.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
LICK_TRAINING = "lick training"
|
|
28
|
+
RUN_TRAINING = "run training"
|
|
29
|
+
MESOSCOPE_EXPERIMENT = "mesoscope experiment"
|
|
30
|
+
WINDOW_CHECKING = "window checking"
|
|
10
31
|
|
|
11
32
|
@dataclass()
|
|
12
33
|
class RawData:
|
|
13
34
|
"""Stores the paths to the directories and files that make up the 'raw_data' session-specific directory.
|
|
14
35
|
|
|
15
|
-
The raw_data directory stores the data acquired during the session runtime before and after
|
|
16
|
-
preprocessing does not alter the data, any data in that folder is considered
|
|
36
|
+
The raw_data directory stores the data acquired during the session data acquisition runtime, before and after
|
|
37
|
+
preprocessing. Since preprocessing does not irreversibly alter the data, any data in that folder is considered
|
|
38
|
+
'raw,' event if preprocessing losslessly re-compresses the data for efficient transfer.
|
|
17
39
|
|
|
18
40
|
Notes:
|
|
19
41
|
Sun lab data management strategy primarily relies on keeping multiple redundant copies of the raw_data for
|
|
@@ -42,16 +64,19 @@ class RawData:
|
|
|
42
64
|
def resolve_paths(self, root_directory_path: Path) -> None:
|
|
43
65
|
"""Resolves all paths managed by the class instance based on the input root directory path.
|
|
44
66
|
|
|
45
|
-
This method is called each time the class is instantiated to regenerate the managed path
|
|
46
|
-
machine that instantiates the class.
|
|
67
|
+
This method is called each time the (wrapper) SessionData class is instantiated to regenerate the managed path
|
|
68
|
+
hierarchy on any machine that instantiates the class.
|
|
47
69
|
|
|
48
70
|
Args:
|
|
49
|
-
root_directory_path: The path to the top-level directory of the
|
|
50
|
-
|
|
51
|
-
the managed session.
|
|
71
|
+
root_directory_path: The path to the top-level directory of the session. Typically, this path is assembled
|
|
72
|
+
using the following hierarchy: root/project/animal/session_id
|
|
52
73
|
"""
|
|
53
74
|
def make_directories(self) -> None:
|
|
54
|
-
"""Ensures that all major subdirectories and the root directory exist, creating any missing directories.
|
|
75
|
+
"""Ensures that all major subdirectories and the root directory exist, creating any missing directories.
|
|
76
|
+
|
|
77
|
+
This method is called each time the (wrapper) SessionData class is instantiated and allowed to generate
|
|
78
|
+
missing data directories.
|
|
79
|
+
"""
|
|
55
80
|
|
|
56
81
|
@dataclass()
|
|
57
82
|
class ProcessedData:
|
|
@@ -73,44 +98,42 @@ class ProcessedData:
|
|
|
73
98
|
def resolve_paths(self, root_directory_path: Path) -> None:
|
|
74
99
|
"""Resolves all paths managed by the class instance based on the input root directory path.
|
|
75
100
|
|
|
76
|
-
This method is called each time the class is instantiated to regenerate the managed path
|
|
77
|
-
machine that instantiates the class.
|
|
101
|
+
This method is called each time the (wrapper) SessionData class is instantiated to regenerate the managed path
|
|
102
|
+
hierarchy on any machine that instantiates the class.
|
|
78
103
|
|
|
79
104
|
Args:
|
|
80
|
-
root_directory_path: The path to the top-level directory of the
|
|
81
|
-
|
|
82
|
-
the managed session.
|
|
105
|
+
root_directory_path: The path to the top-level directory of the session. Typically, this path is assembled
|
|
106
|
+
using the following hierarchy: root/project/animal/session_id
|
|
83
107
|
"""
|
|
84
108
|
def make_directories(self) -> None:
|
|
85
|
-
"""Ensures that all major subdirectories and the root directory exist, creating any missing directories.
|
|
109
|
+
"""Ensures that all major subdirectories and the root directory exist, creating any missing directories.
|
|
110
|
+
|
|
111
|
+
This method is called each time the (wrapper) SessionData class is instantiated and allowed to generate
|
|
112
|
+
missing data directories.
|
|
113
|
+
"""
|
|
86
114
|
|
|
87
115
|
@dataclass
|
|
88
116
|
class SessionData(YamlConfig):
|
|
89
|
-
"""Stores and manages the data layout of a single
|
|
90
|
-
|
|
91
|
-
The primary purpose of this class is to maintain the session data structure across all supported destinations and
|
|
92
|
-
during all processing stages. It generates the paths used by all other classes from all Sun lab libraries that
|
|
93
|
-
interact with the session's data from the point of its creation and until the data is integrated into an
|
|
94
|
-
analysis dataset.
|
|
117
|
+
"""Stores and manages the data layout of a single Sun lab data acquisition session.
|
|
95
118
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
session
|
|
119
|
+
The primary purpose of this class is to maintain the session data structure across all supported destinations and to
|
|
120
|
+
provide a unified data access interface shared by all Sun lab libraries. The class can be used to either generate a
|
|
121
|
+
new session or load the layout of an already existing session. When the class is used to create a new session, it
|
|
122
|
+
generates the new session's name using the current UTC timestamp, accurate to microseconds. This ensures that each
|
|
123
|
+
session 'name' is unique and preserves the overall session order.
|
|
100
124
|
|
|
101
125
|
Notes:
|
|
102
126
|
This class is specifically designed for working with the data from a single session, performed by a single
|
|
103
127
|
animal under the specific experiment. The class is used to manage both raw and processed data. It follows the
|
|
104
|
-
data through acquisition, preprocessing and processing stages of the Sun lab data workflow.
|
|
105
|
-
|
|
106
|
-
data.
|
|
128
|
+
data through acquisition, preprocessing and processing stages of the Sun lab data workflow. This class serves as
|
|
129
|
+
an entry point for all interactions with the managed session's data.
|
|
107
130
|
"""
|
|
108
131
|
|
|
109
132
|
project_name: str
|
|
110
133
|
animal_id: str
|
|
111
134
|
session_name: str
|
|
112
|
-
session_type: str
|
|
113
|
-
acquisition_system: str
|
|
135
|
+
session_type: str | SessionTypes
|
|
136
|
+
acquisition_system: str | AcquisitionSystems
|
|
114
137
|
experiment_name: str | None
|
|
115
138
|
python_version: str = ...
|
|
116
139
|
sl_experiment_version: str = ...
|
|
@@ -123,7 +146,7 @@ class SessionData(YamlConfig):
|
|
|
123
146
|
cls,
|
|
124
147
|
project_name: str,
|
|
125
148
|
animal_id: str,
|
|
126
|
-
session_type: str,
|
|
149
|
+
session_type: SessionTypes | str,
|
|
127
150
|
experiment_name: str | None = None,
|
|
128
151
|
session_name: str | None = None,
|
|
129
152
|
python_version: str = "3.11.13",
|
|
@@ -138,26 +161,27 @@ class SessionData(YamlConfig):
|
|
|
138
161
|
To load an already existing session data structure, use the load() method instead.
|
|
139
162
|
|
|
140
163
|
This method automatically dumps the data of the created SessionData instance into the session_data.yaml file
|
|
141
|
-
inside the root raw_data directory of the created hierarchy. It also finds and dumps other configuration
|
|
142
|
-
files, such as experiment_configuration.yaml and system_configuration.yaml into the same raw_data
|
|
143
|
-
|
|
144
|
-
|
|
164
|
+
inside the root 'raw_data' directory of the created hierarchy. It also finds and dumps other configuration
|
|
165
|
+
files, such as experiment_configuration.yaml and system_configuration.yaml into the same 'raw_data'
|
|
166
|
+
directory. If the session's runtime is interrupted unexpectedly, the acquired data can still be processed
|
|
167
|
+
using these pre-saved class instances.
|
|
145
168
|
|
|
146
169
|
Args:
|
|
147
|
-
project_name: The name of the project for which the
|
|
148
|
-
animal_id: The ID code of the animal
|
|
149
|
-
session_type: The type of the session.
|
|
150
|
-
|
|
151
|
-
experiment_name: The name of the experiment executed during
|
|
152
|
-
used for
|
|
153
|
-
|
|
170
|
+
project_name: The name of the project for which the session is carried out.
|
|
171
|
+
animal_id: The ID code of the animal participating in the session.
|
|
172
|
+
session_type: The type of the session. Has to be one of the supported session types exposed by the
|
|
173
|
+
SessionTypes enumeration.
|
|
174
|
+
experiment_name: The name of the experiment executed during the session. This optional argument is only
|
|
175
|
+
used for experiment sessions. Note! The name passed to this argument has to match the name of the
|
|
176
|
+
experiment configuration .yaml file.
|
|
177
|
+
session_name: An optional session name override. Generally, this argument should not be provided for most
|
|
154
178
|
sessions. When provided, the method uses this name instead of generating a new timestamp-based name.
|
|
155
179
|
This is only used during the 'ascension' runtime to convert old data structures to the modern
|
|
156
180
|
lab standards.
|
|
157
|
-
python_version: The string that specifies the Python version used to collect
|
|
181
|
+
python_version: The string that specifies the Python version used to collect session data. Has to be
|
|
158
182
|
specified using the major.minor.patch version format.
|
|
159
183
|
sl_experiment_version: The string that specifies the version of the sl-experiment library used to collect
|
|
160
|
-
|
|
184
|
+
session data. Has to be specified using the major.minor.patch version format.
|
|
161
185
|
|
|
162
186
|
Returns:
|
|
163
187
|
An initialized SessionData instance that stores the layout of the newly created session's data.
|
|
@@ -169,9 +193,9 @@ class SessionData(YamlConfig):
|
|
|
169
193
|
"""Loads the SessionData instance from the target session's session_data.yaml file.
|
|
170
194
|
|
|
171
195
|
This method is used to load the data layout information of an already existing session. Primarily, this is used
|
|
172
|
-
when
|
|
173
|
-
|
|
174
|
-
|
|
196
|
+
when processing session data. Due to how SessionData is stored and used in the lab, this method always loads the
|
|
197
|
+
data layout from the session_data.yaml file stored inside the 'raw_data' session subfolder. Currently, all
|
|
198
|
+
interactions with Sun lab data require access to the 'raw_data' folder of each session.
|
|
175
199
|
|
|
176
200
|
Notes:
|
|
177
201
|
To create a new session, use the create() method instead.
|
|
@@ -195,14 +219,14 @@ class SessionData(YamlConfig):
|
|
|
195
219
|
def runtime_initialized(self) -> None:
|
|
196
220
|
"""Ensures that the 'nk.bin' marker file is removed from the session's raw_data folder.
|
|
197
221
|
|
|
198
|
-
|
|
199
|
-
not fully initialize during runtime. This service method is designed to be called by the
|
|
200
|
-
|
|
222
|
+
The 'nk.bin' marker is generated as part of the SessionData initialization (creation) process to mark sessions
|
|
223
|
+
that did not fully initialize during runtime. This service method is designed to be called by the sl-experiment
|
|
224
|
+
library classes to remove the 'nk.bin' marker when it is safe to do so. It should not be called by end-users.
|
|
201
225
|
"""
|
|
202
226
|
def _save(self) -> None:
|
|
203
227
|
"""Saves the instance data to the 'raw_data' directory of the managed session as a 'session_data.yaml' file.
|
|
204
228
|
|
|
205
|
-
This is used to save the data stored in the instance to disk, so that it can be reused during
|
|
229
|
+
This is used to save the data stored in the instance to disk, so that it can be reused during further stages of
|
|
206
230
|
data processing. The method is intended to only be used by the SessionData instance itself during its
|
|
207
231
|
create() method runtime.
|
|
208
232
|
"""
|
|
@@ -222,6 +246,13 @@ class ProcessingTracker(YamlConfig):
|
|
|
222
246
|
_is_running: bool = ...
|
|
223
247
|
_lock_path: str = field(init=False)
|
|
224
248
|
def __post_init__(self) -> None: ...
|
|
249
|
+
def __del__(self) -> None:
|
|
250
|
+
"""If the instance is garbage-collected without calling the stop() method, assumes this is due to a runtime
|
|
251
|
+
error.
|
|
252
|
+
|
|
253
|
+
It is essential to always resolve the runtime as either 'stopped' or 'erred' to avoid deadlocking the session
|
|
254
|
+
data.
|
|
255
|
+
"""
|
|
225
256
|
def _load_state(self) -> None:
|
|
226
257
|
"""Reads the current processing state from the wrapped .YAML file."""
|
|
227
258
|
def _save_state(self) -> None:
|
|
@@ -248,7 +279,11 @@ class ProcessingTracker(YamlConfig):
|
|
|
248
279
|
TimeoutError: If the file lock for the target .YAML file cannot be acquired within the timeout period.
|
|
249
280
|
"""
|
|
250
281
|
def stop(self) -> None:
|
|
251
|
-
"""
|
|
282
|
+
"""Configures the tracker file to indicate that the tracked processing runtime has been completed successfully.
|
|
283
|
+
|
|
284
|
+
After this method returns, it is UNSAFE to do any further processing from the process that calls this method.
|
|
285
|
+
Any process that calls the 'start' method of this class is expected to also call this method or 'error' method
|
|
286
|
+
at the end of the runtime.
|
|
252
287
|
|
|
253
288
|
Raises:
|
|
254
289
|
TimeoutError: If the file lock for the target .YAML file cannot be acquired within the timeout period.
|
|
@@ -256,12 +291,12 @@ class ProcessingTracker(YamlConfig):
|
|
|
256
291
|
@property
|
|
257
292
|
def is_complete(self) -> bool:
|
|
258
293
|
"""Returns True if the tracker wrapped by the instance indicates that the processing runtime has been completed
|
|
259
|
-
successfully and
|
|
294
|
+
successfully at least once and that there is no ongoing processing that uses the target session."""
|
|
260
295
|
@property
|
|
261
296
|
def encountered_error(self) -> bool:
|
|
262
|
-
"""Returns True if the tracker wrapped by the instance indicates that the processing runtime
|
|
263
|
-
encountering an error
|
|
297
|
+
"""Returns True if the tracker wrapped by the instance indicates that the processing runtime for the target
|
|
298
|
+
session has aborted due to encountering an error."""
|
|
264
299
|
@property
|
|
265
300
|
def is_running(self) -> bool:
|
|
266
301
|
"""Returns True if the tracker wrapped by the instance indicates that the processing runtime is currently
|
|
267
|
-
running
|
|
302
|
+
running for the target session."""
|
|
@@ -51,7 +51,7 @@ class ProcedureData:
|
|
|
51
51
|
surgery_quality: int = 0
|
|
52
52
|
"""Stores the quality of the surgical intervention as a numeric level. 0 indicates unusable (bad) result, 1
|
|
53
53
|
indicates usable result that is not good enough to be included in a publication, 2 indicates publication-grade
|
|
54
|
-
result."""
|
|
54
|
+
result, 3 indicates high-tier publication grade result."""
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
@dataclass
|
|
@@ -10,7 +10,7 @@ import numpy as np
|
|
|
10
10
|
from ataraxis_base_utilities import LogLevel, console
|
|
11
11
|
from ataraxis_time.time_helpers import extract_timestamp_from_bytes
|
|
12
12
|
|
|
13
|
-
from ..data_classes import SessionData, get_system_configuration_data
|
|
13
|
+
from ..data_classes import SessionData, SessionTypes, get_system_configuration_data
|
|
14
14
|
from .transfer_tools import transfer_directory
|
|
15
15
|
from .packaging_tools import calculate_directory_checksum
|
|
16
16
|
|
|
@@ -222,7 +222,7 @@ def ascend_tyche_data(root_directory: Path) -> None:
|
|
|
222
222
|
project_name=project_name,
|
|
223
223
|
session_name=session_name,
|
|
224
224
|
animal_id=animal_name,
|
|
225
|
-
session_type=
|
|
225
|
+
session_type=SessionTypes.MESOSCOPE_EXPERIMENT,
|
|
226
226
|
experiment_name=None,
|
|
227
227
|
)
|
|
228
228
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sl-shared-assets
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0rc12
|
|
4
4
|
Summary: Provides data acquisition and processing assets shared between Sun (NeuroAI) lab libraries.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Sun-Lab-NBB/sl-shared-assets
|
|
6
6
|
Project-URL: Documentation, https://sl-shared-assets-api-docs.netlify.app/
|
|
@@ -691,7 +691,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
691
691
|
Classifier: Programming Language :: Python :: 3.13
|
|
692
692
|
Requires-Python: >=3.11
|
|
693
693
|
Requires-Dist: appdirs==1.4.4
|
|
694
|
-
Requires-Dist: ataraxis-base-utilities==3.0
|
|
694
|
+
Requires-Dist: ataraxis-base-utilities==3.1.0
|
|
695
695
|
Requires-Dist: ataraxis-data-structures==3.1.1
|
|
696
696
|
Requires-Dist: ataraxis-time==3.0.0
|
|
697
697
|
Requires-Dist: click==8.2.1
|
|
@@ -706,7 +706,6 @@ Requires-Dist: simple-slurm==0.3.6
|
|
|
706
706
|
Requires-Dist: tqdm==4.67.1
|
|
707
707
|
Requires-Dist: xxhash==3.5.0
|
|
708
708
|
Provides-Extra: conda
|
|
709
|
-
Requires-Dist: grayskull<3,>=2; extra == 'conda'
|
|
710
709
|
Requires-Dist: hatchling<2,>=1; extra == 'conda'
|
|
711
710
|
Requires-Dist: importlib-metadata<9,>=8; extra == 'conda'
|
|
712
711
|
Requires-Dist: mypy<2,>=1; extra == 'conda'
|
|
@@ -734,7 +733,6 @@ Requires-Dist: tqdm==4.67.1; extra == 'condarun'
|
|
|
734
733
|
Provides-Extra: dev
|
|
735
734
|
Requires-Dist: ataraxis-automation<6,>=5; extra == 'dev'
|
|
736
735
|
Requires-Dist: build<2,>=1; extra == 'dev'
|
|
737
|
-
Requires-Dist: grayskull<3,>=2; extra == 'dev'
|
|
738
736
|
Requires-Dist: hatchling<2,>=1; extra == 'dev'
|
|
739
737
|
Requires-Dist: importlib-metadata<9,>=8; extra == 'dev'
|
|
740
738
|
Requires-Dist: mypy<2,>=1; extra == 'dev'
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
sl_shared_assets/__init__.py,sha256=
|
|
2
|
-
sl_shared_assets/__init__.pyi,sha256=
|
|
1
|
+
sl_shared_assets/__init__.py,sha256=rCu1VYs2Lc1l0jqHO3UtfuymU0uY2ccxEn4UyscIut8,2347
|
|
2
|
+
sl_shared_assets/__init__.pyi,sha256=WCWIS-I3ToP4XybNZAi3fA7j2CZ48dl9D-fmd7oZKCo,2615
|
|
3
3
|
sl_shared_assets/cli.py,sha256=R_h_Dlla48mG1LpFDDE9flZ_NyDC9UguRUAYZL6gA9s,18383
|
|
4
4
|
sl_shared_assets/cli.pyi,sha256=8ZJK56_jh2QlF3XCN6c7fI6Z022XtehB0eCrQDJbAsU,5515
|
|
5
5
|
sl_shared_assets/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
sl_shared_assets/data_classes/__init__.py,sha256=
|
|
7
|
-
sl_shared_assets/data_classes/__init__.pyi,sha256=
|
|
8
|
-
sl_shared_assets/data_classes/configuration_data.py,sha256=
|
|
9
|
-
sl_shared_assets/data_classes/configuration_data.pyi,sha256=
|
|
10
|
-
sl_shared_assets/data_classes/runtime_data.py,sha256=
|
|
11
|
-
sl_shared_assets/data_classes/runtime_data.pyi,sha256=
|
|
12
|
-
sl_shared_assets/data_classes/session_data.py,sha256=
|
|
13
|
-
sl_shared_assets/data_classes/session_data.pyi,sha256=
|
|
14
|
-
sl_shared_assets/data_classes/surgery_data.py,sha256=
|
|
6
|
+
sl_shared_assets/data_classes/__init__.py,sha256=bdm0hyQpNF0RL2SPhUgaOz33FsRzpM2L_z5-91HyZBE,1998
|
|
7
|
+
sl_shared_assets/data_classes/__init__.pyi,sha256=J7ZCH9qQ4qz-3Wq9ILdihlmK9zFR3iU1cpLcSaN45Y8,2238
|
|
8
|
+
sl_shared_assets/data_classes/configuration_data.py,sha256=HAdYUVy_8gg_ECN56RAEih9UB7DoZ4J3S5a8ky8o4dQ,36076
|
|
9
|
+
sl_shared_assets/data_classes/configuration_data.pyi,sha256=11Q6OJjN6PdrlZwVPYCL4TEGxkbKL7mGb2S1sSMKsqs,11027
|
|
10
|
+
sl_shared_assets/data_classes/runtime_data.py,sha256=TNX3z9udP6Kfqye1ut4TRxeyI2sKzTe_vFBs9bMs8tg,16580
|
|
11
|
+
sl_shared_assets/data_classes/runtime_data.pyi,sha256=gOpQvA7ng586jdiEd7dJXyzx76_9MvKflAWaIsL3Tf8,6731
|
|
12
|
+
sl_shared_assets/data_classes/session_data.py,sha256=2xW52fo7yiTswmt65qf6SdOmE-uP-SWqtXkgwZNdT4U,48063
|
|
13
|
+
sl_shared_assets/data_classes/session_data.pyi,sha256=g53jIe-v8VkQJHc7ITS0KBGRhzn6LOIb6f96SEbEGig,15898
|
|
14
|
+
sl_shared_assets/data_classes/surgery_data.py,sha256=5B1OPKFq4bnzbAoe-_c5dFV3kbSD5YFzXbX2zXmfGs8,7485
|
|
15
15
|
sl_shared_assets/data_classes/surgery_data.pyi,sha256=rf59lJ3tGSYKHQlEGXg75MnjajBwl0DYhL4TClAO4SM,2605
|
|
16
16
|
sl_shared_assets/server/__init__.py,sha256=w7y73RXXjBrWQsjU5g1QNCv_gsXDYnHos3NpOoR2AHA,452
|
|
17
17
|
sl_shared_assets/server/__init__.pyi,sha256=Zc12G90fZdgEMwaVZbFzrRVV1wH_LEj3sxaV3lhk1Cw,316
|
|
@@ -21,16 +21,16 @@ sl_shared_assets/server/server.py,sha256=MGk1v49aEFeIChMDsiR7CXjVkWwDpD9kA1TK0fw
|
|
|
21
21
|
sl_shared_assets/server/server.pyi,sha256=5Yxq4txhjtd9w-6U9fPehzMeIZL5GcprVCHd9mPP6FI,15113
|
|
22
22
|
sl_shared_assets/tools/__init__.py,sha256=NktXk62E_HHOrO_93z_MVmSd6-Oir3mE4xE9Yr8Qa7U,682
|
|
23
23
|
sl_shared_assets/tools/__init__.pyi,sha256=0UXorfCXXmHQOP5z7hODpsqEX0DAkOta5VZqN6FSS-w,623
|
|
24
|
-
sl_shared_assets/tools/ascension_tools.py,sha256=
|
|
25
|
-
sl_shared_assets/tools/ascension_tools.pyi,sha256=
|
|
24
|
+
sl_shared_assets/tools/ascension_tools.py,sha256=tRV_tpoQURDD03slrRdh12Qbf9_ZQo4RU0PgYbUWOc0,14620
|
|
25
|
+
sl_shared_assets/tools/ascension_tools.pyi,sha256=fs5j7nbnZ4WpgK8D75A7WJcvFMwK_MUO9ULIYo1YkGo,3739
|
|
26
26
|
sl_shared_assets/tools/packaging_tools.py,sha256=QikjeaE_A8FyVJi3cnWLeW-hUXy1-FF1N23muA5VfT4,7526
|
|
27
27
|
sl_shared_assets/tools/packaging_tools.pyi,sha256=vgGbAQCExwg-0A5F72MzEhzHxu97Nqg1yuz-5P89ycU,3118
|
|
28
28
|
sl_shared_assets/tools/project_management_tools.py,sha256=Z_U0R26w9Le1O-u66gyF5CG8M_YaLFNpH9diQeH1AZQ,29381
|
|
29
29
|
sl_shared_assets/tools/project_management_tools.pyi,sha256=4kok98nOZ4KnT-Sg-ZCZYg-WIM5qZqiyK8g1XiiDjHM,10375
|
|
30
30
|
sl_shared_assets/tools/transfer_tools.py,sha256=J26kwOp_NpPSY0-xu5FTw9udte-rm_mW1FJyaTNoqQI,6606
|
|
31
31
|
sl_shared_assets/tools/transfer_tools.pyi,sha256=FoH7eYZe7guGHfPr0MK5ggO62uXKwD2aJ7h1Bu7PaEE,3294
|
|
32
|
-
sl_shared_assets-3.0.
|
|
33
|
-
sl_shared_assets-3.0.
|
|
34
|
-
sl_shared_assets-3.0.
|
|
35
|
-
sl_shared_assets-3.0.
|
|
36
|
-
sl_shared_assets-3.0.
|
|
32
|
+
sl_shared_assets-3.0.0rc12.dist-info/METADATA,sha256=Q2Y5zsISykmhRtO_BmM51IRY_VwPVEm3NTAuBdreS5M,49214
|
|
33
|
+
sl_shared_assets-3.0.0rc12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
34
|
+
sl_shared_assets-3.0.0rc12.dist-info/entry_points.txt,sha256=UmO1rl7ly9N7HWPwWyP9E0b5KBUStpBo4TRoqNtizDY,430
|
|
35
|
+
sl_shared_assets-3.0.0rc12.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
36
|
+
sl_shared_assets-3.0.0rc12.dist-info/RECORD,,
|
|
File without changes
|
{sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{sl_shared_assets-3.0.0rc10.dist-info → sl_shared_assets-3.0.0rc12.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|