sl-shared-assets 1.1.2__tar.gz → 1.2.0rc2__tar.gz

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.

Files changed (45) hide show
  1. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/PKG-INFO +1 -1
  2. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/pyproject.toml +1 -1
  3. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/__init__.py +2 -0
  4. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/__init__.pyi +2 -0
  5. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/__init__.py +2 -7
  6. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/__init__.pyi +2 -0
  7. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/runtime_data.py +3 -0
  8. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/runtime_data.pyi +1 -0
  9. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/session_data.py +14 -1
  10. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/session_data.pyi +8 -0
  11. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/.gitignore +0 -0
  12. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/LICENSE +0 -0
  13. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/README.md +0 -0
  14. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/Makefile +0 -0
  15. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/make.bat +0 -0
  16. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/source/api.rst +0 -0
  17. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/source/conf.py +0 -0
  18. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/source/index.rst +0 -0
  19. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/docs/source/welcome.rst +0 -0
  20. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/envs/slsa_dev_lin.yml +0 -0
  21. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/envs/slsa_dev_lin_spec.txt +0 -0
  22. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/cli.py +0 -0
  23. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/cli.pyi +0 -0
  24. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/configuration_data.py +0 -0
  25. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/configuration_data.pyi +0 -0
  26. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/surgery_data.py +0 -0
  27. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/data_classes/surgery_data.pyi +0 -0
  28. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/py.typed +0 -0
  29. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/__init__.py +0 -0
  30. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/__init__.pyi +0 -0
  31. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/job.py +0 -0
  32. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/job.pyi +0 -0
  33. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/server.py +0 -0
  34. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/server/server.pyi +0 -0
  35. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/__init__.py +0 -0
  36. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/__init__.pyi +0 -0
  37. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/ascension_tools.py +0 -0
  38. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/ascension_tools.pyi +0 -0
  39. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/packaging_tools.py +0 -0
  40. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/packaging_tools.pyi +0 -0
  41. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/project_management_tools.py +0 -0
  42. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/project_management_tools.pyi +0 -0
  43. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/transfer_tools.py +0 -0
  44. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/src/sl_shared_assets/tools/transfer_tools.pyi +0 -0
  45. {sl_shared_assets-1.1.2 → sl_shared_assets-1.2.0rc2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sl-shared-assets
3
- Version: 1.1.2
3
+ Version: 1.2.0rc2
4
4
  Summary: Stores assets shared between multiple Sun (NeuroAI) lab data pipelines.
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/
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
8
  # Project metdata section. Provides the genral ID information about the project.
9
9
  [project]
10
10
  name = "sl-shared-assets"
11
- version = "1.1.2"
11
+ version = "1.2.0rc2"
12
12
  description = "Stores assets shared between multiple Sun (NeuroAI) lab data pipelines."
13
13
  readme = "README.md"
14
14
  license = { file = "LICENSE" }
@@ -16,6 +16,7 @@ from .data_classes import (
16
16
  SessionData,
17
17
  SubjectData,
18
18
  SurgeryData,
19
+ VersionData,
19
20
  InjectionData,
20
21
  ProcedureData,
21
22
  ProcessedData,
@@ -52,6 +53,7 @@ __all__ = [
52
53
  "ImplantData",
53
54
  "SessionData",
54
55
  "RawData",
56
+ "VersionData",
55
57
  "ProcessedData",
56
58
  "SubjectData",
57
59
  "SurgeryData",
@@ -16,6 +16,7 @@ from .data_classes import (
16
16
  SessionData as SessionData,
17
17
  SubjectData as SubjectData,
18
18
  SurgeryData as SurgeryData,
19
+ VersionData as VersionData,
19
20
  InjectionData as InjectionData,
20
21
  ProcedureData as ProcedureData,
21
22
  ProcessedData as ProcessedData,
@@ -46,6 +47,7 @@ __all__ = [
46
47
  "ImplantData",
47
48
  "SessionData",
48
49
  "RawData",
50
+ "VersionData",
49
51
  "ProcessedData",
50
52
  "SubjectData",
51
53
  "SurgeryData",
@@ -11,13 +11,7 @@ from .runtime_data import (
11
11
  MesoscopeHardwareState,
12
12
  MesoscopeExperimentDescriptor,
13
13
  )
14
- from .session_data import (
15
- RawData,
16
- SessionData,
17
- ProcessedData,
18
- ProcessingTracker,
19
- ProjectConfiguration,
20
- )
14
+ from .session_data import RawData, SessionData, VersionData, ProcessedData, ProcessingTracker, ProjectConfiguration
21
15
  from .surgery_data import (
22
16
  DrugData,
23
17
  ImplantData,
@@ -43,6 +37,7 @@ __all__ = [
43
37
  "ImplantData",
44
38
  "SessionData",
45
39
  "RawData",
40
+ "VersionData",
46
41
  "ProcessedData",
47
42
  "SubjectData",
48
43
  "SurgeryData",
@@ -9,6 +9,7 @@ from .runtime_data import (
9
9
  from .session_data import (
10
10
  RawData as RawData,
11
11
  SessionData as SessionData,
12
+ VersionData as VersionData,
12
13
  ProcessedData as ProcessedData,
13
14
  ProcessingTracker as ProcessingTracker,
14
15
  ProjectConfiguration as ProjectConfiguration,
@@ -38,6 +39,7 @@ __all__ = [
38
39
  "ImplantData",
39
40
  "SessionData",
40
41
  "RawData",
42
+ "VersionData",
41
43
  "ProcessedData",
42
44
  "SubjectData",
43
45
  "SurgeryData",
@@ -171,6 +171,9 @@ class MesoscopeExperimentDescriptor(YamlConfig):
171
171
  """The weight of the animal, in grams, at the beginning of the session."""
172
172
  dispensed_water_volume_ml: float
173
173
  """Stores the total water volume, in milliliters, dispensed during runtime."""
174
+ is_guided: bool = False
175
+ """Determines whether the animal has to lick in the reward zone to receive water rewards. If this is set to False,
176
+ the system automatically dispenses water when the animal enters the reward zone."""
174
177
  experimenter_notes: str = "Replace this with your notes."
175
178
  """This field is not set during runtime. It is expected that each experimenter will replace this field with their
176
179
  notes made during runtime."""
@@ -88,6 +88,7 @@ class MesoscopeExperimentDescriptor(YamlConfig):
88
88
  experimenter: str
89
89
  mouse_weight_g: float
90
90
  dispensed_water_volume_ml: float
91
+ is_guided: bool = ...
91
92
  experimenter_notes: str = ...
92
93
  experimenter_given_water_volume_ml: float = ...
93
94
  incomplete: bool = ...
@@ -22,6 +22,16 @@ from .configuration_data import get_system_configuration_data
22
22
  _valid_session_types = {"lick training", "run training", "mesoscope experiment", "window checking"}
23
23
 
24
24
 
25
+ @dataclass()
26
+ class VersionData(YamlConfig):
27
+ """Stores information about the versions of important Sun lab libraries used to acquire the session's data."""
28
+
29
+ python_version: str = ""
30
+ """Stores the Python version used by the environment that acquired the data."""
31
+ sl_experiment_version: str = ""
32
+ """Stores the version of the sl-experiment library that was used to acquire the data."""
33
+
34
+
25
35
  @dataclass()
26
36
  class ProjectConfiguration(YamlConfig):
27
37
  """Stores the project-specific configuration parameters that do not change between different animals and runtime
@@ -223,6 +233,9 @@ class RawData:
223
233
  'verify-session' CLI command to indicate whether the session data inside the folder marked by the file has been
224
234
  verified for integrity. Primarily, this is used when the data is moved to the long-term storage destination (BioHPC
225
235
  server) to ensure it is safe to remove any local copies of the data stored on the acquisition system machine(s)."""
236
+ version_data_path: Path = Path()
237
+ """Stores the path to the version_data.yaml file. This file contains the snapshot of Python and sl-experiment
238
+ library versions that were used when the data was acquired."""
226
239
 
227
240
  def resolve_paths(self, root_directory_path: Path) -> None:
228
241
  """Resolves all paths managed by the class instance based on the input root directory path.
@@ -255,6 +268,7 @@ class RawData:
255
268
  self.telomere_path = self.raw_data_path.joinpath("telomere.bin")
256
269
  self.ubiquitin_path = self.raw_data_path.joinpath("ubiquitin.bin")
257
270
  self.integrity_verification_tracker_path = self.raw_data_path.joinpath("integrity_verification_tracker.yaml")
271
+ self.version_data_path = self.raw_data_path.joinpath("version_data.yaml")
258
272
 
259
273
  def make_directories(self) -> None:
260
274
  """Ensures that all major subdirectories and the root directory exist, creating any missing directories."""
@@ -676,7 +690,6 @@ class ProcessingTracker(YamlConfig):
676
690
  """Saves the current processing state stored inside instance attributes to the specified .YAML file."""
677
691
  # Resets the _lock and file_path to None before dumping the data to .YAML to avoid issues with loading it
678
692
  # back.
679
- console.echo(message=f"{self.file_path}")
680
693
  original = copy.deepcopy(self)
681
694
  original.file_path = None # type: ignore
682
695
  original._lock_path = None # type: ignore
@@ -8,6 +8,13 @@ from .configuration_data import get_system_configuration_data as get_system_conf
8
8
 
9
9
  _valid_session_types: Incomplete
10
10
 
11
+ @dataclass()
12
+ class VersionData(YamlConfig):
13
+ """Stores information about the versions of important Sun lab libraries used to acquire the session's data."""
14
+
15
+ python_version: str = ...
16
+ sl_experiment_version: str = ...
17
+
11
18
  @dataclass()
12
19
  class ProjectConfiguration(YamlConfig):
13
20
  """Stores the project-specific configuration parameters that do not change between different animals and runtime
@@ -97,6 +104,7 @@ class RawData:
97
104
  telomere_path: Path = ...
98
105
  ubiquitin_path: Path = ...
99
106
  integrity_verification_tracker_path: Path = ...
107
+ version_data_path: Path = ...
100
108
  def resolve_paths(self, root_directory_path: Path) -> None:
101
109
  """Resolves all paths managed by the class instance based on the input root directory path.
102
110