sl-shared-assets 1.0.0rc23__tar.gz → 1.0.0rc25__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.0.0rc23 → sl_shared_assets-1.0.0rc25}/PKG-INFO +1 -1
  2. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/pyproject.toml +1 -1
  3. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/configuration_data.py +5 -0
  4. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/configuration_data.pyi +1 -0
  5. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/session_data.py +8 -0
  6. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/session_data.pyi +4 -0
  7. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/server.py +1 -1
  8. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/.gitignore +0 -0
  9. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/LICENSE +0 -0
  10. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/README.md +0 -0
  11. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/Makefile +0 -0
  12. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/make.bat +0 -0
  13. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/source/api.rst +0 -0
  14. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/source/conf.py +0 -0
  15. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/source/index.rst +0 -0
  16. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/docs/source/welcome.rst +0 -0
  17. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/envs/slsa_dev_lin.yml +0 -0
  18. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/envs/slsa_dev_lin_spec.txt +0 -0
  19. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/__init__.py +0 -0
  20. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/__init__.pyi +0 -0
  21. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/cli.py +0 -0
  22. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/cli.pyi +0 -0
  23. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/__init__.py +0 -0
  24. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/__init__.pyi +0 -0
  25. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/runtime_data.py +0 -0
  26. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/runtime_data.pyi +0 -0
  27. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/surgery_data.py +0 -0
  28. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/data_classes/surgery_data.pyi +0 -0
  29. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/py.typed +0 -0
  30. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/__init__.py +0 -0
  31. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/__init__.pyi +0 -0
  32. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/job.py +0 -0
  33. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/job.pyi +0 -0
  34. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/server/server.pyi +0 -0
  35. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/__init__.py +0 -0
  36. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/__init__.pyi +0 -0
  37. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/ascension_tools.py +0 -0
  38. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/ascension_tools.pyi +0 -0
  39. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/packaging_tools.py +0 -0
  40. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/packaging_tools.pyi +0 -0
  41. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/project_management_tools.py +0 -0
  42. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/project_management_tools.pyi +0 -0
  43. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/transfer_tools.py +0 -0
  44. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/src/sl_shared_assets/tools/transfer_tools.pyi +0 -0
  45. {sl_shared_assets-1.0.0rc23 → sl_shared_assets-1.0.0rc25}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sl-shared-assets
3
- Version: 1.0.0rc23
3
+ Version: 1.0.0rc25
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.0.0rc23"
11
+ version = "1.0.0rc25"
12
12
  description = "Stores assets shared between multiple Sun (NeuroAI) lab data pipelines."
13
13
  readme = "README.md"
14
14
  license = { file = "LICENSE" }
@@ -114,6 +114,9 @@ class MesoscopePaths:
114
114
  server_processed_data_root: Path = Path("/workdir/sun_data")
115
115
  """The absolute path to the BioHPC server directory used to store the processed data from all Sun lab projects.
116
116
  This path is relative to the server root and is only used when submitting remote jobs to the server."""
117
+ server_raw_data_root: Path = Path("/storage/sun_data")
118
+ """The absolute path to the BioHPC server directory used to store the raw data from all Sun lab projects.
119
+ This path is relative to the server root and is only used when submitting remote jobs to the server."""
117
120
 
118
121
 
119
122
  @dataclass()
@@ -302,6 +305,7 @@ class MesoscopeSystemConfiguration(YamlConfig):
302
305
  self.paths.mesoscope_directory = Path(self.paths.mesoscope_directory)
303
306
  self.paths.harvesters_cti_path = Path(self.paths.harvesters_cti_path)
304
307
  self.paths.server_processed_data_root = Path(self.paths.server_processed_data_root)
308
+ self.paths.server_raw_data_root = Path(self.paths.server_raw_data_root)
305
309
 
306
310
  # Converts valve_calibration data from dictionary to a tuple of tuples format
307
311
  if not isinstance(self.microcontrollers.valve_calibration_data, tuple):
@@ -351,6 +355,7 @@ class MesoscopeSystemConfiguration(YamlConfig):
351
355
  original.paths.mesoscope_directory = str(original.paths.mesoscope_directory) # type: ignore
352
356
  original.paths.harvesters_cti_path = str(original.paths.harvesters_cti_path) # type: ignore
353
357
  original.paths.server_processed_data_root = str(original.paths.server_processed_data_root) # type: ignore
358
+ original.paths.server_raw_data_root = str(original.paths.server_raw_data_root) # type: ignore
354
359
 
355
360
  # Converts valve calibration data into dictionary format
356
361
  if isinstance(original.microcontrollers.valve_calibration_data, tuple):
@@ -59,6 +59,7 @@ class MesoscopePaths:
59
59
  mesoscope_directory: Path = ...
60
60
  harvesters_cti_path: Path = ...
61
61
  server_processed_data_root: Path = ...
62
+ server_raw_data_root: Path = ...
62
63
 
63
64
  @dataclass()
64
65
  class MesoscopeCameras:
@@ -381,6 +381,14 @@ class SessionData(YamlConfig):
381
381
  """Stores the paths to all subfolders and files found under the /project/animal/session/processed_data directory of
382
382
  any PC used to work with Sun lab data."""
383
383
 
384
+ def __post_init__(self) -> None:
385
+ """Ensures raw_data and processed_data are always instances of RawData and ProcessedData."""
386
+ if not isinstance(self.raw_data, RawData):
387
+ self._raw_data = RawData()
388
+
389
+ if not isinstance(self.processed_data, ProcessedData):
390
+ self._processed_data = ProcessedData()
391
+
384
392
  @classmethod
385
393
  def create(
386
394
  cls,
@@ -172,6 +172,10 @@ class SessionData(YamlConfig):
172
172
  experiment_name: str | None
173
173
  raw_data: RawData = field(default_factory=Incomplete)
174
174
  processed_data: ProcessedData = field(default_factory=Incomplete)
175
+ _raw_data = ...
176
+ _processed_data = ...
177
+ def __post_init__(self) -> None:
178
+ """Ensures raw_data and processed_data are always instances of RawData and ProcessedData."""
175
179
  @classmethod
176
180
  def create(
177
181
  cls,
@@ -162,7 +162,7 @@ class Server:
162
162
  # If batch_job is not in the output received from SLURM in response to issuing the submission command, raises an
163
163
  # error.
164
164
  if "Submitted batch job" not in job_output:
165
- message = f"Failed to submit the {job.job_name} job to the BioHPC cluster."
165
+ message = f"Failed to submit the '{job.job_name}' job to the BioHPC cluster."
166
166
  console.error(message, RuntimeError)
167
167
 
168
168
  # Fallback to appease mypy, should not be reachable