sl-shared-assets 1.0.0rc3__tar.gz → 1.0.0rc5__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 (29) hide show
  1. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/PKG-INFO +3 -2
  2. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/README.md +2 -1
  3. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/pyproject.toml +1 -1
  4. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/data_classes.py +16 -20
  5. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/data_classes.pyi +7 -5
  6. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/.gitignore +0 -0
  7. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/LICENSE +0 -0
  8. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/Makefile +0 -0
  9. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/make.bat +0 -0
  10. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/source/api.rst +0 -0
  11. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/source/conf.py +0 -0
  12. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/source/index.rst +0 -0
  13. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/docs/source/welcome.rst +0 -0
  14. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/envs/slsa_dev_lin.yml +0 -0
  15. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/envs/slsa_dev_lin_spec.txt +0 -0
  16. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/__init__.py +0 -0
  17. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/__init__.pyi +0 -0
  18. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/cli.py +0 -0
  19. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/cli.pyi +0 -0
  20. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/packaging_tools.py +0 -0
  21. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/packaging_tools.pyi +0 -0
  22. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/py.typed +0 -0
  23. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/server.py +0 -0
  24. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/server.pyi +0 -0
  25. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/suite2p.py +0 -0
  26. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/suite2p.pyi +0 -0
  27. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/transfer_tools.py +0 -0
  28. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/src/sl_shared_assets/transfer_tools.pyi +0 -0
  29. {sl_shared_assets-1.0.0rc3 → sl_shared_assets-1.0.0rc5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sl-shared-assets
3
- Version: 1.0.0rc3
3
+ Version: 1.0.0rc5
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/
@@ -805,7 +805,7 @@ Note, installation from source is ***highly discouraged*** for everyone who is n
805
805
  wheel into the active python environment.
806
806
 
807
807
  ### pip
808
- Use the following command to install the library using pip: ```pip install sl-experiment```.
808
+ Use the following command to install the library using pip: ```pip install sl-shared-assets```.
809
809
 
810
810
  ---
811
811
 
@@ -834,6 +834,7 @@ ___
834
834
  ## License
835
835
 
836
836
  This project is licensed under the GPL3 License: see the [LICENSE](LICENSE) file for details.
837
+
837
838
  ___
838
839
 
839
840
  ## Acknowledgments
@@ -56,7 +56,7 @@ Note, installation from source is ***highly discouraged*** for everyone who is n
56
56
  wheel into the active python environment.
57
57
 
58
58
  ### pip
59
- Use the following command to install the library using pip: ```pip install sl-experiment```.
59
+ Use the following command to install the library using pip: ```pip install sl-shared-assets```.
60
60
 
61
61
  ---
62
62
 
@@ -85,6 +85,7 @@ ___
85
85
  ## License
86
86
 
87
87
  This project is licensed under the GPL3 License: see the [LICENSE](LICENSE) file for details.
88
+
88
89
  ___
89
90
 
90
91
  ## Acknowledgments
@@ -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.0rc3"
11
+ version = "1.0.0rc5"
12
12
  description = "Stores assets shared between multiple Sun (NeuroAI) lab data pipelines."
13
13
  readme = "README.md"
14
14
  license = { file = "LICENSE" }
@@ -727,31 +727,35 @@ class SessionData(YamlConfig):
727
727
  data through acquisition, preprocessing and processing stages of the Sun lab data workflow.
728
728
  """
729
729
 
730
+ project_name: str
731
+ """Stores the name of the managed session's project."""
730
732
  animal_id: str
731
733
  """Stores the unique identifier of the animal that participates in the managed session."""
734
+ session_name: str
735
+ """Stores the name (timestamp-based ID) of the managed session."""
732
736
  session_type: str
733
737
  """Stores the type of the session. Primarily, this determines how to read the session_descriptor.yaml file. Has
734
738
  to be set to one of the three supported types: 'Lick training', 'Run training' or 'Experiment'.
735
739
  """
736
740
  experiment_name: str | None
737
- """Stores the name of the experiment configuration file. If the session_name field is set to 'Experiment', this
741
+ """Stores the name of the experiment configuration file. If the session_type field is set to 'Experiment', this
738
742
  field is used to communicate the specific experiment configuration used by the session. During runtime, this is
739
743
  used to load the experiment configuration (to run the experiment) and to save the experiment configuration to the
740
744
  session raw_data folder. If the session is not an experiment session, this is statically set to None."""
741
- raw_data: RawData | None
745
+ raw_data: RawData
742
746
  """Stores the paths to various directories and files used to store raw and preprocessed session data. Depending on
743
747
  class initialization location (VRPC or BioHPC server), the class automatically resolves the root directory path to
744
748
  either the VRPC project directory or the BioHPC cluster storage volume."""
745
- processed_data: ProcessedData | None
749
+ processed_data: ProcessedData
746
750
  """Stores the paths to various directories used to store processed session data. This is automatically
747
751
  resolved to the fast BioHPC volume (workdir) in all cases, as processed data should only exist on the server."""
748
- persistent_data: PersistentData | None
752
+ persistent_data: PersistentData
749
753
  """Stores the paths to various files and directories kept on VRPC and ScanImagePC after the session data is
750
754
  transferred to long-term storage destinations."""
751
- mesoscope_data: MesoscopeData | None
755
+ mesoscope_data: MesoscopeData
752
756
  """Stores the paths to various directories used by the ScanImagePC to store mesoscope-acquired session data,
753
757
  before it is moved to the VRPC during preprocessing."""
754
- destinations: Destinations | None
758
+ destinations: Destinations
755
759
  """Stores the paths to the destination directories on the BioHPC server and Synology NAS, to which the data is
756
760
  copied as part of preprocessing. Both of these directories should be accessible for the VRPC's filesystem via an
757
761
  SMB or equivalent protocol."""
@@ -884,7 +888,9 @@ class SessionData(YamlConfig):
884
888
 
885
889
  # Packages the sections generated above into a SessionData instance
886
890
  instance = SessionData(
891
+ project_name=project_configuration.project_name,
887
892
  animal_id=animal_id,
893
+ session_name=session_name,
888
894
  session_type=session_type,
889
895
  raw_data=raw_data,
890
896
  processed_data=processed_data,
@@ -898,10 +904,6 @@ class SessionData(YamlConfig):
898
904
  # preprocessing
899
905
  instance._to_path()
900
906
 
901
- # Removes the processed_data section, as it is not used on the VRPC. This makes it impossible to accidentally
902
- # interact with this section without errors.
903
- instance.processed_data = None
904
-
905
907
  # Extracts and saves the necessary configuration classes to the session raw_data folder. Note, this list of
906
908
  # classes is not exhaustive. More classes are saved as part of the session runtime management class start() and
907
909
  # __init__() method runtimes:
@@ -913,13 +915,13 @@ class SessionData(YamlConfig):
913
915
  # Project Configuration
914
916
  sh.copy2(
915
917
  src=vrpc_configuration_path.joinpath("project_configuration.yaml"),
916
- dst=instance.raw_data.project_configuration_path, # type: ignore
918
+ dst=instance.raw_data.project_configuration_path,
917
919
  )
918
920
  # Experiment Configuration, if the session type is Experiment.
919
921
  if experiment_name is not None:
920
922
  sh.copy2(
921
923
  src=vrpc_configuration_path.joinpath(f"{experiment_name}.yaml"),
922
- dst=instance.raw_data.experiment_configuration_path, # type: ignore
924
+ dst=instance.raw_data.experiment_configuration_path,
923
925
  )
924
926
 
925
927
  # Returns the initialized SessionData instance to caller
@@ -971,18 +973,12 @@ class SessionData(YamlConfig):
971
973
  # well-configured. This is because the class is always created on the VRPC and, when it leaves VRPC, it is
972
974
  # never used on VRPC again. Therefore, additional processing is ONLY done when on_server is True.
973
975
  if on_server:
974
- # Disables VRPC-only sections. This makes it impossible to call these sections on BioHPC server without
975
- # runtime interruption.
976
- instance.mesoscope_data = None
977
- instance.persistent_data = None
978
- instance.destinations = None
979
-
980
976
  # Reconfigures the raw_data section to use the root provided as part of the session_path.
981
- instance.raw_data.switch_root(new_root=session_path) # type: ignore
977
+ instance.raw_data.switch_root(new_root=session_path)
982
978
 
983
979
  # Processed Data section is always configured to use the BioHPC server root. Calls its' make_dirs() method
984
980
  # to setup directories
985
- instance.processed_data.make_dirs() # type: ignore
981
+ instance.processed_data.make_dirs()
986
982
 
987
983
  # Returns the initialized SessionData instance to caller
988
984
  return instance
@@ -313,14 +313,16 @@ class SessionData(YamlConfig):
313
313
  data through acquisition, preprocessing and processing stages of the Sun lab data workflow.
314
314
  """
315
315
 
316
+ project_name: str
316
317
  animal_id: str
318
+ session_name: str
317
319
  session_type: str
318
320
  experiment_name: str | None
319
- raw_data: RawData | None
320
- processed_data: ProcessedData | None
321
- persistent_data: PersistentData | None
322
- mesoscope_data: MesoscopeData | None
323
- destinations: Destinations | None
321
+ raw_data: RawData
322
+ processed_data: ProcessedData
323
+ persistent_data: PersistentData
324
+ mesoscope_data: MesoscopeData
325
+ destinations: Destinations
324
326
  @classmethod
325
327
  def create_session(
326
328
  cls,