sl-shared-assets 5.1.2__py3-none-any.whl → 6.0.0rc1__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.

@@ -15,7 +15,7 @@ from ..data_classes import (
15
15
  )
16
16
 
17
17
  # Ensures that displayed CLICK help messages are formatted according to the lab standard.
18
- CONTEXT_SETTINGS = dict(max_content_width=120) # or any width you want
18
+ CONTEXT_SETTINGS = dict(max_content_width=120)
19
19
 
20
20
 
21
21
  @click.group("manage", context_settings=CONTEXT_SETTINGS)
@@ -342,6 +342,9 @@ class ProcessingTracker(YamlConfig):
342
342
  self._complete = True
343
343
  self._encountered_error = False
344
344
  self._save_state()
345
+ else:
346
+ # Otherwise, updates the completed job counter, but does not change any other state variables.
347
+ self._save_state()
345
348
 
346
349
  def abort(self) -> None:
347
350
  """Resets the pipeline tracker file to the default state.
@@ -524,11 +527,22 @@ class ProcessingPipeline:
524
527
  # to the server.
525
528
  elif tracker.is_running:
526
529
  self._pipeline_stage += 1
527
- self._submit_jobs()
530
+
531
+ # If the incremented stage is not a valid stage, the pipeline has actually been aborted and the tracker file
532
+ # does not properly reflect this state. Sets the internal state tracker appropriately and resets (removes)
533
+ # the tracker file from the server to prevent deadlocking further runtimes
534
+ if self._pipeline_stage not in self.jobs.keys():
535
+ sh.rmtree(self.local_tracker_path.parent) # Removes local temporary data
536
+ self.pipeline_status = ProcessingStatus.ABORTED
537
+ self.server.remove(remote_path=self.remote_tracker_path, is_dir=False)
538
+ else:
539
+ # Otherwise, submits the next batch of jobs to the server.
540
+ self._submit_jobs()
528
541
 
529
542
  # The final and the rarest state: the pipeline was aborted before it finished the runtime. Generally, this state
530
543
  # should not be encountered during most runtimes.
531
544
  else:
545
+ sh.rmtree(self.local_tracker_path.parent) # Removes local temporary data
532
546
  self.pipeline_status = ProcessingStatus.ABORTED
533
547
 
534
548
  def _submit_jobs(self) -> None:
@@ -115,7 +115,7 @@ def calculate_directory_checksum(
115
115
  results = []
116
116
  if not batch:
117
117
  with tqdm(
118
- total=len(files), desc=f"Calculating checksum for {Path(*directory.parts[-6:])}", unit="files"
118
+ total=len(files), desc=f"Calculating checksum for {Path(*directory.parts[-6:])}", unit="file"
119
119
  ) as pbar:
120
120
  for future in as_completed(future_to_path):
121
121
  results.append(future.result())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sl-shared-assets
3
- Version: 5.1.2
3
+ Version: 6.0.0rc1
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/
@@ -686,12 +686,10 @@ Classifier: Development Status :: 5 - Production/Stable
686
686
  Classifier: Intended Audience :: Developers
687
687
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
688
688
  Classifier: Operating System :: OS Independent
689
- Classifier: Programming Language :: Python :: 3.11
690
- Classifier: Programming Language :: Python :: 3.12
691
689
  Classifier: Programming Language :: Python :: 3.13
692
690
  Classifier: Topic :: Scientific/Engineering
693
691
  Classifier: Typing :: Typed
694
- Requires-Python: >=3.11
692
+ Requires-Python: <3.14,>=3.13
695
693
  Requires-Dist: appdirs<2,>=1
696
694
  Requires-Dist: ataraxis-base-utilities<4,>=3
697
695
  Requires-Dist: ataraxis-data-structures<4,>=3
@@ -1,7 +1,7 @@
1
1
  sl_shared_assets/__init__.py,sha256=rFNpMl0SFSQhBnCnmEYWsqf_4v0zmwt1xvSFFblUic0,2786
2
2
  sl_shared_assets/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  sl_shared_assets/command_line_interfaces/__init__.py,sha256=dbcCiuBCe1uqz6d1D-dFpSkRwYP603tEGkc1RbZcI6w,126
4
- sl_shared_assets/command_line_interfaces/configure.py,sha256=lAWhLzJ7UmdvUZlges9Hg5pnblQuXSDlgzr12y41108,6140
4
+ sl_shared_assets/command_line_interfaces/configure.py,sha256=ebzej7m2gZtJW_lH6m7ERIv1BcvYfqXNBxlUf0vXFq4,6115
5
5
  sl_shared_assets/command_line_interfaces/manage.py,sha256=-Ac5AufjiIpIYs2SSSstIAEHryZWsDHPt_cgWrNp8O4,10786
6
6
  sl_shared_assets/data_classes/__init__.py,sha256=7Cslz_z0K2VmgXjOR1u-NBySoWYfUNawBHh_1xLiFZ0,2092
7
7
  sl_shared_assets/data_classes/configuration_data.py,sha256=9gVo7bQShCMqAuau8d9BML6RrQyA4wg8ZFol1RJfJ7g,41334
@@ -10,14 +10,14 @@ sl_shared_assets/data_classes/session_data.py,sha256=gfzdFnBXwawWXQWiwZ3UXQeYaja
10
10
  sl_shared_assets/data_classes/surgery_data.py,sha256=-rENeSjAPmoIc-fp_skI4-EW_uxbK0Ps9aTLPWLkTSQ,7624
11
11
  sl_shared_assets/server/__init__.py,sha256=cIZFNE8pPPujp_FxIt6yT22L-4V4XBb1e_x4cnTrtSI,685
12
12
  sl_shared_assets/server/job.py,sha256=_u27gXwSfg3ztCemAtiskC9KnDfqF-RvWlTYYk0wHvQ,18704
13
- sl_shared_assets/server/pipeline.py,sha256=Uqg210L6N71OHTy4--8iocRz_bV5cBSUOVZnOk_u1zg,32157
13
+ sl_shared_assets/server/pipeline.py,sha256=OtpF28Nd8590RoKkyGUBwLdOxVD692cLMX6mM-Rhicw,33134
14
14
  sl_shared_assets/server/server.py,sha256=FEBx9isTswndAKFaZ6MM4qyFp75FcE2ZWUiwc_uycMI,32825
15
15
  sl_shared_assets/tools/__init__.py,sha256=mz0YCAKm4UMYtLErBLXIRJ-QxkHV9S9j5BHrDZMqVWg,769
16
- sl_shared_assets/tools/packaging_tools.py,sha256=9kwUSQQRCOycpNA7ovthCTXYX1HCC7p1iDnCYz2K2B8,6978
16
+ sl_shared_assets/tools/packaging_tools.py,sha256=4MRYvXQ6PfW1bB_uB5ngDHR0NbgJQW2kCwZw_7U-224,6977
17
17
  sl_shared_assets/tools/project_management_tools.py,sha256=7oqR5NSA0pLHZyS-gKIJwajfGkdz1ENgJpuKyxBdN_8,33836
18
18
  sl_shared_assets/tools/transfer_tools.py,sha256=6lwk4zyHWWB0QeWQageiQ1pPIGUV0IhBNNzsbgQ_qH4,9026
19
- sl_shared_assets-5.1.2.dist-info/METADATA,sha256=xz8Li4rS3TB7WEY3iPD-Rytf65H0BLw1e_ea7A97_bY,46884
20
- sl_shared_assets-5.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
21
- sl_shared_assets-5.1.2.dist-info/entry_points.txt,sha256=19NzFPG5CcW-4RhEacTcX3J2TbrvmjOE4tlLCH2O5wI,161
22
- sl_shared_assets-5.1.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
23
- sl_shared_assets-5.1.2.dist-info/RECORD,,
19
+ sl_shared_assets-6.0.0rc1.dist-info/METADATA,sha256=BamAQ6Sw_QjeI3TyeBTxOC_8tSDMHF42EjZlKR339NI,46791
20
+ sl_shared_assets-6.0.0rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
21
+ sl_shared_assets-6.0.0rc1.dist-info/entry_points.txt,sha256=19NzFPG5CcW-4RhEacTcX3J2TbrvmjOE4tlLCH2O5wI,161
22
+ sl_shared_assets-6.0.0rc1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
23
+ sl_shared_assets-6.0.0rc1.dist-info/RECORD,,