diff --git a/_modules/alab_management/alarm.html b/_modules/alab_management/alarm.html index 9f8b0f8d..2d9f7ad9 100644 --- a/_modules/alab_management/alarm.html +++ b/_modules/alab_management/alarm.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/builders/experimentbuilder.html b/_modules/alab_management/builders/experimentbuilder.html index 850d7be1..e2750004 100644 --- a/_modules/alab_management/builders/experimentbuilder.html +++ b/_modules/alab_management/builders/experimentbuilder.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/builders/samplebuilder.html b/_modules/alab_management/builders/samplebuilder.html index 1cb61605..42fe2963 100644 --- a/_modules/alab_management/builders/samplebuilder.html +++ b/_modules/alab_management/builders/samplebuilder.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/config.html b/_modules/alab_management/config.html index 560a4168..9d07b5a2 100644 --- a/_modules/alab_management/config.html +++ b/_modules/alab_management/config.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/device_manager.html b/_modules/alab_management/device_manager.html index 2ab745f9..23921dc9 100644 --- a/_modules/alab_management/device_manager.html +++ b/_modules/alab_management/device_manager.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/device_view/dbattributes.html b/_modules/alab_management/device_view/dbattributes.html index 1c3f8115..c8804f1e 100644 --- a/_modules/alab_management/device_view/dbattributes.html +++ b/_modules/alab_management/device_view/dbattributes.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/device_view/device.html b/_modules/alab_management/device_view/device.html index 4b617717..af95cad0 100644 --- a/_modules/alab_management/device_view/device.html +++ b/_modules/alab_management/device_view/device.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/device_view/device_view.html b/_modules/alab_management/device_view/device_view.html index de4510c8..bbf3ac03 100644 --- a/_modules/alab_management/device_view/device_view.html +++ b/_modules/alab_management/device_view/device_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/experiment_manager.html b/_modules/alab_management/experiment_manager.html index 5eb8951f..c9f05145 100644 --- a/_modules/alab_management/experiment_manager.html +++ b/_modules/alab_management/experiment_manager.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/experiment_view/completed_experiment_view.html b/_modules/alab_management/experiment_view/completed_experiment_view.html index 655f83f7..ca4af296 100644 --- a/_modules/alab_management/experiment_view/completed_experiment_view.html +++ b/_modules/alab_management/experiment_view/completed_experiment_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/experiment_view/experiment.html b/_modules/alab_management/experiment_view/experiment.html index ef98652d..270a0cb2 100644 --- a/_modules/alab_management/experiment_view/experiment.html +++ b/_modules/alab_management/experiment_view/experiment.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/experiment_view/experiment_view.html b/_modules/alab_management/experiment_view/experiment_view.html index 8ae222f8..ec121f52 100644 --- a/_modules/alab_management/experiment_view/experiment_view.html +++ b/_modules/alab_management/experiment_view/experiment_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/lab_view.html b/_modules/alab_management/lab_view.html index 4e9eb65f..566b13ad 100644 --- a/_modules/alab_management/lab_view.html +++ b/_modules/alab_management/lab_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/logger.html b/_modules/alab_management/logger.html index 7011625e..fe9994b8 100644 --- a/_modules/alab_management/logger.html +++ b/_modules/alab_management/logger.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/resource_manager/enums.html b/_modules/alab_management/resource_manager/enums.html index 51b297ce..296fc0ec 100644 --- a/_modules/alab_management/resource_manager/enums.html +++ b/_modules/alab_management/resource_manager/enums.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/resource_manager/resource_manager.html b/_modules/alab_management/resource_manager/resource_manager.html index 739a9504..066f46d5 100644 --- a/_modules/alab_management/resource_manager/resource_manager.html +++ b/_modules/alab_management/resource_manager/resource_manager.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/resource_manager/resource_requester.html b/_modules/alab_management/resource_manager/resource_requester.html index 7f173774..a699caff 100644 --- a/_modules/alab_management/resource_manager/resource_requester.html +++ b/_modules/alab_management/resource_manager/resource_requester.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/sample_view/completed_sample_view.html b/_modules/alab_management/sample_view/completed_sample_view.html index bbfda31f..415496a9 100644 --- a/_modules/alab_management/sample_view/completed_sample_view.html +++ b/_modules/alab_management/sample_view/completed_sample_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/sample_view/sample.html b/_modules/alab_management/sample_view/sample.html index 363379b6..f1513421 100644 --- a/_modules/alab_management/sample_view/sample.html +++ b/_modules/alab_management/sample_view/sample.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/sample_view/sample_view.html b/_modules/alab_management/sample_view/sample_view.html index ecf1c1fb..49cafe5d 100644 --- a/_modules/alab_management/sample_view/sample_view.html +++ b/_modules/alab_management/sample_view/sample_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/task_manager/task_manager.html b/_modules/alab_management/task_manager/task_manager.html index f1782f23..ea808f32 100644 --- a/_modules/alab_management/task_manager/task_manager.html +++ b/_modules/alab_management/task_manager/task_manager.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/task_view/completed_task_view.html b/_modules/alab_management/task_view/completed_task_view.html index c7aca0e0..459571a6 100644 --- a/_modules/alab_management/task_view/completed_task_view.html +++ b/_modules/alab_management/task_view/completed_task_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/task_view/task.html b/_modules/alab_management/task_view/task.html index 3722cd3e..0d840cce 100644 --- a/_modules/alab_management/task_view/task.html +++ b/_modules/alab_management/task_view/task.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/task_view/task_enums.html b/_modules/alab_management/task_view/task_enums.html index babe901b..78b5a572 100644 --- a/_modules/alab_management/task_view/task_enums.html +++ b/_modules/alab_management/task_view/task_enums.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/task_view/task_view.html b/_modules/alab_management/task_view/task_view.html index 71d70af2..c4ec1f48 100644 --- a/_modules/alab_management/task_view/task_view.html +++ b/_modules/alab_management/task_view/task_view.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/alab_management/user_input.html b/_modules/alab_management/user_input.html index 07e07f29..8d18a522 100644 --- a/_modules/alab_management/user_input.html +++ b/_modules/alab_management/user_input.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_modules/index.html b/_modules/index.html index 16171d15..890a06a6 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/_sources/test.md b/_sources/test.md index 6fdfe49d..a98c1352 100644 --- a/_sources/test.md +++ b/_sources/test.md @@ -1,4 +1,4 @@ -# Testing for Alab Definition +# Testing for AlabOS Project To ensure a seamless installation and robust testing of the software system, several key processes have been implemented. diff --git a/advance_topics.html b/advance_topics.html index dd8624c6..3ba7a456 100644 --- a/advance_topics.html +++ b/advance_topics.html @@ -46,7 +46,7 @@ - + @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • @@ -426,7 +426,7 @@

    Advance Topics

    next

    -

    Testing for Alab Definition

    +

    Testing for AlabOS Project

    diff --git a/alab_management.alarm.html b/alab_management.alarm.html index c75516ee..5395ad4d 100644 --- a/alab_management.alarm.html +++ b/alab_management.alarm.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.builders.experimentbuilder.html b/alab_management.builders.experimentbuilder.html index 6e5f0e89..31cfe21d 100644 --- a/alab_management.builders.experimentbuilder.html +++ b/alab_management.builders.experimentbuilder.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.builders.html b/alab_management.builders.html index 4081cff6..62fca005 100644 --- a/alab_management.builders.html +++ b/alab_management.builders.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.builders.samplebuilder.html b/alab_management.builders.samplebuilder.html index 537e2a5b..26033494 100644 --- a/alab_management.builders.samplebuilder.html +++ b/alab_management.builders.samplebuilder.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.config.html b/alab_management.config.html index f1b111f2..41e1c947 100644 --- a/alab_management.config.html +++ b/alab_management.config.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.device_manager.html b/alab_management.device_manager.html index 762c4a40..8b411af2 100644 --- a/alab_management.device_manager.html +++ b/alab_management.device_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.device_view.dbattributes.html b/alab_management.device_view.dbattributes.html index 5233e81e..cd8b3a29 100644 --- a/alab_management.device_view.dbattributes.html +++ b/alab_management.device_view.dbattributes.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.device_view.device.html b/alab_management.device_view.device.html index 20492f5a..d709948e 100644 --- a/alab_management.device_view.device.html +++ b/alab_management.device_view.device.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.device_view.device_view.html b/alab_management.device_view.device_view.html index a76079f5..06573dc5 100644 --- a/alab_management.device_view.device_view.html +++ b/alab_management.device_view.device_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.device_view.html b/alab_management.device_view.html index 02a5d6b1..683507b5 100644 --- a/alab_management.device_view.html +++ b/alab_management.device_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.experiment_manager.html b/alab_management.experiment_manager.html index e95dd7bd..ecd4f90e 100644 --- a/alab_management.experiment_manager.html +++ b/alab_management.experiment_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.experiment_view.completed_experiment_view.html b/alab_management.experiment_view.completed_experiment_view.html index bb331128..c55aff18 100644 --- a/alab_management.experiment_view.completed_experiment_view.html +++ b/alab_management.experiment_view.completed_experiment_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.experiment_view.experiment.html b/alab_management.experiment_view.experiment.html index 6488cf72..3e139b00 100644 --- a/alab_management.experiment_view.experiment.html +++ b/alab_management.experiment_view.experiment.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.experiment_view.experiment_view.html b/alab_management.experiment_view.experiment_view.html index bf0a6447..86c4efaf 100644 --- a/alab_management.experiment_view.experiment_view.html +++ b/alab_management.experiment_view.experiment_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.experiment_view.html b/alab_management.experiment_view.html index fa4e347d..63606db8 100644 --- a/alab_management.experiment_view.html +++ b/alab_management.experiment_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.html b/alab_management.html index 6021cb68..e1de824a 100644 --- a/alab_management.html +++ b/alab_management.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.lab_view.html b/alab_management.lab_view.html index 99b4e20e..97ab2a42 100644 --- a/alab_management.lab_view.html +++ b/alab_management.lab_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.logger.html b/alab_management.logger.html index fe3c92c6..f183468f 100644 --- a/alab_management.logger.html +++ b/alab_management.logger.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.resource_manager.enums.html b/alab_management.resource_manager.enums.html index 6bff99bc..a2aa8572 100644 --- a/alab_management.resource_manager.enums.html +++ b/alab_management.resource_manager.enums.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.resource_manager.html b/alab_management.resource_manager.html index 7cbcbd23..7ed38214 100644 --- a/alab_management.resource_manager.html +++ b/alab_management.resource_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.resource_manager.resource_manager.html b/alab_management.resource_manager.resource_manager.html index 71816ff1..c7b74cb5 100644 --- a/alab_management.resource_manager.resource_manager.html +++ b/alab_management.resource_manager.resource_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.resource_manager.resource_requester.html b/alab_management.resource_manager.resource_requester.html index 56ebf628..43cb62d8 100644 --- a/alab_management.resource_manager.resource_requester.html +++ b/alab_management.resource_manager.resource_requester.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.sample_view.completed_sample_view.html b/alab_management.sample_view.completed_sample_view.html index 72eaabbe..031cb169 100644 --- a/alab_management.sample_view.completed_sample_view.html +++ b/alab_management.sample_view.completed_sample_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.sample_view.html b/alab_management.sample_view.html index b989c73d..9252ea8b 100644 --- a/alab_management.sample_view.html +++ b/alab_management.sample_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.sample_view.sample.html b/alab_management.sample_view.sample.html index 06618f97..f0317473 100644 --- a/alab_management.sample_view.sample.html +++ b/alab_management.sample_view.sample.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.sample_view.sample_view.html b/alab_management.sample_view.sample_view.html index 51834236..d44e6621 100644 --- a/alab_management.sample_view.sample_view.html +++ b/alab_management.sample_view.sample_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_actor.html b/alab_management.task_actor.html index 72b09a25..6550dbe3 100644 --- a/alab_management.task_actor.html +++ b/alab_management.task_actor.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_manager.html b/alab_management.task_manager.html index 7241167f..eac2bc56 100644 --- a/alab_management.task_manager.html +++ b/alab_management.task_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_manager.task_manager.html b/alab_management.task_manager.task_manager.html index 0104376d..79fbf310 100644 --- a/alab_management.task_manager.task_manager.html +++ b/alab_management.task_manager.task_manager.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_view.completed_task_view.html b/alab_management.task_view.completed_task_view.html index d6ca1949..24a917f1 100644 --- a/alab_management.task_view.completed_task_view.html +++ b/alab_management.task_view.completed_task_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_view.html b/alab_management.task_view.html index 9a9ade7a..de33d8ee 100644 --- a/alab_management.task_view.html +++ b/alab_management.task_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_view.task.html b/alab_management.task_view.task.html index 560142ba..fa556d06 100644 --- a/alab_management.task_view.task.html +++ b/alab_management.task_view.task.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_view.task_enums.html b/alab_management.task_view.task_enums.html index 75f0bea8..2b268060 100644 --- a/alab_management.task_view.task_enums.html +++ b/alab_management.task_view.task_enums.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.task_view.task_view.html b/alab_management.task_view.task_view.html index 5a898da6..3170b017 100644 --- a/alab_management.task_view.task_view.html +++ b/alab_management.task_view.task_view.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/alab_management.user_input.html b/alab_management.user_input.html index f5d4c753..3a3d8eac 100644 --- a/alab_management.user_input.html +++ b/alab_management.user_input.html @@ -170,7 +170,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/best_practices.html b/best_practices.html index d0bb5782..eebb077e 100644 --- a/best_practices.html +++ b/best_practices.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/development.html b/development.html index 50db32cc..e19dcbbc 100644 --- a/development.html +++ b/development.html @@ -47,7 +47,7 @@ - + @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • @@ -465,7 +465,7 @@

    Git commit rules

    previous

    -

    Testing for Alab Definition

    +

    Testing for AlabOS Project

  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/genindex.html b/genindex.html index 34356782..c9884c19 100644 --- a/genindex.html +++ b/genindex.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/index.html b/index.html index b0d4565c..17db4693 100644 --- a/index.html +++ b/index.html @@ -172,7 +172,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/installation.html b/installation.html index b286de0c..c7a032a7 100644 --- a/installation.html +++ b/installation.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/modules.html b/modules.html index 5a5adeca..47da0897 100644 --- a/modules.html +++ b/modules.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/objects.inv b/objects.inv index 83937610..044552d5 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/py-modindex.html b/py-modindex.html index 30a015ba..06cb91ba 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -175,7 +175,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/search.html b/search.html index e864e58c..9e73cacf 100644 --- a/search.html +++ b/search.html @@ -174,7 +174,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/searchindex.js b/searchindex.js index 3094332f..f3b980a3 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["advance_topics", "alab_management", "alab_management.alarm", "alab_management.builders", "alab_management.builders.experimentbuilder", "alab_management.builders.samplebuilder", "alab_management.config", "alab_management.device_manager", "alab_management.device_view", "alab_management.device_view.dbattributes", "alab_management.device_view.device", "alab_management.device_view.device_view", "alab_management.experiment_manager", "alab_management.experiment_view", "alab_management.experiment_view.completed_experiment_view", "alab_management.experiment_view.experiment", "alab_management.experiment_view.experiment_view", "alab_management.lab_view", "alab_management.logger", "alab_management.resource_manager", "alab_management.resource_manager.enums", "alab_management.resource_manager.resource_manager", "alab_management.resource_manager.resource_requester", "alab_management.sample_view", "alab_management.sample_view.completed_sample_view", "alab_management.sample_view.sample", "alab_management.sample_view.sample_view", "alab_management.task_actor", "alab_management.task_manager", "alab_management.task_manager.task_manager", "alab_management.task_view", "alab_management.task_view.completed_task_view", "alab_management.task_view.task", "alab_management.task_view.task_enums", "alab_management.task_view.task_view", "alab_management.user_input", "best_practices", "development", "device_definition", "index", "installation", "modules", "setup", "start_lab", "submit_experiments", "task_definition", "test", "tutorial"], "filenames": ["advance_topics.md", "alab_management.rst", "alab_management.alarm.rst", "alab_management.builders.rst", "alab_management.builders.experimentbuilder.rst", "alab_management.builders.samplebuilder.rst", "alab_management.config.rst", "alab_management.device_manager.rst", "alab_management.device_view.rst", "alab_management.device_view.dbattributes.rst", "alab_management.device_view.device.rst", "alab_management.device_view.device_view.rst", "alab_management.experiment_manager.rst", "alab_management.experiment_view.rst", "alab_management.experiment_view.completed_experiment_view.rst", "alab_management.experiment_view.experiment.rst", "alab_management.experiment_view.experiment_view.rst", "alab_management.lab_view.rst", "alab_management.logger.rst", "alab_management.resource_manager.rst", "alab_management.resource_manager.enums.rst", "alab_management.resource_manager.resource_manager.rst", "alab_management.resource_manager.resource_requester.rst", "alab_management.sample_view.rst", "alab_management.sample_view.completed_sample_view.rst", "alab_management.sample_view.sample.rst", "alab_management.sample_view.sample_view.rst", "alab_management.task_actor.rst", "alab_management.task_manager.rst", "alab_management.task_manager.task_manager.rst", "alab_management.task_view.rst", "alab_management.task_view.completed_task_view.rst", "alab_management.task_view.task.rst", "alab_management.task_view.task_enums.rst", "alab_management.task_view.task_view.rst", "alab_management.user_input.rst", "best_practices.md", "development.rst", "device_definition.md", "index.rst", "installation.rst", "modules.rst", "setup.rst", "start_lab.md", "submit_experiments.md", "task_definition.md", "test.md", "tutorial.md"], "titles": ["Advance Topics", "alab_management package", "alab_management.alarm module", "alab_management.builders package", "alab_management.builders.experimentbuilder module", "alab_management.builders.samplebuilder module", "alab_management.config module", "alab_management.device_manager module", "alab_management.device_view package", "alab_management.device_view.dbattributes module", "alab_management.device_view.device module", "alab_management.device_view.device_view module", "alab_management.experiment_manager module", "alab_management.experiment_view package", "alab_management.experiment_view.completed_experiment_view module", "alab_management.experiment_view.experiment module", "alab_management.experiment_view.experiment_view module", "alab_management.lab_view module", "alab_management.logger module", "alab_management.resource_manager package", "alab_management.resource_manager.enums module", "alab_management.resource_manager.resource_manager module", "alab_management.resource_manager.resource_requester module", "alab_management.sample_view package", "alab_management.sample_view.completed_sample_view module", "alab_management.sample_view.sample module", "alab_management.sample_view.sample_view module", "alab_management.task_actor module", "alab_management.task_manager package", "alab_management.task_manager.task_manager module", "alab_management.task_view package", "alab_management.task_view.completed_task_view module", "alab_management.task_view.task module", "alab_management.task_view.task_enums module", "alab_management.task_view.task_view module", "alab_management.user_input module", "Best Practices", "Development", "Defining devices and sample positions", "Overview", "Installation", "alab_management", "Set up configuration folder", "Launching lab", "Submitting the synthesis experiments", "Defining tasks", "Testing for Alab Definition", "Tutorial"], "terms": {"In": [0, 32, 36, 38, 39, 42, 44, 45, 46, 47], "thi": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 22, 24, 25, 26, 29, 31, 32, 34, 35, 36, 38, 39, 42, 43, 45, 46, 47], "section": [0, 45, 47], "we": [0, 10, 11, 15, 16, 18, 22, 26, 32, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47], "discuss": 0, "some": [0, 10, 11, 18, 26, 29, 33, 34, 36, 38, 39, 42, 44, 45], "more": [0, 32, 36, 37, 38, 44, 45], "can": [0, 4, 6, 7, 10, 15, 17, 18, 25, 26, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46], "help": [0, 45, 46], "you": [0, 4, 5, 17, 22, 26, 32, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47], "better": [0, 44], "set": [0, 6, 9, 10, 11, 17, 26, 29, 32, 34, 37, 46, 47], "up": [0, 10, 11, 17, 22, 29, 33, 37, 44, 45, 46, 47], "lab": [0, 1, 10, 16, 17, 22, 25, 29, 32, 38, 40, 42, 44, 45, 47], "builder": [1, 32, 41], "experimentbuild": [1, 3, 32, 44], "get_experiment_statu": [1, 3, 4, 44], "samplebuild": [1, 3, 4, 32], "device_view": [1, 41, 46], "dbattribut": [1, 8], "dictindatabas": [1, 8, 9, 10], "listindatabas": [1, 8, 9, 10], "value_in_databas": [1, 8, 9], "devic": [1, 7, 8, 9, 11, 17, 18, 19, 22, 25, 26, 32, 39, 42, 43, 45, 47], "basedevic": [1, 8, 9, 10, 11, 38, 39, 45], "devicesignalemitt": [1, 8, 10], "add_devic": [1, 8, 10, 38], "get_all_devic": [1, 8, 10], "log_sign": [1, 8, 10], "mock": [1, 8, 10, 46], "deviceconnectionerror": [1, 8, 11], "devicepausestatu": [1, 8, 11], "devicetaskstatu": [1, 8, 11], "deviceview": [1, 8, 11], "experiment_view": [1, 41], "completed_experiment_view": [1, 13], "completedexperimentview": [1, 13, 14], "experi": [1, 3, 4, 5, 12, 13, 14, 16, 17, 32, 38, 42, 45, 47], "inputexperi": [1, 13, 15, 16], "experimentstatu": [1, 13, 16], "experimentview": [1, 13, 16], "resource_manag": [1, 41], "enum": [1, 7, 11, 16, 18, 19, 26, 33, 35, 45], "requeststatu": [1, 19, 20], "resourcemanag": [1, 19, 21], "resource_request": [1, 17, 19, 45], "combinedtimeouterror": [1, 19, 22], "devicerequest": [1, 19, 22], "requestcancelederror": [1, 19, 22], "requestmixin": [1, 19, 21, 22], "resourcerequestitem": [1, 19, 22], "resourcerequest": [1, 19, 22], "resourcesrequest": [1, 19, 22], "sample_view": [1, 41], "completed_sample_view": [1, 23], "completedsampleview": [1, 23, 24], "sampl": [1, 3, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 26, 29, 30, 32, 34, 35, 39, 42, 43, 46, 47], "sampleposit": [1, 10, 23, 25, 26, 38], "add_standalone_sample_posit": [1, 23, 25, 38], "get_all_standalone_sample_posit": [1, 23, 25], "samplepositionrequest": [1, 22, 23, 26], "samplepositionstatu": [1, 23, 26], "sampleview": [1, 11, 23, 26], "task_manag": [1, 41], "taskmanag": [1, 11, 21, 28, 29], "task_view": [1, 41, 42], "completed_task_view": [1, 30], "completedtaskview": [1, 30, 31], "task": [1, 3, 4, 5, 7, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 42, 43, 46, 47], "basetask": [1, 17, 30, 32, 34, 36, 39, 44, 45], "largeresult": [1, 30, 32, 42, 45], "add_reroute_task": [1, 30, 32], "add_task": [1, 3, 4, 5, 30, 32, 45], "get_all_task": [1, 30, 32], "get_task_by_nam": [1, 30, 32], "task_enum": [1, 30], "cancelingprogress": [1, 30, 33, 34], "taskprior": [1, 30, 32, 33, 36], "taskstatu": [1, 30, 33, 34, 45], "taskview": [1, 30, 34], "alarm": [1, 41, 42], "alert": [1, 2], "send_email": [1, 2], "send_slack_notif": [1, 2], "setup_email": [1, 2], "setup_slackbot": [1, 2], "format_message_to_codeblock": [1, 2, 41], "config": [1, 15, 22, 26, 32, 41, 46], "alabosconfig": [1, 6, 41], "get": [1, 4, 6, 7, 8, 9, 10, 11, 14, 16, 17, 18, 22, 25, 26, 31, 32, 34, 35, 38, 42, 44, 45, 46], "is_sim_mod": [1, 6], "path": [1, 6, 32, 43, 46], "set_item": [1, 6], "freeze_config": [1, 6, 41], "device_manag": [1, 41], "devicemanag": [1, 7, 41], "on_messag": [1, 7], "run": [1, 4, 7, 10, 11, 12, 13, 16, 17, 19, 21, 28, 29, 30, 32, 33, 36, 37, 38, 39, 42, 43, 44, 46], "devicemethodcallst": [1, 7, 41], "futur": [1, 7, 9, 22, 42, 44], "last_upd": [1, 7], "statu": [1, 4, 7, 11, 14, 16, 20, 21, 22, 24, 26, 29, 33, 34, 35, 36, 45], "devicewrapp": [1, 7, 10, 41], "devicemethodwrapp": [1, 7], "method": [1, 7, 10, 11, 12, 16, 17, 26, 32, 34, 44, 46, 47], "name": [1, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 18, 22, 23, 25, 26, 32, 34, 38, 42, 44, 45, 46], "devicescli": [1, 7, 41], "call": [1, 2, 7, 9, 10, 11, 26, 32, 38, 44, 45, 46], "create_device_wrapp": [1, 7], "methodcallstatu": [1, 7, 41], "failur": [1, 7], "in_progress": [1, 7], "pend": [1, 7, 12, 13, 16, 19, 20, 21, 30, 32, 33, 35, 39], "success": [1, 7], "experiment_manag": [1, 41], "experimentmanag": [1, 12, 41], "handle_pending_experi": [1, 12], "mark_completed_experi": [1, 12], "lab_view": [1, 32, 36, 41], "devicerunningexcept": [1, 17, 41], "labview": [1, 16, 17, 22, 41, 45], "get_locked_sample_posit": [1, 17], "get_sampl": [1, 17, 23, 26, 36, 45], "get_sample_position_parent_devic": [1, 17, 23, 26], "move_sampl": [1, 17, 23, 26, 36, 45], "prioriti": [1, 17, 22, 30, 32, 33, 36], "request_cleanup": [1, 17], "request_resourc": [1, 17, 19, 22, 32, 36, 45], "request_user_input": [1, 17, 35, 41, 45], "request_user_input_with_not": [1, 17, 35, 41], "run_subtask": [1, 17, 30, 32, 45], "task_id": [1, 4, 5, 7, 11, 16, 17, 18, 22, 23, 25, 26, 31, 32, 34, 35, 44, 45], "update_result": [1, 17, 30, 34], "update_sample_metadata": [1, 17, 23, 26, 45], "logger": [1, 32, 41], "dblogger": [1, 18, 41], "filter_device_sign": [1, 18], "filter_log": [1, 18], "get_latest_device_sign": [1, 18], "log": [1, 10, 18, 32, 45], "log_amount": [1, 18], "log_characterization_result": [1, 18], "log_device_sign": [1, 10, 18, 32], "system_log": [1, 18], "logginglevel": [1, 18, 41], "critic": [1, 18], "debug": [1, 18], "error": [1, 2, 8, 11, 13, 16, 17, 18, 19, 20, 22, 30, 32, 33, 35, 42, 44, 46], "fatal": [1, 18], "info": [1, 18, 26, 34], "warn": [1, 18, 32, 45], "loggingtyp": [1, 18, 41], "characterization_result": [1, 18], "device_sign": [1, 18], "other": [1, 10, 17, 18, 32, 36, 38, 45, 46], "sample_amount": [1, 18], "task_actor": [1, 32, 41], "user_input": [1, 41, 45], "userinputview": [1, 35, 41], "clean_up_user_input_collect": [1, 35], "get_all_pending_request": [1, 35], "get_request": [1, 19, 22, 35], "insert_request": [1, 35], "retrieve_user_input": [1, 35], "retrieve_user_input_with_not": [1, 35], "update_request_statu": [1, 19, 22, 35], "userrequeststatu": [1, 35, 41], "fullfil": [1, 35], "request_maintenance_input": [1, 35, 41], "manag": [1, 7, 12, 14, 16, 17, 19, 22, 24, 26, 28, 32, 34, 35, 44, 45, 46], "everyth": [1, 36], "autonom": [1, 36, 39, 40, 42, 44, 45, 47], "The": [2, 4, 5, 6, 7, 9, 10, 11, 16, 17, 20, 22, 25, 26, 32, 33, 36, 38, 39, 42, 44, 45, 46], "send": [2, 7, 32], "user": [2, 10, 11, 15, 16, 17, 29, 35, 36, 38, 39, 42, 44, 45], "via": [2, 7, 17, 29, 37, 39], "email": [2, 42], "slack": [2, 42], "class": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 36, 38, 39, 42, 45], "email_receiv": [2, 42], "none": [2, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 22, 25, 26, 32, 34, 35, 36, 38, 45, 46], "email_send": [2, 42], "email_password": [2, 42], "slack_bot_token": [2, 42], "slack_channel_id": [2, 42], "sourc": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35], "base": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 38, 45, 46], "object": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 22, 24, 25, 26, 29, 31, 32, 34, 35, 36, 38, 44, 45, 46], "A": [2, 4, 7, 10, 14, 15, 16, 17, 18, 22, 25, 26, 32, 38, 39, 42, 43, 44, 45, 46], "messag": [2, 7, 10, 11, 32, 34, 37, 44], "categori": [2, 35], "try": [2, 17, 21, 26, 32, 34, 38, 45, 46], "all": [2, 6, 7, 9, 10, 11, 14, 17, 21, 22, 25, 26, 29, 32, 34, 35, 36, 39, 42, 43, 45, 46], "platform": [2, 39], "format": [2, 4, 15, 16, 17, 22, 37, 39, 44, 45], "paramet": [2, 4, 5, 6, 7, 10, 11, 14, 16, 17, 18, 24, 26, 31, 32, 34, 35, 36, 39, 46], "str": [2, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 22, 25, 26, 31, 32, 34, 35, 38], "print": [2, 32, 45], "an": [2, 4, 6, 9, 10, 11, 14, 16, 17, 32, 33, 36, 38, 39, 40, 42, 44, 45, 46, 47], "receiv": [2, 7, 45], "address": [2, 4, 42, 44], "except": [2, 10, 11, 17, 22, 38, 45], "i": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "type": [2, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 22, 24, 25, 26, 31, 32, 34, 35, 37, 38, 44, 45, 46], "occur": [2, 9, 29, 32], "automat": [2, 32, 36, 45, 46], "us": [2, 3, 4, 5, 6, 7, 9, 10, 11, 16, 17, 22, 26, 29, 31, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "contain": [2, 6, 16, 18, 19, 24, 31, 34, 36, 39, 42, 44, 45], "traceback": 2, "setup": [2, 40, 43], "notif": [2, 38, 42], "__init__": [2, 9, 36, 38, 42, 45], "list": [2, 4, 5, 7, 9, 10, 11, 15, 16, 17, 18, 22, 25, 26, 32, 34, 35, 36, 38, 39, 42, 44, 45], "from": [2, 6, 7, 9, 10, 12, 14, 15, 17, 18, 22, 24, 26, 29, 31, 32, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47], "password": [2, 6, 42], "slackbot": 2, "token": [2, 42], "app": [2, 42], "channel": [2, 7], "id": [2, 4, 5, 11, 14, 16, 17, 24, 25, 26, 31, 32, 34, 35, 38, 39, 44, 45], "where": [2, 10, 18, 38, 42, 44, 45, 46, 47], "deploi": 2, "function": [2, 4, 5, 7, 9, 10, 11, 17, 18, 26, 32, 38, 39, 42, 45, 46, 47], "take": [2, 4, 18, 32, 36, 38, 44, 45], "code": [2, 4, 37, 38, 39, 42, 43, 46], "block": [2, 17, 29, 32, 35, 45], "It": [2, 4, 6, 10, 12, 17, 20, 22, 33, 34, 38, 39, 45], "string": [2, 10, 17, 18, 22, 25, 26, 31, 35, 45], "usual": [2, 11, 36, 38, 47], "return": [2, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 22, 24, 25, 26, 31, 32, 34, 35, 36, 38, 44, 45, 46], "formatted_messag": 2, "otherwis": [2, 34], "origin": 2, "add_sampl": [3, 4, 5, 44], "generate_input_fil": [3, 4], "plot": [3, 4], "submit": [3, 4, 12, 16, 21, 29, 33, 34, 39, 42, 45, 47], "to_dict": [3, 4, 5], "ar": [3, 4, 5, 9, 10, 11, 12, 17, 21, 22, 26, 29, 32, 33, 34, 36, 38, 39, 42, 43, 44, 45, 46, 47], "creat": [3, 7, 9, 10, 16, 26, 32, 34, 38, 39, 42, 45, 46], "thei": [3, 22, 36, 45, 46], "input": [3, 4, 10, 17, 35, 44, 45, 46], "file": [3, 4, 6, 19, 32, 38, 46], "command": [3, 4, 7, 17, 32, 37, 43], "tag": [4, 5, 13, 15, 23, 25, 26, 44], "metadata": [4, 5, 13, 15, 17, 22, 23, 25, 26, 32, 38, 44, 45], "dictionari": [4, 5, 10, 15, 17, 18, 22, 24, 26, 31, 32, 45], "gener": [4, 6, 11, 32, 34, 42, 45], "add": [4, 5, 16, 26, 32, 34, 37], "batch": [4, 39], "each": [4, 5, 17, 22, 36, 38, 39, 44, 45, 46], "alreadi": [4, 11, 26], "ha": [4, 5, 11, 16, 25, 26, 32, 33, 36, 39, 45, 46], "multipl": [4, 10, 38, 39, 42, 44, 45, 46], "bind": [4, 5], "direct": [4, 5, 39, 44], "graph": [4, 5, 39, 44], "must": [4, 9, 10, 15, 32, 34, 39, 40, 42], "uniqu": [4, 10, 11, 25, 38], "within": [4, 9, 10, 14, 17, 18, 24, 26, 31, 34, 44, 45], "attach": 4, "ani": [4, 5, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 25, 26, 29, 32, 34, 35, 36, 38, 44, 45, 46], "addit": [4, 38, 46], "keyword": [4, 7, 10], "argument": [4, 7, 10, 32, 38], "task_nam": 4, "task_kwarg": 4, "should": [4, 5, 9, 10, 11, 15, 17, 22, 24, 26, 31, 32, 34, 38, 39, 42, 43, 45], "onli": [4, 5, 7, 9, 10, 11, 36, 39, 42, 43, 44, 45], "special": [4, 5, 36], "case": [4, 5, 10, 29, 38, 46], "which": [4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 38, 39, 42, 45, 46], "handl": [4, 5, 7, 9, 21, 22, 29, 34], "mongodb": [4, 5, 6, 34, 37, 39, 42, 45], "dict": [4, 5, 6, 7, 9, 10, 11, 14, 15, 16, 18, 22, 25, 26, 32, 34, 35, 45], "filenam": 4, "fmt": 4, "json": 4, "genreat": 4, "liter": 4, "yaml": [4, 6], "ax": 4, "matplotlib": 4, "http": [4, 37, 40, 42, 43, 44], "localhost": [4, 6, 42, 43, 44], "8895": [4, 43, 44], "kwarg": [4, 7, 8, 9, 10, 11, 17, 22, 32, 36, 38, 44, 45], "server": [4, 7, 38, 43, 44], "default": [4, 6, 9, 10, 17, 26, 32, 36, 42, 43, 44, 45, 46], "alabo": [4, 9, 10, 36, 38, 40, 42, 43, 44, 45, 47], "pass": [4, 10, 17, 31, 34, 38, 44, 45], "request": [4, 7, 8, 10, 11, 12, 15, 17, 20, 21, 22, 26, 29, 32, 33, 35, 36, 38, 39], "post": 4, "objectid": [4, 5, 11, 14, 16, 17, 18, 24, 25, 26, 31, 32, 34, 35], "exp_id": [4, 16, 44], "seealso": 4, "see": [4, 16, 17, 42, 43], "dashboard": [4, 10, 11, 29, 32, 34, 35, 43, 44], "respons": [4, 10, 12, 24, 35, 38, 45], "rout": 4, "query_experi": 4, "build": 5, "also": [5, 14, 16, 17, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "node": 5, "filter": [5, 9, 16], "group": 5, "properti": [5, 6, 7, 9, 10, 11, 17, 32, 38, 45, 46], "look": [5, 17, 26, 36, 42, 45, 46], "like": [5, 10, 11, 22, 32, 39, 42, 43, 44, 45, 46], "_id": [5, 34], "configur": [6, 15, 22, 26, 32, 39, 45, 46], "packag": [6, 39, 40, 41, 42, 44, 45, 46, 47], "read": [6, 12, 22, 32, 38, 39, 42], "exampl": [6, 9, 10, 17, 18, 32, 38, 45], "follow": [6, 15, 36, 37, 38, 42, 43, 44, 45, 46], "working_dir": [6, 42], "default_lab": 6, "host": [6, 39, 42, 43], "port": [6, 10, 38, 42, 43, 46], "27017": [6, 42], "usernam": [6, 42], "rabbitmq": [6, 7, 37, 42], "5672": [6, 42], "store": [6, 9, 10, 11, 20, 30, 32, 34, 38, 42, 44, 45], "data": [6, 10, 15, 18, 22, 26, 32, 36, 45], "item": [6, 8, 9, 22], "check": [6, 10, 14, 21, 24, 26, 29, 31, 32, 34, 37, 38, 45, 46], "system": [6, 11, 18, 21, 22, 29, 30, 32, 33, 35, 38, 39, 42, 45, 46], "simul": [6, 10, 38, 46, 47], "mode": [6, 36, 38, 42], "bool": [6, 10, 11, 14, 24, 26, 31, 32, 34, 35], "absolut": 6, "kei": [6, 8, 9, 10, 17, 45, 46], "valu": [6, 7, 8, 9, 10, 11, 16, 17, 18, 20, 22, 26, 32, 33, 34, 35, 38, 39, 43, 45, 46], "specif": [6, 10, 11, 17, 36, 38, 45, 47], "config_": 6, "convert": [6, 31], "frozen": 6, "mappingproxytyp": 6, "frozen_config": 6, "modifi": [6, 42, 46], "adapt": 7, "maus": 7, "rpc": [7, 45], "process": [7, 10, 16, 17, 25, 33, 34, 36, 38, 39, 43, 45, 46], "access": [7, 10, 17, 38, 40, 45], "wrapper": [7, 11, 14, 16, 17, 22, 26, 34, 38, 39], "over": [7, 11, 14, 16, 17, 26, 32, 34, 39], "real": [7, 10, 38, 39, 46], "redirect": 7, "certain": [7, 18, 36, 39, 46, 47], "_check_statu": 7, "true": [7, 11, 14, 15, 22, 24, 26, 31, 32, 34, 35, 38, 43, 44, 45, 46], "basic": [7, 17, 18, 25, 38, 39, 42, 46, 47], "back": [7, 10, 18, 36], "execut": [7, 11, 18, 21, 22, 29, 32, 33, 44, 45, 46, 47], "driver": [7, 10, 38, 39, 46], "prop": [7, 11], "_bodi": 7, "structur": [7, 26, 44, 45], "arg": [7, 8, 9, 10, 11, 17, 32, 36, 38], "start": [7, 8, 9, 10, 12, 21, 29, 33, 34, 36, 38, 39, 42, 45, 46, 47], "listen": 7, "device_rpc": 7, "queue": [7, 11, 16, 29], "conduct": [7, 39], "one": [7, 11, 26, 33, 34, 35, 36, 38, 39, 40, 44, 45, 46, 47], "hold": [7, 10, 25, 38, 39, 44], "float": [7, 10, 36, 38, 45], "devices_cli": 7, "device_nam": [7, 9, 10, 11, 18, 26], "method_handl": 7, "timeout": [7, 10, 17, 22, 32], "client": 7, "instanc": [7, 10, 17, 25, 26, 39, 45, 46], "insid": [7, 10, 32, 36, 38, 46], "feed": 7, "directli": [7, 10, 11, 36, 44, 45], "defin": [7, 9, 10, 15, 22, 25, 26, 32, 39, 42, 44, 46, 47], "administ": 7, "posit": [7, 9, 10, 17, 22, 23, 25, 26, 32, 35, 36, 39, 43, 44, 45, 46], "result": [7, 10, 17, 18, 22, 32, 34, 42, 46, 47], "wrap": 7, "everi": [7, 45], "remot": [7, 40], "method_fram": 7, "callback": 7, "4": [7, 11, 16, 17, 18, 20, 32, 33, 43, 46], "2": [7, 10, 11, 16, 18, 20, 26, 33, 38, 43, 45, 46], "1": [7, 9, 10, 11, 16, 18, 20, 25, 26, 33, 38, 42, 43, 44, 45, 46], "3": [7, 10, 11, 16, 18, 20, 26, 33, 42, 45, 46], "apply_default_valu": [8, 9], "as_normal_dict": [8, 9], "clear": [8, 9], "copi": [8, 9, 10, 24, 31], "db_filter": [8, 9], "db_project": [8, 9], "fromkei": [8, 9], "pop": [8, 9, 36], "popitem": [8, 9], "setdefault": [8, 9], "updat": [8, 9, 16, 17, 22, 26, 34, 35, 39, 45], "append": [8, 9, 32, 38], "count": [8, 9, 10], "extend": [8, 9], "index": [8, 9, 39], "insert": [8, 9, 11, 16, 22, 26, 34, 35], "remov": [8, 9, 29, 45], "revers": [8, 9], "sort": [8, 9], "descript": [8, 10, 11, 23, 25, 26, 38, 44, 46], "connect": [8, 10, 11, 38, 42, 43, 45, 46], "dict_in_databas": [8, 9, 10], "disconnect": [8, 10, 38, 46], "get_messag": [8, 10, 11, 30, 32, 45], "is_run": [8, 10, 32, 38, 46], "list_in_databas": [8, 9, 10], "request_mainten": [8, 10, 38], "retrieve_sign": [8, 10], "sample_posit": [8, 10, 19, 22, 26, 32, 36, 38, 44, 45, 46], "set_messag": [8, 10, 11, 30, 32, 34, 38, 45], "get_methods_to_log": [8, 10], "log_method_to_db": [8, 10], "stop": [8, 9, 10, 29, 33, 34, 38, 39, 46], "paus": [8, 11], "releas": [8, 10, 11, 17, 19, 20, 21, 22, 26, 32, 45], "idl": [8, 11, 39], "occupi": [8, 11, 17, 23, 26, 38, 39, 45], "unknown": [8, 11, 35], "add_devices_to_db": [8, 11], "execute_command": [8, 11], "get_al": [8, 11], "get_all_attribut": [8, 11], "get_attribut": [8, 11], "get_available_devic": [8, 11], "get_devic": [8, 11], "get_devices_by_task": [8, 11], "get_sample_on_devic": [8, 11], "get_statu": [8, 11, 30, 34], "occupy_devic": [8, 11], "pause_devic": [8, 11], "query_properti": [8, 11], "release_devic": [8, 11], "request_devic": [8, 11], "set_all_attribut": [8, 11], "set_attribut": [8, 11], "sync_device_statu": [8, 11], "unpause_devic": [8, 11], "thing": [8, 13, 23, 30, 45, 46], "relat": [8, 13, 23, 30], "device_collect": 9, "attribute_nam": 9, "default_valu": [9, 10], "emul": 9, "databas": [9, 10, 11, 12, 14, 15, 16, 18, 20, 22, 24, 25, 26, 31, 32, 34, 35, 38, 39, 40, 42, 45], "work": [9, 14, 24, 31, 36, 39, 42, 46], "attribut": [9, 10, 11], "so": [9, 10, 11, 21, 29, 32, 34, 37, 38, 39, 42, 44, 45], "persist": 9, "across": [9, 26], "session": 9, "instanti": [9, 10, 39], "script": 9, "setup_lab": 9, "ensur": [9, 17, 32, 36, 44, 45, 46], "have": [9, 11, 17, 22, 29, 32, 36, 38, 39, 40, 44, 45, 46], "correct": [9, 17, 33, 46], "manual": [9, 10, 42, 47], "rais": [9, 10, 11, 17, 26, 32, 33, 38, 42, 45], "valueerror": [9, 10, 11, 26, 32], "found": [9, 11, 26, 34, 36], "out": [9, 12, 45, 46], "order": [9, 44], "e": [9, 18, 32, 34, 37, 39, 40, 42, 44, 45], "befor": [9, 32, 34, 36, 37, 43, 44, 45, 46], "db": [9, 11, 26, 42], "normal": [9, 10, 17, 30, 32, 33], "represent": [9, 39], "new": [9, 17, 26, 32, 34, 38, 45, 46, 47], "retriev": [9, 10, 11, 17, 18, 30, 32, 46], "intern": 9, "project": [9, 39, 43, 44], "be8b61e": 9, "48b1": 9, "4624": 9, "bf7a": 9, "2ca31f7c5ef4": 9, "x": [9, 36, 47], "element": [9, 38, 45], "number": [9, 10, 17, 22, 23, 25, 26, 32, 38, 43, 45, 46], "occurr": 9, "anoth": [9, 36, 45], "iter": [9, 18], "first": [9, 17, 36, 37, 38, 44, 45], "given": [9, 11, 16, 17, 26, 34, 35, 36], "whose": [9, 46], "equal": 9, "place": [9, 36, 38, 39, 45, 46], "fals": [9, 11, 26, 32, 34, 35, 43, 45, 46], "factori": [9, 25], "mirror": 9, "alab": [9, 12, 39, 42], "declar": [9, 10], "variabl": [9, 10, 38, 43, 46], "under": [9, 10, 17, 36, 46], "subclass": [9, 10, 32], "note": [9, 10, 17, 29, 35, 36, 45], "until": [9, 17, 26, 29, 32, 34, 35, 36, 38, 45], "time": [9, 10, 12, 18, 29, 38, 44, 45, 46, 47], "queri": [9, 11, 17, 26, 34, 44, 45], "usag": 9, "when": [9, 11, 12, 17, 26, 32, 34, 36, 38, 39, 43, 45], "import": [9, 10, 38, 39, 42, 44, 45, 47], "mydevic": 9, "my_attribut": 9, "0": [9, 10, 11, 17, 26, 32, 36, 38, 42, 44, 45, 46], "def": [9, 10, 36, 38, 45, 46], "self": [9, 10, 32, 34, 36, 38, 45, 46], "super": [9, 36, 38, 45], "initi": [9, 25, 30, 33, 45, 46], "mydevice_1": 9, "5": [9, 18, 20, 33, 36, 38, 44, 45, 46], "abc": [10, 32], "abstract": [10, 32, 39], "inherit": [10, 32, 34, 38, 39, 45], "identifi": [10, 11, 19, 22, 25, 30, 32, 45, 46], "option": [10, 11, 17, 18, 26, 32, 34, 35, 38, 45], "how": [10, 18, 32, 38, 40, 42, 45, 47], "kind": 10, "includ": [10, 11, 26, 36, 38, 42, 45, 46, 47], "here": [10, 32, 37, 38, 42, 45], "make": [10, 32, 37, 42, 45, 46], "appropri": 10, "even": [10, 26, 39, 45], "requir": [10, 15, 16, 17, 22, 26, 32, 34, 36, 37, 38, 39, 42, 46], "just": [10, 26, 36, 39, 42], "short": 10, "displai": [10, 32, 34, 38, 45], "nest": 10, "support": [10, 42, 45], "empti": [10, 17, 23, 26, 36, 39, 42], "act": 10, "instead": [10, 45], "python": [10, 17, 34, 37, 39, 42, 45], "getter": 10, "setter": 10, "becaus": [10, 36], "current": [10, 11, 17, 25, 32, 33, 34, 36, 37, 38, 42, 45, 46], "whether": [10, 11, 26, 34, 45, 46], "prompt": [10, 17, 35, 38, 43, 45], "mainten": [10, 11, 35], "wait": [10, 30, 33, 36, 39, 45], "them": [10, 21, 29, 39, 42, 45, 46], "select": 10, "text": 10, "signal_nam": [10, 18], "signal": [10, 18], "match": [10, 26, 45], "decor": [10, 38, 45, 46], "datetim": [10, 38], "timedelta": [10, 18, 38], "far": [10, 18], "pull": 10, "rel": 10, "singl": [10, 26, 46], "v": [10, 15], "depend": [10, 37, 38, 39, 42, 44, 46], "wa": [10, 29], "respect": [10, 38, 42], "form": [10, 18, 46, 47], "signal_valu": [10, 18], "signal_value_1": 10, "signal_value_2": 10, "timestamp": [10, 18], "timestamp_1": 10, "timestamp_2": 10, "describ": [10, 25, 32, 39, 45], "doe": [10, 45], "coordin": [10, 25], "inform": [10, 18, 37, 38, 39, 42, 44, 45], "about": [10, 15, 22, 26, 32, 38, 45], "need": [10, 11, 26, 29, 36, 37, 38, 39, 42, 43, 44, 45, 46], "map": [10, 15, 22, 26, 32], "doesn": 10, "t": [10, 42], "matter": 10, "furnac": [10, 18, 32, 38, 42, 44, 45, 46, 47], "heat": [10, 32, 38, 39, 44, 45, 46, 47], "8": [10, 33, 38, 44, 45, 46], "furnace_t": [10, 45], "temporari": 10, "transfer": [10, 14, 36], "16": [10, 32, 38, 42, 43], "period": [10, 47], "intend": [10, 16], "singleton": 10, "onc": [10, 36, 44, 45, 46], "per": [10, 38], "collect": [10, 11, 12, 14, 16, 17, 22, 24, 26, 31, 34, 35, 36, 39], "method_nam": 10, "interv": [10, 26], "interval_second": 10, "worker": [10, 29, 33], "thread": [10, 43], "caught": 10, "regist": [10, 25, 32, 42, 43], "global": [10, 37], "registri": [10, 25, 32], "shallow": 10, "specifi": [10, 11, 17, 26, 32, 39, 43, 45, 46], "provid": [10, 11, 32, 34, 38, 39, 42, 44, 45, 46, 47], "track": [10, 37, 38, 39, 45], "temperatur": [10, 18, 32, 38, 39, 45, 46, 47], "pressur": 10, "sensor": [10, 18, 38], "etc": [10, 32, 38, 39, 42], "whenev": [10, 36, 46], "int": [10, 17, 18, 25, 26, 32], "return_const": [10, 38], "_unspecifi": 10, "object_typ": [10, 38], "dure": [10, 18, 32, 33, 36, 42, 45], "constant": [10, 46], "union": [10, 17, 31, 32, 34], "If": [10, 11, 15, 17, 21, 22, 26, 29, 31, 32, 34, 36, 38, 43, 44, 45, 46], "both": [10, 22, 26, 42, 44, 46], "42": 10, "get_data": 10, "some_integ": 10, "twotheta": 10, "100": [10, 17, 33, 45], "200": 10, "300": 10, "run_simul": 10, "b": 10, "create_mock_str": 10, "alab_control": [10, 38, 44, 46], "ohaus_scal": 10, "ohausscal": 10, "scaledriv": 10, "get_driv": [10, 38, 46], "ip": 10, "ip_address": [10, 38], "set_unit_to_mg": 10, "furnace_2416": [10, 38], "furnacecontrol": [10, 38], "door_control": [10, 38, 46], "doorcontrol": [10, 38, 46], "com_port": 10, "signifi": 11, "fail": [11, 16, 32], "outsid": [11, 45], "typic": [11, 29, 44], "oper": [11, 36, 38, 39, 42, 45, 46], "refil": 11, "consum": 11, "decid": 11, "avail": [11, 17, 26, 32, 36, 43, 45], "connect_to_devic": 11, "view": [11, 14, 16, 17, 24, 26, 34, 35, 39], "api": [11, 42, 45, 46], "well": [11, 38, 39, 42, 43, 45], "ownership": [11, 32, 45], "definit": [11, 25, 39, 42, 43, 45, 47], "": [11, 17, 18, 26, 32, 34, 36, 39, 46], "appear": [11, 26], "nameerror": 11, "callabl": 11, "device_str": 11, "type_or_nam": 11, "only_idl": 11, "ones": 11, "same": [11, 26, 32, 34, 42, 45], "search": [11, 39], "need_releas": [11, 19, 20, 22, 26], "entri": [11, 17, 26, 34, 45], "indic": [11, 26, 44, 45], "__exit__": [11, 26], "deviceslock": 11, "regardless": [11, 32], "its": [11, 16, 26, 34, 36, 38, 39], "commun": [11, 37, 38, 39, 46], "state": [11, 29, 36, 38, 46], "get_samples_on_devic": [11, 23, 26], "backward": 11, "compat": 11, "rtype": 11, "version": [11, 42], "been": [11, 16, 22, 25, 29, 33, 46], "move": [11, 17, 32, 36, 38, 39, 45, 46, 47], "shall": 11, "attributeerror": 11, "device_names_str": 11, "device_types_str": 11, "readi": [11, 21, 29, 30, 33, 34, 39], "There": [11, 38, 42, 45], "duplic": 11, "device_typ": 11, "device_type_nam": 11, "sync": 11, "mai": [11, 29, 37, 38, 39, 42], "still": [11, 17, 29, 36, 38, 44], "usabl": 11, "now": [11, 29, 36, 43, 45, 46], "unpaus": 11, "pars": 12, "incom": [12, 44], "mani": 12, "mark": [12, 22, 34, 35, 45], "finish": [12, 30, 33, 34, 36, 44, 45, 47], "done": [12, 16, 17, 36, 39, 45, 46], "executor": 12, "flag": 12, "complet": [12, 13, 14, 16, 17, 24, 30, 31, 32, 33, 34, 35, 39, 42, 44], "scan": [12, 36, 43], "find": [12, 17, 18, 21, 29, 45], "event": 12, "loop": [12, 21, 29, 38, 47], "exist": [13, 14, 23, 24, 26, 29, 30, 31, 34, 46], "get_experi": [13, 14, 16], "save_al": [13, 14], "save_experi": [13, 14], "model_computed_field": [13, 15, 19, 22, 23, 26, 30, 32], "model_config": [13, 15, 19, 22, 23, 26, 30, 32], "model_field": [13, 15, 19, 22, 23, 26, 30, 32], "must_be_bson": [13, 15], "create_experi": [13, 16], "get_experiment_by_sample_id": [13, 16], "get_experiment_by_task_id": [13, 16], "get_experiments_with_statu": [13, 16], "update_experiment_statu": [13, 16], "update_sample_task_id": [13, 16, 23, 26], "experiment_id": [14, 44], "save": [14, 17, 24, 31, 45], "standard": [14, 17, 45], "associ": [14, 32, 38], "basemodel": [15, 22, 26, 32, 45], "write": [15, 22, 45, 46], "classvar": [15, 22, 25, 26, 32, 38], "computedfieldinfo": [15, 22, 26, 32], "comput": [15, 22, 26, 32, 46], "field": [15, 22, 26, 32, 33, 34], "correspond": [15, 17, 22, 26, 32, 34, 36, 46], "configdict": [15, 22, 26, 32], "model": [15, 22, 26, 32, 45], "conform": [15, 22, 26, 32], "pydant": [15, 22, 26, 32, 45], "fieldinfo": [15, 22, 26, 32], "annot": [15, 22, 26, 32], "_pydanticgeneralmetadata": 15, "pattern": [15, 17, 18], "_sampl": 15, "_task": 15, "replac": [15, 22, 26, 32], "__fields__": [15, 22, 26, 32], "v1": [15, 22, 26, 32], "classmethod": [15, 22, 26, 32], "confirm": [15, 29, 32, 43, 45, 46], "encod": [15, 34], "bson": [15, 17, 34, 45], "put": [16, 39, 42], "somewher": 16, "raw": 16, "sample_id": [16, 17, 23, 24, 25, 26, 34, 44], "At": [16, 38, 45], "creation": [16, 45, 46], "assign": [16, 21, 22, 32, 34, 39, 45, 46], "later": [16, 17, 45], "through": [17, 35, 38, 39, 44], "resourc": [17, 19, 21, 22, 26, 29, 32, 33, 36, 39], "either": [17, 22, 32], "own": [17, 25, 42], "cleanup": 17, "clean": [17, 22, 29, 45], "context": [17, 32, 45], "statement": 17, "do": [17, 36, 38, 39, 42, 44, 45, 46], "belong": [17, 45], "reserv": [17, 26, 33, 36], "left": 17, "tubefurnac": 17, "trai": [17, 26], "arm1": 17, "tubefurnacenam": 17, "tray_index": 17, "integ": [17, 22, 33], "probabl": 17, "rang": [17, 18, 38, 44, 45], "40": [17, 18], "20": [17, 18, 33], "level": [17, 18, 46], "higher": [17, 18, 33, 43], "urgent": [17, 30, 33], "someth": [17, 39], "tupl": [17, 26, 35], "subtask": [17, 32, 34], "fill": 17, "ie": [17, 26, 34], "diffract": [17, 44, 47], "numpi": 17, "arrai": 17, "serializ": [17, 45], "most": [17, 45, 46, 47], "charg": [18, 45], "record": [18, 38, 39, 45], "custom": [18, 38, 42, 44, 46], "wrote": 18, "predefin": [18, 38, 39, 42], "1h": 18, "1d": 18, "els": [18, 26, 38], "than": [18, 38, 45], "last": [18, 29], "log_data": 18, "logging_typ": 18, "amount": 18, "chemic": [18, 39], "g": [18, 37, 39, 42, 44, 45], "weight": 18, "character": [18, 47], "xrd": [18, 47], "voltag": 18, "batteri": 18, "come": [18, 36, 40], "workflow": [18, 38, 39], "differ": [18, 43, 45, 46], "50": 18, "10": [18, 33, 36, 38, 42], "30": [18, 33, 38], "cancel": [19, 20, 22, 29, 30, 33, 34], "fulfil": [19, 20, 22, 35], "handle_released_resourc": [19, 21], "handle_requested_resourc": [19, 21], "get_requests_by_statu": [19, 22], "get_requests_by_task_id": [19, 22], "get_concurrent_result": [19, 22], "release_all_resourc": [19, 22], "release_resourc": [19, 22], "preprocess": [19, 22], "root": [19, 22, 38, 42, 43], "6": [20, 33, 46], "tasklaunch": [21, 22, 29], "core": [21, 22, 29], "actual": [21, 22, 26, 29, 43, 45, 46], "timeouterror": 22, "combin": [22, 42], "catch": [22, 45], "concurr": 22, "content": [22, 36, 41], "simpl": [22, 47], "request_id": [22, 35], "original_statu": 22, "easili": [22, 37, 39], "static": 22, "f": [22, 38, 44, 45], "hang": 22, "program": [22, 36, 38, 45, 46], "kill": 22, "abort": [22, 33, 45], "actor": [22, 29, 33, 34], "recoveri": [22, 44, 47], "For": [22, 32, 36, 38, 39, 44, 45], "pydanticundefin": 22, "rootmodel": 22, "valid": [22, 26, 30, 32, 46], "nodevic": 22, "prefix": [22, 23, 26], "save_sampl": [23, 24], "separ": [23, 25, 44, 45], "from_py_typ": [23, 26], "from_str": [23, 26], "lock": [23, 26, 39], "add_sample_positions_to_db": [23, 26], "clean_up_sample_position_collect": [23, 26], "create_sampl": [23, 26], "get_available_sample_posit": [23, 26], "get_sample_posit": [23, 26], "get_sample_position_statu": [23, 26], "get_sample_positions_by_task": [23, 26], "is_locked_posit": [23, 26], "is_unoccupied_posit": [23, 26], "lock_sample_posit": [23, 26], "release_sample_posit": [23, 26], "request_sample_posit": [23, 26], "geograph": 25, "briefli": 25, "startwith": 26, "By": [26, 32, 43, 44, 45, 46], "sample_position_prefix": 26, "extra": 26, "forbid": 26, "gt": 26, "ge": 26, "lt": 26, "le": 26, "neither": 26, "nor": 26, "parent_device_nam": 26, "skip": [26, 38, 45], "parent": [26, 34, 45], "drop": [26, 35, 36], "uid": [26, 34], "position_prefix": 26, "samplepositionslock": 26, "furnace_1": 26, "properli": [26, 46], "_a": 26, "long": [26, 36], "_": 26, "tell": 26, "unoccupi": 26, "unlock": 26, "clean_up_tasks_from_previous_run": [28, 29], "handle_tasks_to_be_cancel": [28, 29], "submit_ready_task": [28, 29], "incomplet": 29, "physic": [29, 42], "exit": [29, 45], "sigterm": 29, "ctrl": 29, "c": [29, 38, 45], "These": [29, 38, 42, 46], "dramatiq": [29, 34, 39, 45], "get_task": [30, 31, 34], "save_task": [30, 31], "add_to": [30, 32, 44], "from_kwarg": [30, 32], "is_offlin": [30, 32], "result_specif": [30, 32, 45], "check_file_like_data": [30, 32], "check_if_stor": [30, 32], "file_like_data": [30, 32], "from_file_like_data": [30, 32, 45], "from_local_fil": [30, 32, 45], "local_path": [30, 32], "storage_typ": [30, 32, 42], "worker_notifi": [30, 33], "high": [30, 32, 33, 36, 47], "low": [30, 33], "requesting_resourc": [30, 33], "create_subtask": [30, 34], "create_task": [30, 34], "encode_task": [30, 34], "get_ready_task": [30, 34], "get_task_with_sampl": [30, 34], "get_tasks_by_statu": [30, 34], "get_tasks_to_be_cancel": [30, 34], "mark_task_as_cancel": [30, 34], "set_task_actor_id": [30, 34], "try_to_mark_task_readi": [30, 34], "update_canceling_progress": [30, 34], "update_statu": [30, 34], "update_subtask_result": [30, 34], "update_subtask_statu": [30, 34], "update_task_depend": [30, 34], "interact": [31, 36, 38, 45, 46], "_offline_mod": 32, "tasklist": 32, "construct": [32, 46], "One": [32, 44], "subclass_kwarg": 32, "ad": [32, 36, 46], "offlin": 32, "live": [32, 45], "after": [32, 38, 42, 43, 45, 47], "notimplementederror": 32, "implement": [32, 39, 45, 46, 47], "prevent": 32, "conflict": [32, 45], "alloc": 32, "cannot": [32, 33, 34, 38, 42, 44], "repres": [32, 39, 42, 44, 45], "devices_and_posit": 32, "inside_furnac": 32, "share": [32, 39, 45], "moving_task": 32, "dest": 32, "run_program": [32, 38, 45, 46], "setpoint": [32, 38], "while": [32, 36, 38, 42, 44, 45], "get_temperatur": [32, 38, 46], "imposs": 32, "might": 32, "too": 32, "unless": [32, 46], "overridden": 32, "larg": [32, 42], "mb": [32, 42], "gridf": [32, 42, 45], "filesystem": 32, "cloud": 32, "aw": 32, "s3": 32, "storag": [32, 42], "local": [32, 40], "arbitrary_types_allow": 32, "nonetyp": 32, "default_factori": 32, "lambda": 32, "indefinit": 32, "supported_sample_posit": 32, "rerout": 32, "being": [33, 34, 36], "kept": 33, "notifi": [33, 45], "mean": [33, 38, 42, 45], "intenum": 33, "larger": 33, "900": [33, 38], "yet": [33, 36], "preced": 33, "sent": [33, 42, 46], "encount": 33, "9": 33, "7": 33, "convien": 34, "conveni": 34, "manipul": 34, "subtask_typ": 34, "task_typ": 34, "prev_task": 34, "next_task": 34, "refer": [34, 37, 38, 39, 40, 45], "prev": 34, "next": [34, 36, 47], "task_entri": 34, "renam": 34, "translat": 34, "interest": [34, 38], "canceling_progress": 34, "progress": [34, 44], "message_id": 34, "original_progress": 34, "job": 34, "entir": [34, 46], "written": [34, 46], "previou": [34, 39, 45], "subtask_id": 34, "dump": 34, "overwrit": 34, "old": [34, 47], "pre_task": 34, "retriv": 35, "give": 35, "overal": 35, "To": [36, 37, 38, 40, 42, 43, 44, 45, 46], "eas": 36, "deploy": 36, "below": [36, 44], "sever": [36, 46], "common": [36, 45], "problem": 36, "challeng": 36, "minimum": 36, "timer": 36, "scenario": [36, 46], "solid_wet_mixing_and_pipet": 36, "mix": [36, 47], "solid": 36, "ethanol": 36, "pipett": 36, "slurri": 36, "unmix": 36, "dispens": 36, "polypropylen": 36, "pot": 36, "pressenc": 36, "zirconia": 36, "ball": 36, "energi": 36, "end": [36, 38, 39, 44, 45], "alumina": 36, "crucibl": [36, 38], "illustr": 36, "figur": 36, "hit": 36, "present": 36, "densifi": 36, "enough": 36, "therefor": 36, "seri": [36, 45], "ethanol_dispens": 36, "slurry_pipet": 36, "fast": 36, "possibl": 36, "alwai": [36, 43], "ethanol_amount": 36, "5000": 36, "ul": 36, "ml": 36, "mixing_dur": 36, "600": [36, 44], "second": [36, 45], "minut": [36, 38], "indexingquadr": 36, "slot": [36, 38, 45, 46], "ethanoldispens": 36, "mixer": 36, "slurrypipett": 36, "robotarm": 36, "slurry_transfer_crucible_posit": 36, "indexing_quadr": 36, "slurry_pipett": 36, "robot_arm": 36, "initial_posit": 36, "destin": [36, 45], "rack": [36, 39], "consid": [36, 45], "powdertransfer_crucible_posit": 36, "involv": 36, "book": 36, "Then": 36, "robot": [36, 38, 39, 42, 47], "begin": 36, "achiev": 36, "exclus": 36, "oftentim": 36, "due": [36, 38], "scarciti": 36, "part": [36, 38], "allow": [36, 39], "human": [36, 38], "experimentalist": 36, "let": [36, 43], "electron": 36, "microscop": 36, "fulli": 36, "integr": [36, 46], "laboratori": 36, "load": 36, "want": [36, 37, 38, 42, 43, 45], "step": [36, 44, 46, 47], "irregular": 36, "shape": 36, "essenti": 36, "person": 36, "interrupt": 36, "click": 36, "interfac": [36, 47], "prepar": [36, 47], "analysi": [36, 47], "advanc": 36, "keep": [36, 45], "henc": 36, "worri": 36, "free": 36, "expect": [36, 46], "accord": 36, "soon": [36, 40], "clone": [37, 40], "repositori": [37, 39], "instal": [37, 42, 46], "github": [37, 39, 40, 46], "com": [37, 38, 40, 42], "cedergrouphub": [37, 40], "alab_manag": [37, 38, 40, 42, 44, 45, 46], "cd": [37, 40, 42], "pip": [37, 42], "r": [37, 45], "txt": [37, 45], "dev": 37, "purpos": [37, 38], "pleas": [37, 45], "page": [37, 39], "apart": [37, 38, 45, 47], "pyright": 37, "npm": 37, "yarn": 37, "action": [37, 43, 46], "unit": [37, 45, 46], "test": [37, 38], "push": 37, "sure": [37, 46], "correctli": [37, 46], "pytest": [37, 46], "pylint": 37, "flake8": 37, "highli": 37, "recommend": [37, 42, 45], "semant": 37, "gist": 37, "ericavonb": 37, "3c79e5035567c8ef3267": 37, "chang": [37, 42, 46], "piec": 38, "equip": [38, 42], "box": [38, 46, 47], "arm": [38, 42, 47], "around": 38, "tutori": [38, 40, 42, 43, 44], "show": [38, 40, 42, 45, 47], "few": 38, "deriv": 38, "do_powder_dos": 38, "powder": [38, 44, 47], "dose": [38, 44, 47], "station": [38, 47], "move_to": 38, "segment": [38, 46], "furnace_driv": 38, "furnaceerror": 38, "programendtyp": 38, "segmenttyp": 38, "deivc": 38, "1200": 38, "degre": 38, "celsiu": 38, "treatment": 38, "limit": [38, 44, 45], "power": 38, "suppli": 38, "max": 38, "ramp": [38, 45], "rate": [38, 45], "serial": 38, "com_port_id": 38, "192": 38, "168": 38, "51": 38, "helper": [38, 42, 45], "close": [38, 47], "profil": [38, 46], "three": [38, 46], "target": [38, 42, 45], "durat": [38, 45], "segment_typ": 38, "ramp_rat": 38, "target_setpoint": 38, "ramp_rate_per_min": 38, "dwell": 38, "upper": 38, "899": 38, "endt": 38, "reset": 38, "n": 38, "join": 38, "min": 38, "sleep": [38, 44, 45], "retri": [38, 45], "ye": 38, "No": 38, "choos": [38, 45], "break": [38, 44, 46], "ui": 38, "1000": [38, 44], "60": 38, "sometim": 38, "wai": [38, 45], "moment": 38, "intervent": 38, "react": 38, "choic": 38, "made": [38, 45], "necessari": [38, 42, 45, 46], "without": [38, 46], "detect": 38, "bug": 38, "docstr": 38, "py": [38, 42, 45], "folder": [38, 43, 46, 47], "four": [38, 47], "box_furnac": [38, 45, 46], "box_1": 38, "com3": 38, "box_2": [38, 45], "com4": 38, "box_3": 38, "com5": 38, "box_4": 38, "com6": 38, "serv": [38, 45], "buffer": 38, "area": 38, "crucible_buff": [38, 45], "perform": [38, 42, 44, 45], "aim": 39, "sharabl": 39, "synthesi": 39, "what": 39, "ro": 39, "With": 39, "great": 39, "flexibl": 39, "extens": 39, "sinc": [39, 44, 45], "two": [39, 44, 45], "throughout": 39, "git": [39, 40], "websit": [39, 40], "architectur": 39, "our": 39, "snippet": 39, "between": [39, 44, 45, 46], "life": 39, "cycl": 39, "five": 39, "dag": [39, 44], "acycl": [39, 44], "vertex": 39, "simpli": 39, "launch": [39, 45], "die": 39, "main": 39, "pymongo": 39, "least": 40, "your": [40, 42, 43, 44], "machin": [40, 47], "subpackag": 41, "submodul": 41, "modul": [41, 44, 46], "framework": [42, 46], "runtim": 42, "anneal": 42, "grind": [42, 47], "along": [42, 44], "toml": [42, 43], "tool": [42, 46], "mkdir": 42, "init": 42, "Or": 42, "project_root": 42, "alabos_project": [42, 44, 45], "default_devic": 42, "default_task": 42, "pyproject": 42, "beofor": 42, "edit": 42, "appli": 42, "immedi": [42, 46], "focu": 42, "directori": 42, "mini": 42, "_complet": 42, "mongodb_complet": 42, "don": 42, "leav": 42, "sender": 42, "xxx": 42, "bot": 42, "large_result_storag": 42, "locat": 42, "overrid": [42, 45], "default_storage_typ": 42, "notic": 42, "introduc": [42, 46], "avoid": [43, 45], "accident": 43, "environ": [43, 46], "sim_mode_flag": [43, 46], "disabl": 43, "export": 43, "product": 43, "As": 43, "dir": 43, "config_fil": 43, "afterward": 43, "alabos_config_path": 43, "would": [43, 44, 45], "scratch": 43, "ask": [43, 45], "browser": 43, "howev": [43, 44], "launch_work": 43, "parallel": 43, "termin": 43, "synthes": [44, 47], "sequenc": 44, "vertic": 44, "edg": 44, "outgo": 44, "shown": [44, 45, 47], "final": 44, "offer": 44, "organ": 44, "arbitrari": 44, "exp": 44, "myexperi": 44, "tag1": 44, "tag2": 44, "my": 44, "my_sample_1": 44, "heating_tim": 44, "120": 44, "heating_temperatur": 44, "sample1": 44, "sample2": 44, "task1": 44, "task2": 44, "sample3": 44, "abov": 44, "diagram": [44, 45], "assum": 44, "alab_exampl": 44, "powderdos": [44, 47], "recoverpowd": 44, "labman": [44, 47], "inputfil": 44, "tutorial_sample_": 44, "precursor": [44, 47], "li2co3": 44, "17": 44, "powder_dos": 44, "powder_dispens": 44, "to_json": 44, "heating_1": 44, "500": 44, "heating_2": 44, "powder_recoveri": 44, "monitor": 44, "go": 44, "individu": [44, 46], "experiment_nam": 44, "ratio": [44, 47], "submitted_at": 44, "2021": 44, "09": 44, "01t12": 44, "00": 44, "sample_nam": 44, "tasktyp": 44, "measur": 44, "mg": 44, "accept": 44, "tree": 44, "downstream": [44, 46], "networkx": 44, "detail": [44, 45, 46], "smallest": 45, "behavior": 45, "role": 45, "compos": 45, "submiss": 45, "temperautr": 45, "temperature_c": 45, "duration_min": 45, "ramping_rate_c_permin": 45, "ramping_r": 45, "logic": 45, "boolean": 45, "less": 45, "1100": 45, "len": [45, 46], "point": 45, "disambigu": 45, "sample_1": 45, "new_posit": 45, "mass": 45, "mytask": 45, "59434": 45, "know": 45, "minim": 45, "frequent": 45, "autom": 45, "longer": 45, "devicetyp": 45, "quantiti": 45, "sample_position_nam": 45, "another_sample_position_nam": 45, "devicenam": 45, "standalone_sample_position_nam": 45, "boxfurnac": 45, "eight": 45, "standalon": 45, "slot_1": 45, "slot_2": 45, "slot_8": 45, "furnace_slot": 45, "although": 45, "proxi": 45, "forward": 45, "get_temperature_log": 45, "size": 45, "document": 45, "16mb": 45, "deal": 45, "veri": 45, "consist": 45, "issu": 45, "frequenc": 45, "large_result": 45, "open": 45, "large_fil": 45, "w": 45, "librari": 45, "enabl": 45, "consol": 45, "zip": 45, "unexpect": 45, "mechan": 45, "furnacenotconnectederror": 45, "rerun": 45, "worth": 45, "taskactor": 45, "built": 45, "upon": [45, 46], "seamless": 46, "robust": 46, "softwar": 46, "suit": 46, "cover": 46, "compon": 46, "isol": 46, "develop": 46, "world": 46, "u": 46, "whole": 46, "continu": 46, "ci": 46, "pipelin": 46, "commit": 46, "hardwar": 46, "unittest": 46, "dummi": 46, "thu": 46, "good": 46, "abl": 46, "talk": 46, "activ": 46, "env": 46, "sauron": 46, "fix": 46, "sub": 46, "suitabl": 46, "return_valu": 46, "return_typ": 46, "test_": 46, "rememb": 46, "behaviour": 46, "ex": 46, "magicmock": 46, "alab_on": 46, "monkeypatch": 46, "setattr": 46, "primarli": 46, "were": 46, "particular": 46, "similar": 46, "outcom": 46, "met": 46, "door": 46, "control": 46, "letter": 46, "emergent_stop": 46, "open_door": 46, "close_door": 46, "precondit": 46, "door_controller_ab": 46, "door_controller_cd": 46, "parameter": 46, "variou": [46, 47], "mock_driv": 46, "test_connect": 46, "verifi": 46, "test_disconnect": 46, "assert": 46, "test_sample_posit": 46, "test_emergent_stop": 46, "assert_called_onc": 46, "test_run_program": 46, "test_run_program_with_profil": 46, "invoc": 46, "util": 46, "test_is_run": 46, "test_get_temperatur": 46, "fetch": 46, "test_open_door": 46, "test_close_door": 46, "invok": 46, "guid": 47, "inorgan": 47, "materi": 47, "togeth": 47, "mixtur": 47, "phase": 47, "ground": 47, "rai": 47, "tube": 47, "interpret": 47, "mainli": 47, "heatingwithatmospher": 47, "powderrecoveri": 47, "demo": 47}, "objects": {"": [[1, 0, 0, "-", "alab_management"]], "alab_management": [[2, 0, 0, "-", "alarm"], [3, 0, 0, "-", "builders"], [6, 0, 0, "-", "config"], [7, 0, 0, "-", "device_manager"], [8, 0, 0, "-", "device_view"], [12, 0, 0, "-", "experiment_manager"], [13, 0, 0, "-", "experiment_view"], [17, 0, 0, "-", "lab_view"], [18, 0, 0, "-", "logger"], [19, 0, 0, "-", "resource_manager"], [23, 0, 0, "-", "sample_view"], [28, 0, 0, "-", "task_manager"], [30, 0, 0, "-", "task_view"], [35, 0, 0, "-", "user_input"]], "alab_management.alarm": [[2, 1, 1, "", "Alarm"], [2, 3, 1, "", "format_message_to_codeblock"]], "alab_management.alarm.Alarm": [[2, 2, 1, "", "alert"], [2, 2, 1, "", "send_email"], [2, 2, 1, "", "send_slack_notification"], [2, 2, 1, "", "setup_email"], [2, 2, 1, "", "setup_slackbot"]], "alab_management.builders": [[4, 0, 0, "-", "experimentbuilder"], [5, 0, 0, "-", "samplebuilder"]], "alab_management.builders.experimentbuilder": [[4, 1, 1, "", "ExperimentBuilder"], [4, 3, 1, "", "get_experiment_status"]], "alab_management.builders.experimentbuilder.ExperimentBuilder": [[4, 2, 1, "", "add_sample"], [4, 2, 1, "", "add_task"], [4, 2, 1, "", "generate_input_file"], [4, 2, 1, "", "plot"], [4, 2, 1, "", "submit"], [4, 2, 1, "", "to_dict"]], "alab_management.builders.samplebuilder": [[5, 1, 1, "", "SampleBuilder"]], "alab_management.builders.samplebuilder.SampleBuilder": [[5, 2, 1, "", "add_task"], [5, 4, 1, "", "tasks"], [5, 2, 1, "", "to_dict"]], "alab_management.config": [[6, 1, 1, "", "AlabOSConfig"], [6, 3, 1, "", "freeze_config"]], "alab_management.config.AlabOSConfig": [[6, 2, 1, "", "get"], [6, 2, 1, "", "is_sim_mode"], [6, 4, 1, "", "path"], [6, 2, 1, "", "set_item"]], "alab_management.device_manager": [[7, 1, 1, "", "DeviceManager"], [7, 1, 1, "", "DeviceMethodCallState"], [7, 1, 1, "", "DeviceWrapper"], [7, 1, 1, "", "DevicesClient"], [7, 1, 1, "", "MethodCallStatus"]], "alab_management.device_manager.DeviceManager": [[7, 2, 1, "", "on_message"], [7, 2, 1, "", "run"]], "alab_management.device_manager.DeviceMethodCallState": [[7, 5, 1, "", "future"], [7, 5, 1, "", "last_updated"], [7, 5, 1, "", "status"]], "alab_management.device_manager.DeviceWrapper": [[7, 1, 1, "", "DeviceMethodWrapper"], [7, 4, 1, "", "name"]], "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper": [[7, 4, 1, "", "method"]], "alab_management.device_manager.DevicesClient": [[7, 2, 1, "", "call"], [7, 2, 1, "", "create_device_wrapper"], [7, 2, 1, "", "on_message"]], "alab_management.device_manager.MethodCallStatus": [[7, 5, 1, "", "FAILURE"], [7, 5, 1, "", "IN_PROGRESS"], [7, 5, 1, "", "PENDING"], [7, 5, 1, "", "SUCCESS"]], "alab_management.device_view": [[9, 0, 0, "-", "dbattributes"], [10, 0, 0, "-", "device"], [11, 0, 0, "-", "device_view"]], "alab_management.device_view.dbattributes": [[9, 1, 1, "", "DictInDatabase"], [9, 1, 1, "", "ListInDatabase"], [9, 3, 1, "", "value_in_database"]], "alab_management.device_view.dbattributes.DictInDatabase": [[9, 2, 1, "", "apply_default_value"], [9, 2, 1, "", "as_normal_dict"], [9, 2, 1, "", "clear"], [9, 2, 1, "", "copy"], [9, 4, 1, "", "db_filter"], [9, 4, 1, "", "db_projection"], [9, 2, 1, "", "fromkeys"], [9, 2, 1, "", "get"], [9, 2, 1, "", "items"], [9, 2, 1, "", "keys"], [9, 2, 1, "", "pop"], [9, 2, 1, "", "popitem"], [9, 2, 1, "", "setdefault"], [9, 2, 1, "", "update"], [9, 2, 1, "", "values"]], "alab_management.device_view.dbattributes.ListInDatabase": [[9, 2, 1, "", "append"], [9, 2, 1, "", "apply_default_value"], [9, 2, 1, "", "clear"], [9, 2, 1, "", "copy"], [9, 2, 1, "", "count"], [9, 4, 1, "", "db_filter"], [9, 4, 1, "", "db_projection"], [9, 2, 1, "", "extend"], [9, 2, 1, "", "index"], [9, 2, 1, "", "insert"], [9, 2, 1, "", "pop"], [9, 2, 1, "", "remove"], [9, 2, 1, "", "reverse"], [9, 2, 1, "", "sort"]], "alab_management.device_view.device": [[10, 1, 1, "", "BaseDevice"], [10, 1, 1, "", "DeviceSignalEmitter"], [10, 3, 1, "", "add_device"], [10, 3, 1, "", "get_all_devices"], [10, 3, 1, "", "log_signal"], [10, 3, 1, "", "mock"]], "alab_management.device_view.device.BaseDevice": [[10, 5, 1, "", "args"], [10, 2, 1, "", "connect"], [10, 4, 1, "id0", "description"], [10, 2, 1, "", "dict_in_database"], [10, 2, 1, "", "disconnect"], [10, 2, 1, "", "get_message"], [10, 2, 1, "", "is_running"], [10, 5, 1, "", "kwargs"], [10, 2, 1, "", "list_in_database"], [10, 5, 1, "", "name"], [10, 2, 1, "", "request_maintenance"], [10, 2, 1, "", "retrieve_signal"], [10, 4, 1, "", "sample_positions"], [10, 2, 1, "", "set_message"]], "alab_management.device_view.device.DeviceSignalEmitter": [[10, 2, 1, "", "get_methods_to_log"], [10, 2, 1, "", "log_method_to_db"], [10, 2, 1, "", "retrieve_signal"], [10, 2, 1, "", "start"], [10, 2, 1, "", "stop"]], "alab_management.device_view.device_view": [[11, 6, 1, "", "DeviceConnectionError"], [11, 1, 1, "", "DevicePauseStatus"], [11, 1, 1, "", "DeviceTaskStatus"], [11, 1, 1, "", "DeviceView"]], "alab_management.device_view.device_view.DevicePauseStatus": [[11, 5, 1, "", "PAUSED"], [11, 5, 1, "", "RELEASED"], [11, 5, 1, "", "REQUESTED"]], "alab_management.device_view.device_view.DeviceTaskStatus": [[11, 5, 1, "", "ERROR"], [11, 5, 1, "", "IDLE"], [11, 5, 1, "", "OCCUPIED"], [11, 5, 1, "", "UNKNOWN"]], "alab_management.device_view.device_view.DeviceView": [[11, 2, 1, "", "add_devices_to_db"], [11, 2, 1, "", "execute_command"], [11, 2, 1, "", "get_all"], [11, 2, 1, "", "get_all_attributes"], [11, 2, 1, "", "get_attribute"], [11, 2, 1, "", "get_available_devices"], [11, 2, 1, "", "get_device"], [11, 2, 1, "", "get_devices_by_task"], [11, 2, 1, "", "get_message"], [11, 2, 1, "", "get_sample_on_device"], [11, 2, 1, "", "get_status"], [11, 2, 1, "", "occupy_device"], [11, 2, 1, "", "pause_device"], [11, 2, 1, "", "query_property"], [11, 2, 1, "", "release_device"], [11, 2, 1, "", "request_devices"], [11, 2, 1, "", "set_all_attributes"], [11, 2, 1, "", "set_attribute"], [11, 2, 1, "", "set_message"], [11, 2, 1, "", "sync_device_status"], [11, 2, 1, "", "unpause_device"]], "alab_management.experiment_manager": [[12, 1, 1, "", "ExperimentManager"]], "alab_management.experiment_manager.ExperimentManager": [[12, 2, 1, "", "handle_pending_experiments"], [12, 2, 1, "", "mark_completed_experiments"], [12, 2, 1, "", "run"]], "alab_management.experiment_view": [[14, 0, 0, "-", "completed_experiment_view"], [15, 0, 0, "-", "experiment"], [16, 0, 0, "-", "experiment_view"]], "alab_management.experiment_view.completed_experiment_view": [[14, 1, 1, "", "CompletedExperimentView"]], "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView": [[14, 2, 1, "", "exists"], [14, 2, 1, "", "get_experiment"], [14, 2, 1, "", "save_all"], [14, 2, 1, "", "save_experiment"]], "alab_management.experiment_view.experiment": [[15, 1, 1, "", "InputExperiment"]], "alab_management.experiment_view.experiment.InputExperiment": [[15, 5, 1, "", "metadata"], [15, 5, 1, "", "model_computed_fields"], [15, 5, 1, "", "model_config"], [15, 5, 1, "", "model_fields"], [15, 2, 1, "", "must_be_bsonable"], [15, 5, 1, "", "name"], [15, 5, 1, "", "samples"], [15, 5, 1, "", "tags"], [15, 5, 1, "", "tasks"]], "alab_management.experiment_view.experiment_view": [[16, 1, 1, "", "ExperimentStatus"], [16, 1, 1, "", "ExperimentView"]], "alab_management.experiment_view.experiment_view.ExperimentStatus": [[16, 5, 1, "", "COMPLETED"], [16, 5, 1, "", "ERROR"], [16, 5, 1, "", "PENDING"], [16, 5, 1, "", "RUNNING"]], "alab_management.experiment_view.experiment_view.ExperimentView": [[16, 2, 1, "", "create_experiment"], [16, 2, 1, "", "get_experiment"], [16, 2, 1, "", "get_experiment_by_sample_id"], [16, 2, 1, "", "get_experiment_by_task_id"], [16, 2, 1, "", "get_experiments_with_status"], [16, 2, 1, "", "update_experiment_status"], [16, 2, 1, "", "update_sample_task_id"]], "alab_management.lab_view": [[17, 6, 1, "", "DeviceRunningException"], [17, 1, 1, "", "LabView"]], "alab_management.lab_view.LabView": [[17, 2, 1, "", "get_locked_sample_positions"], [17, 2, 1, "", "get_sample"], [17, 2, 1, "", "get_sample_position_parent_device"], [17, 2, 1, "", "move_sample"], [17, 4, 1, "", "priority"], [17, 2, 1, "", "request_cleanup"], [17, 2, 1, "", "request_resources"], [17, 2, 1, "", "request_user_input"], [17, 2, 1, "", "request_user_input_with_note"], [17, 2, 1, "", "run_subtask"], [17, 4, 1, "", "task_id"], [17, 2, 1, "", "update_result"], [17, 2, 1, "", "update_sample_metadata"]], "alab_management.logger": [[18, 1, 1, "", "DBLogger"], [18, 1, 1, "", "LoggingLevel"], [18, 1, 1, "", "LoggingType"]], "alab_management.logger.DBLogger": [[18, 2, 1, "", "filter_device_signal"], [18, 2, 1, "", "filter_log"], [18, 2, 1, "", "get_latest_device_signal"], [18, 2, 1, "", "log"], [18, 2, 1, "", "log_amount"], [18, 2, 1, "", "log_characterization_result"], [18, 2, 1, "", "log_device_signal"], [18, 2, 1, "", "system_log"]], "alab_management.logger.LoggingLevel": [[18, 5, 1, "", "CRITICAL"], [18, 5, 1, "", "DEBUG"], [18, 5, 1, "", "ERROR"], [18, 5, 1, "", "FATAL"], [18, 5, 1, "", "INFO"], [18, 5, 1, "", "WARN"], [18, 5, 1, "", "WARNING"]], "alab_management.logger.LoggingType": [[18, 5, 1, "", "CHARACTERIZATION_RESULT"], [18, 5, 1, "", "DEVICE_SIGNAL"], [18, 5, 1, "", "OTHER"], [18, 5, 1, "", "SAMPLE_AMOUNT"], [18, 5, 1, "", "SYSTEM_LOG"]], "alab_management.resource_manager": [[20, 0, 0, "-", "enums"], [21, 0, 0, "-", "resource_manager"], [22, 0, 0, "-", "resource_requester"]], "alab_management.resource_manager.enums": [[20, 1, 1, "", "RequestStatus"]], "alab_management.resource_manager.enums.RequestStatus": [[20, 5, 1, "", "CANCELED"], [20, 5, 1, "", "ERROR"], [20, 5, 1, "", "FULFILLED"], [20, 5, 1, "", "NEED_RELEASE"], [20, 5, 1, "", "PENDING"], [20, 5, 1, "", "RELEASED"]], "alab_management.resource_manager.resource_manager": [[21, 1, 1, "", "ResourceManager"]], "alab_management.resource_manager.resource_manager.ResourceManager": [[21, 2, 1, "", "handle_released_resources"], [21, 2, 1, "", "handle_requested_resources"], [21, 2, 1, "", "run"]], "alab_management.resource_manager.resource_requester": [[22, 6, 1, "", "CombinedTimeoutError"], [22, 1, 1, "", "DeviceRequest"], [22, 6, 1, "", "RequestCanceledError"], [22, 1, 1, "", "RequestMixin"], [22, 1, 1, "", "ResourceRequestItem"], [22, 1, 1, "", "ResourceRequester"], [22, 1, 1, "", "ResourcesRequest"]], "alab_management.resource_manager.resource_requester.DeviceRequest": [[22, 5, 1, "", "content"], [22, 5, 1, "", "identifier"], [22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"]], "alab_management.resource_manager.resource_requester.RequestMixin": [[22, 2, 1, "", "get_request"], [22, 2, 1, "", "get_requests_by_status"], [22, 2, 1, "", "get_requests_by_task_id"], [22, 2, 1, "", "update_request_status"]], "alab_management.resource_manager.resource_requester.ResourceRequestItem": [[22, 5, 1, "", "device"], [22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"], [22, 5, 1, "", "sample_positions"]], "alab_management.resource_manager.resource_requester.ResourceRequester": [[22, 2, 1, "", "get_concurrent_result"], [22, 2, 1, "", "release_all_resources"], [22, 2, 1, "", "release_resources"], [22, 2, 1, "", "request_resources"]], "alab_management.resource_manager.resource_requester.ResourcesRequest": [[22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"], [22, 2, 1, "", "preprocess"], [22, 5, 1, "", "root"]], "alab_management.sample_view": [[24, 0, 0, "-", "completed_sample_view"], [25, 0, 0, "-", "sample"], [26, 0, 0, "-", "sample_view"]], "alab_management.sample_view.completed_sample_view": [[24, 1, 1, "", "CompletedSampleView"]], "alab_management.sample_view.completed_sample_view.CompletedSampleView": [[24, 2, 1, "", "exists"], [24, 2, 1, "", "save_sample"]], "alab_management.sample_view.sample": [[25, 1, 1, "", "Sample"], [25, 1, 1, "", "SamplePosition"], [25, 3, 1, "", "add_standalone_sample_position"], [25, 3, 1, "", "get_all_standalone_sample_positions"]], "alab_management.sample_view.sample.Sample": [[25, 5, 1, "", "metadata"], [25, 5, 1, "", "name"], [25, 5, 1, "", "position"], [25, 5, 1, "", "sample_id"], [25, 5, 1, "", "tags"], [25, 5, 1, "", "task_id"]], "alab_management.sample_view.sample.SamplePosition": [[25, 5, 1, "", "SEPARATOR"], [25, 5, 1, "", "description"], [25, 5, 1, "", "name"], [25, 5, 1, "", "number"]], "alab_management.sample_view.sample_view": [[26, 1, 1, "", "SamplePositionRequest"], [26, 1, 1, "", "SamplePositionStatus"], [26, 1, 1, "", "SampleView"]], "alab_management.sample_view.sample_view.SamplePositionRequest": [[26, 2, 1, "", "from_py_type"], [26, 2, 1, "", "from_str"], [26, 5, 1, "", "model_computed_fields"], [26, 5, 1, "", "model_config"], [26, 5, 1, "", "model_fields"], [26, 5, 1, "", "number"], [26, 5, 1, "", "prefix"]], "alab_management.sample_view.sample_view.SamplePositionStatus": [[26, 5, 1, "", "EMPTY"], [26, 5, 1, "", "LOCKED"], [26, 5, 1, "", "OCCUPIED"]], "alab_management.sample_view.sample_view.SampleView": [[26, 2, 1, "", "add_sample_positions_to_db"], [26, 2, 1, "", "clean_up_sample_position_collection"], [26, 2, 1, "", "create_sample"], [26, 2, 1, "", "exists"], [26, 2, 1, "", "get_available_sample_position"], [26, 2, 1, "", "get_sample"], [26, 2, 1, "", "get_sample_position"], [26, 2, 1, "", "get_sample_position_parent_device"], [26, 2, 1, "", "get_sample_position_status"], [26, 2, 1, "", "get_sample_positions_by_task"], [26, 2, 1, "", "get_samples_on_device"], [26, 2, 1, "", "is_locked_position"], [26, 2, 1, "", "is_unoccupied_position"], [26, 2, 1, "", "lock_sample_position"], [26, 2, 1, "", "move_sample"], [26, 2, 1, "", "release_sample_position"], [26, 2, 1, "", "request_sample_positions"], [26, 2, 1, "", "update_sample_metadata"], [26, 2, 1, "", "update_sample_task_id"]], "alab_management.task_manager": [[29, 0, 0, "-", "task_manager"]], "alab_management.task_manager.task_manager": [[29, 1, 1, "", "TaskManager"]], "alab_management.task_manager.task_manager.TaskManager": [[29, 2, 1, "", "clean_up_tasks_from_previous_runs"], [29, 2, 1, "", "handle_tasks_to_be_canceled"], [29, 2, 1, "", "run"], [29, 2, 1, "", "submit_ready_tasks"]], "alab_management.task_view": [[31, 0, 0, "-", "completed_task_view"], [32, 0, 0, "-", "task"], [33, 0, 0, "-", "task_enums"], [34, 0, 0, "-", "task_view"]], "alab_management.task_view.completed_task_view": [[31, 1, 1, "", "CompletedTaskView"]], "alab_management.task_view.completed_task_view.CompletedTaskView": [[31, 2, 1, "", "exists"], [31, 2, 1, "", "get_task"], [31, 2, 1, "", "save_task"]], "alab_management.task_view.task": [[32, 1, 1, "", "BaseTask"], [32, 1, 1, "", "LargeResult"], [32, 3, 1, "", "add_reroute_task"], [32, 3, 1, "", "add_task"], [32, 3, 1, "", "get_all_tasks"], [32, 3, 1, "", "get_task_by_name"]], "alab_management.task_view.task.BaseTask": [[32, 2, 1, "", "add_to"], [32, 2, 1, "", "from_kwargs"], [32, 2, 1, "", "get_message"], [32, 4, 1, "", "is_offline"], [32, 4, 1, "", "priority"], [32, 4, 1, "", "result_specification"], [32, 2, 1, "", "run"], [32, 2, 1, "", "run_subtask"], [32, 4, 1, "", "samples"], [32, 2, 1, "", "set_message"], [32, 2, 1, "", "validate"]], "alab_management.task_view.task.LargeResult": [[32, 2, 1, "", "check_file_like_data"], [32, 2, 1, "", "check_if_stored"], [32, 5, 1, "", "file_like_data"], [32, 2, 1, "", "from_file_like_data"], [32, 2, 1, "", "from_local_file"], [32, 5, 1, "", "identifier"], [32, 5, 1, "", "local_path"], [32, 5, 1, "", "model_computed_fields"], [32, 5, 1, "", "model_config"], [32, 5, 1, "", "model_fields"], [32, 2, 1, "", "retrieve"], [32, 5, 1, "", "storage_type"], [32, 2, 1, "", "store"]], "alab_management.task_view.task_enums": [[33, 1, 1, "", "CancelingProgress"], [33, 1, 1, "", "TaskPriority"], [33, 1, 1, "", "TaskStatus"]], "alab_management.task_view.task_enums.CancelingProgress": [[33, 5, 1, "", "PENDING"], [33, 5, 1, "", "WORKER_NOTIFIED"]], "alab_management.task_view.task_enums.TaskPriority": [[33, 5, 1, "", "HIGH"], [33, 5, 1, "", "LOW"], [33, 5, 1, "", "NORMAL"], [33, 5, 1, "", "SYSTEM"], [33, 5, 1, "", "URGENT"]], "alab_management.task_view.task_enums.TaskStatus": [[33, 5, 1, "", "CANCELLED"], [33, 5, 1, "", "COMPLETED"], [33, 5, 1, "", "ERROR"], [33, 5, 1, "", "FINISHING"], [33, 5, 1, "", "INITIATED"], [33, 5, 1, "", "READY"], [33, 5, 1, "", "REQUESTING_RESOURCES"], [33, 5, 1, "", "RUNNING"], [33, 5, 1, "", "WAITING"]], "alab_management.task_view.task_view": [[34, 1, 1, "", "TaskView"]], "alab_management.task_view.task_view.TaskView": [[34, 2, 1, "", "create_subtask"], [34, 2, 1, "", "create_task"], [34, 2, 1, "", "encode_task"], [34, 2, 1, "", "exists"], [34, 2, 1, "", "get_ready_tasks"], [34, 2, 1, "", "get_status"], [34, 2, 1, "", "get_task"], [34, 2, 1, "", "get_task_with_sample"], [34, 2, 1, "", "get_tasks_by_status"], [34, 2, 1, "", "get_tasks_to_be_canceled"], [34, 2, 1, "", "mark_task_as_canceling"], [34, 2, 1, "", "set_message"], [34, 2, 1, "", "set_task_actor_id"], [34, 2, 1, "", "try_to_mark_task_ready"], [34, 2, 1, "", "update_canceling_progress"], [34, 2, 1, "", "update_result"], [34, 2, 1, "", "update_status"], [34, 2, 1, "", "update_subtask_result"], [34, 2, 1, "", "update_subtask_status"], [34, 2, 1, "", "update_task_dependency"]], "alab_management.user_input": [[35, 1, 1, "", "UserInputView"], [35, 1, 1, "", "UserRequestStatus"], [35, 3, 1, "", "request_maintenance_input"], [35, 3, 1, "", "request_user_input"], [35, 3, 1, "", "request_user_input_with_note"]], "alab_management.user_input.UserInputView": [[35, 2, 1, "", "clean_up_user_input_collection"], [35, 2, 1, "", "get_all_pending_requests"], [35, 2, 1, "", "get_request"], [35, 2, 1, "", "insert_request"], [35, 2, 1, "", "retrieve_user_input"], [35, 2, 1, "", "retrieve_user_input_with_note"], [35, 2, 1, "", "update_request_status"]], "alab_management.user_input.UserRequestStatus": [[35, 5, 1, "", "ERROR"], [35, 5, 1, "", "FULLFILLED"], [35, 5, 1, "", "PENDING"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:property", "5": "py:attribute", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "property", "Python property"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"advanc": [0, 44], "topic": 0, "alab_manag": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 41], "packag": [1, 3, 8, 13, 19, 23, 28, 30], "subpackag": 1, "submodul": [1, 3, 8, 13, 19, 23, 28, 30], "modul": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 39], "content": [1, 3, 8, 13, 19, 23, 28, 30], "alarm": 2, "builder": [3, 4, 5, 44], "experimentbuild": 4, "samplebuild": 5, "config": [6, 42, 43], "device_manag": 7, "device_view": [8, 9, 10, 11], "dbattribut": 9, "devic": [10, 36, 38, 46], "experiment_manag": 12, "experiment_view": [13, 14, 15, 16], "completed_experiment_view": 14, "experi": [15, 39, 44], "lab_view": 17, "logger": 18, "resource_manag": [19, 20, 21, 22], "enum": 20, "resource_request": 22, "sample_view": [23, 24, 25, 26], "completed_sample_view": 24, "sampl": [25, 36, 38, 44, 45], "task_actor": 27, "task_manag": [28, 29], "task_view": [30, 31, 32, 33, 34], "completed_task_view": 31, "task": [32, 39, 44, 45], "task_enum": 33, "user_input": 35, "best": 36, "practic": 36, "1": 36, "minim": 36, "durat": 36, "time": 36, "sensit": 36, "exampl": [36, 44, 46], "system": [36, 37], "solut": 36, "implement": [36, 38], "2": 36, "share": 36, "instrument": 36, "between": 36, "autom": [36, 47], "workflow": 36, "manual": 36, "usag": 36, "case": 36, "studi": 36, "sem": 36, "paus": 36, "3": 36, "cancel": 36, "remov": 36, "them": 36, "out": 36, "gracefulli": 36, "develop": 37, "environ": 37, "setup": 37, "ci": 37, "git": 37, "commit": 37, "rule": 37, "defin": [38, 45], "posit": 38, "boxfurnac": [38, 46], "all": 38, "abstract": 38, "method": [38, 45], "interfac": 38, "set": [38, 42, 43, 45], "up": [38, 42, 43], "messag": [38, 45], "error": [38, 45], "handl": [38, 45], "mock": [38, 45], "regist": [38, 45], "standalon": 38, "what": [38, 40, 42, 45], "": [38, 40, 42, 45], "next": [38, 40, 42, 45], "overview": 39, "terminologi": 39, "lab": [39, 43], "statu": [39, 44], "manag": 39, "actor": 39, "data": 39, "storag": [39, 45], "indic": 39, "tabl": 39, "instal": 40, "prerequisit": 40, "mongodb": 40, "rabbitmq": 40, "via": [40, 42, 44], "pip": 40, "from": 40, "sourc": 40, "code": 40, "configur": 42, "folder": 42, "initi": 42, "project": 42, "command": 42, "line": 42, "structur": [42, 47], "file": [42, 43, 45], "launch": 43, "enabl": 43, "simul": 43, "mode": 43, "locat": 43, "clean": 43, "start": 43, "worker": 43, "summari": 43, "submit": 44, "synthesi": [44, 47], "class": [44, 46], "add": 44, "build": 44, "alab": [44, 46], "16": 44, "see": 44, "check": 44, "api": 44, "submiss": 44, "paramet": 45, "valid": 45, "run": 45, "under": 45, "request": 45, "resourc": 45, "result": 45, "larg": 45, "output": 45, "dashboard": 45, "subtask": 45, "unhandl": 45, "lifecycl": 45, "test": 46, "definit": 46, "methodologi": 46, "fixtur": 46, "tutori": 47, "solid": 47, "state": 47, "The": 47}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Advance Topics": [[0, "advance-topics"]], "alab_management package": [[1, "alab-management-package"]], "Subpackages": [[1, "subpackages"]], "Submodules": [[1, "submodules"], [3, "submodules"], [8, "submodules"], [13, "submodules"], [19, "submodules"], [23, "submodules"], [28, "submodules"], [30, "submodules"]], "Module contents": [[1, "module-alab_management"], [3, "module-alab_management.builders"], [8, "module-alab_management.device_view"], [13, "module-alab_management.experiment_view"], [19, "module-alab_management.resource_manager"], [23, "module-alab_management.sample_view"], [28, "module-alab_management.task_manager"], [30, "module-alab_management.task_view"]], "alab_management.alarm module": [[2, "module-alab_management.alarm"]], "alab_management.builders package": [[3, "alab-management-builders-package"]], "alab_management.builders.experimentbuilder module": [[4, "module-alab_management.builders.experimentbuilder"]], "alab_management.builders.samplebuilder module": [[5, "module-alab_management.builders.samplebuilder"]], "alab_management.config module": [[6, "module-alab_management.config"]], "alab_management.device_manager module": [[7, "module-alab_management.device_manager"]], "alab_management.device_view package": [[8, "alab-management-device-view-package"]], "alab_management.device_view.dbattributes module": [[9, "module-alab_management.device_view.dbattributes"]], "alab_management.device_view.device module": [[10, "module-alab_management.device_view.device"]], "alab_management.device_view.device_view module": [[11, "module-alab_management.device_view.device_view"]], "alab_management.experiment_manager module": [[12, "module-alab_management.experiment_manager"]], "alab_management.experiment_view package": [[13, "alab-management-experiment-view-package"]], "alab_management.experiment_view.completed_experiment_view module": [[14, "module-alab_management.experiment_view.completed_experiment_view"]], "alab_management.experiment_view.experiment module": [[15, "module-alab_management.experiment_view.experiment"]], "alab_management.experiment_view.experiment_view module": [[16, "module-alab_management.experiment_view.experiment_view"]], "alab_management.lab_view module": [[17, "module-alab_management.lab_view"]], "alab_management.logger module": [[18, "module-alab_management.logger"]], "alab_management.resource_manager package": [[19, "alab-management-resource-manager-package"]], "alab_management.resource_manager.enums module": [[20, "module-alab_management.resource_manager.enums"]], "alab_management.resource_manager.resource_manager module": [[21, "module-alab_management.resource_manager.resource_manager"]], "alab_management.resource_manager.resource_requester module": [[22, "module-alab_management.resource_manager.resource_requester"]], "alab_management.sample_view package": [[23, "alab-management-sample-view-package"]], "alab_management.sample_view.completed_sample_view module": [[24, "module-alab_management.sample_view.completed_sample_view"]], "alab_management.sample_view.sample module": [[25, "module-alab_management.sample_view.sample"]], "alab_management.sample_view.sample_view module": [[26, "module-alab_management.sample_view.sample_view"]], "alab_management.task_actor module": [[27, "alab-management-task-actor-module"]], "alab_management.task_manager package": [[28, "alab-management-task-manager-package"]], "alab_management.task_manager.task_manager module": [[29, "module-alab_management.task_manager.task_manager"]], "alab_management.task_view package": [[30, "alab-management-task-view-package"]], "alab_management.task_view.completed_task_view module": [[31, "module-alab_management.task_view.completed_task_view"]], "alab_management.task_view.task module": [[32, "module-alab_management.task_view.task"]], "alab_management.task_view.task_enums module": [[33, "module-alab_management.task_view.task_enums"]], "alab_management.task_view.task_view module": [[34, "module-alab_management.task_view.task_view"]], "alab_management.user_input module": [[35, "module-alab_management.user_input"]], "Best Practices": [[36, "best-practices"]], "1. Minimizing duration for time-sensitive samples": [[36, "minimizing-duration-for-time-sensitive-samples"]], "Example system:": [[36, "example-system"]], "Solution implementation for the system:": [[36, "solution-implementation-for-the-system"]], "2. Sharing device/instrument between automated workflow and manual usage": [[36, "sharing-device-instrument-between-automated-workflow-and-manual-usage"]], "Case study: SEM": [[36, "case-study-sem"]], "Solution: Pausing SEM": [[36, "solution-pausing-sem"]], "3. Cancelling samples and removing them out of the automated workflow gracefully": [[36, "cancelling-samples-and-removing-them-out-of-the-automated-workflow-gracefully"]], "Development": [[37, "development"]], "Development Environment Setup": [[37, "development-environment-setup"]], "CI System": [[37, "ci-system"]], "Git commit rules": [[37, "git-commit-rules"]], "Defining devices and sample positions": [[38, "defining-devices-and-sample-positions"]], "Implementing BoxFurnace": [[38, "implementing-boxfurnace"]], "Implementing all abstract methods": [[38, "implementing-all-abstract-methods"]], "Defining the device interface": [[38, "defining-the-device-interface"]], "Setting up the message": [[38, "setting-up-the-message"]], "Error handling": [[38, "error-handling"], [45, "error-handling"]], "Mocking the device": [[38, "mocking-the-device"]], "Registering the device": [[38, "registering-the-device"]], "Registering standalone sample positions": [[38, "registering-standalone-sample-positions"]], "What\u2019s next": [[38, "what-s-next"], [40, "what-s-next"], [42, "what-s-next"], [45, "what-s-next"]], "Overview": [[39, "overview"]], "Terminology": [[39, "terminology"]], "Modules": [[39, "modules"]], "Lab status": [[39, "lab-status"]], "Experiment manager": [[39, "experiment-manager"]], "Task manager": [[39, "task-manager"]], "Task actor": [[39, "task-actor"]], "Data Storage": [[39, "data-storage"]], "Indices and tables": [[39, "indices-and-tables"]], "Installation": [[40, "installation"]], "Prerequisites": [[40, "prerequisites"]], "MongoDB": [[40, "mongodb"]], "RabbitMQ": [[40, "rabbitmq"]], "Install via pip": [[40, "install-via-pip"]], "Install from source code": [[40, "install-from-source-code"]], "alab_management": [[41, "alab-management"]], "Set up configuration folder": [[42, "set-up-configuration-folder"]], "Initiate a project via command line": [[42, "initiate-a-project-via-command-line"]], "Folder structure": [[42, "folder-structure"]], "Config file": [[42, "config-file"]], "Launching lab": [[43, "launching-lab"]], "Enable simulation mode": [[43, "enable-simulation-mode"]], "Config file location": [[43, "config-file-location"]], "Set up / clean up the lab": [[43, "set-up-clean-up-the-lab"]], "Start the lab and the worker": [[43, "start-the-lab-and-the-worker"]], "Summary": [[43, "summary"]], "Submitting the synthesis experiments": [[44, "submitting-the-synthesis-experiments"]], "Builder class": [[44, "builder-class"]], "Add samples": [[44, "add-samples"]], "Add tasks": [[44, "add-tasks"]], "Add task to the sample": [[44, "add-task-to-the-sample"]], "Example: Build the alab experiment with 16 samples": [[44, "example-build-the-alab-experiment-with-16-samples"]], "Submit the experiment": [[44, "submit-the-experiment"]], "See the status of the experiment": [[44, "see-the-status-of-the-experiment"]], "Check the status via API": [[44, "check-the-status-via-api"]], "Advanced submission": [[44, "advanced-submission"]], "Defining tasks": [[45, "defining-tasks"]], "Task parameters": [[45, "task-parameters"]], "Parameter validation": [[45, "parameter-validation"]], "Run method": [[45, "run-method"]], "Samples under the task": [[45, "samples-under-the-task"]], "Requesting resources": [[45, "requesting-resources"]], "Result storage": [[45, "result-storage"]], "Large file storage": [[45, "large-file-storage"]], "Validate the output": [[45, "validate-the-output"]], "Set dashboard message": [[45, "set-dashboard-message"]], "Run subtask": [[45, "run-subtask"]], "Unhandled error": [[45, "unhandled-error"]], "Mocking": [[45, "mocking"]], "Register the task": [[45, "register-the-task"]], "Lifecycle of a task": [[45, "lifecycle-of-a-task"]], "Testing for Alab Definition": [[46, "testing-for-alab-definition"]], "Methodology": [[46, "methodology"]], "Example": [[46, "example"]], "Device Class: BoxFurnace": [[46, "device-class-boxfurnace"]], "Fixtures": [[46, "fixtures"]], "Tests": [[46, "tests"]], "Tutorial": [[47, "tutorial"]], "Automated solid-state synthesis": [[47, "automated-solid-state-synthesis"]], "The structure of the tutorial": [[47, "the-structure-of-the-tutorial"]]}, "indexentries": {"alab_management": [[1, "module-alab_management"]], "module": [[1, "module-alab_management"], [2, "module-alab_management.alarm"], [3, "module-alab_management.builders"], [4, "module-alab_management.builders.experimentbuilder"], [5, "module-alab_management.builders.samplebuilder"], [6, "module-alab_management.config"], [7, "module-alab_management.device_manager"], [8, "module-alab_management.device_view"], [9, "module-alab_management.device_view.dbattributes"], [10, "module-alab_management.device_view.device"], [11, "module-alab_management.device_view.device_view"], [12, "module-alab_management.experiment_manager"], [13, "module-alab_management.experiment_view"], [14, "module-alab_management.experiment_view.completed_experiment_view"], [15, "module-alab_management.experiment_view.experiment"], [16, "module-alab_management.experiment_view.experiment_view"], [17, "module-alab_management.lab_view"], [18, "module-alab_management.logger"], [19, "module-alab_management.resource_manager"], [20, "module-alab_management.resource_manager.enums"], [21, "module-alab_management.resource_manager.resource_manager"], [22, "module-alab_management.resource_manager.resource_requester"], [23, "module-alab_management.sample_view"], [24, "module-alab_management.sample_view.completed_sample_view"], [25, "module-alab_management.sample_view.sample"], [26, "module-alab_management.sample_view.sample_view"], [28, "module-alab_management.task_manager"], [29, "module-alab_management.task_manager.task_manager"], [30, "module-alab_management.task_view"], [31, "module-alab_management.task_view.completed_task_view"], [32, "module-alab_management.task_view.task"], [33, "module-alab_management.task_view.task_enums"], [34, "module-alab_management.task_view.task_view"], [35, "module-alab_management.user_input"]], "alarm (class in alab_management.alarm)": [[2, "alab_management.alarm.Alarm"]], "alab_management.alarm": [[2, "module-alab_management.alarm"]], "alert() (alarm method)": [[2, "alab_management.alarm.Alarm.alert"]], "format_message_to_codeblock() (in module alab_management.alarm)": [[2, "alab_management.alarm.format_message_to_codeblock"]], "send_email() (alarm method)": [[2, "alab_management.alarm.Alarm.send_email"]], "send_slack_notification() (alarm method)": [[2, "alab_management.alarm.Alarm.send_slack_notification"]], "setup_email() (alarm method)": [[2, "alab_management.alarm.Alarm.setup_email"]], "setup_slackbot() (alarm method)": [[2, "alab_management.alarm.Alarm.setup_slackbot"]], "alab_management.builders": [[3, "module-alab_management.builders"]], "experimentbuilder (class in alab_management.builders.experimentbuilder)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder"]], "add_sample() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.add_sample"]], "add_task() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.add_task"]], "alab_management.builders.experimentbuilder": [[4, "module-alab_management.builders.experimentbuilder"]], "generate_input_file() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.generate_input_file"]], "get_experiment_status() (in module alab_management.builders.experimentbuilder)": [[4, "alab_management.builders.experimentbuilder.get_experiment_status"]], "plot() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.plot"]], "submit() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.submit"]], "to_dict() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.to_dict"]], "samplebuilder (class in alab_management.builders.samplebuilder)": [[5, "alab_management.builders.samplebuilder.SampleBuilder"]], "add_task() (samplebuilder method)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.add_task"]], "alab_management.builders.samplebuilder": [[5, "module-alab_management.builders.samplebuilder"]], "tasks (samplebuilder property)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.tasks"]], "to_dict() (samplebuilder method)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.to_dict"]], "alabosconfig (class in alab_management.config)": [[6, "alab_management.config.AlabOSConfig"]], "alab_management.config": [[6, "module-alab_management.config"]], "freeze_config() (in module alab_management.config)": [[6, "alab_management.config.freeze_config"]], "get() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.get"]], "is_sim_mode() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.is_sim_mode"]], "path (alabosconfig property)": [[6, "alab_management.config.AlabOSConfig.path"]], "set_item() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.set_item"]], "devicemanager (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceManager"]], "devicemethodcallstate (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceMethodCallState"]], "devicewrapper (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceWrapper"]], "devicewrapper.devicemethodwrapper (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper"]], "devicesclient (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DevicesClient"]], "failure (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.FAILURE"]], "in_progress (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.IN_PROGRESS"]], "methodcallstatus (class in alab_management.device_manager)": [[7, "alab_management.device_manager.MethodCallStatus"]], "pending (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.PENDING"]], "success (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.SUCCESS"]], "alab_management.device_manager": [[7, "module-alab_management.device_manager"]], "call() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.call"]], "create_device_wrapper() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.create_device_wrapper"]], "future (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.future"]], "last_updated (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.last_updated"]], "method (devicewrapper.devicemethodwrapper property)": [[7, "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper.method"]], "name (devicewrapper property)": [[7, "alab_management.device_manager.DeviceWrapper.name"]], "on_message() (devicemanager method)": [[7, "alab_management.device_manager.DeviceManager.on_message"]], "on_message() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.on_message"]], "run() (devicemanager method)": [[7, "alab_management.device_manager.DeviceManager.run"]], "status (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.status"]], "alab_management.device_view": [[8, "module-alab_management.device_view"]], "dictindatabase (class in alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.DictInDatabase"]], "listindatabase (class in alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.ListInDatabase"]], "alab_management.device_view.dbattributes": [[9, "module-alab_management.device_view.dbattributes"]], "append() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.append"]], "apply_default_value() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.apply_default_value"]], "apply_default_value() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.apply_default_value"]], "as_normal_dict() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.as_normal_dict"]], "clear() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.clear"]], "clear() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.clear"]], "copy() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.copy"]], "copy() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.copy"]], "count() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.count"]], "db_filter (dictindatabase property)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.db_filter"]], "db_filter (listindatabase property)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.db_filter"]], "db_projection (dictindatabase property)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.db_projection"]], "db_projection (listindatabase property)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.db_projection"]], "extend() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.extend"]], "fromkeys() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.fromkeys"]], "get() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.get"]], "index() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.index"]], "insert() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.insert"]], "items() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.items"]], "keys() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.keys"]], "pop() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.pop"]], "pop() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.pop"]], "popitem() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.popitem"]], "remove() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.remove"]], "reverse() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.reverse"]], "setdefault() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.setdefault"]], "sort() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.sort"]], "update() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.update"]], "value_in_database() (in module alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.value_in_database"]], "values() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.values"]], "basedevice (class in alab_management.device_view.device)": [[10, "alab_management.device_view.device.BaseDevice"]], "devicesignalemitter (class in alab_management.device_view.device)": [[10, "alab_management.device_view.device.DeviceSignalEmitter"]], "add_device() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.add_device"]], "alab_management.device_view.device": [[10, "module-alab_management.device_view.device"]], "args (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.args"]], "connect() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.connect"]], "description (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.description"]], "description (basedevice property)": [[10, "id0"]], "dict_in_database() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.dict_in_database"]], "disconnect() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.disconnect"]], "get_all_devices() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.get_all_devices"]], "get_message() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.get_message"]], "get_methods_to_log() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.get_methods_to_log"]], "is_running() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.is_running"]], "kwargs (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.kwargs"]], "list_in_database() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.list_in_database"]], "log_method_to_db() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.log_method_to_db"]], "log_signal() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.log_signal"]], "mock() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.mock"]], "name (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.name"]], "request_maintenance() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.request_maintenance"]], "retrieve_signal() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.retrieve_signal"]], "retrieve_signal() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.retrieve_signal"]], "sample_positions (basedevice property)": [[10, "alab_management.device_view.device.BaseDevice.sample_positions"]], "set_message() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.set_message"]], "start() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.start"]], "stop() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.stop"]], "deviceconnectionerror": [[11, "alab_management.device_view.device_view.DeviceConnectionError"]], "devicepausestatus (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DevicePauseStatus"]], "devicetaskstatus (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus"]], "deviceview (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DeviceView"]], "error (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.ERROR"]], "idle (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.IDLE"]], "occupied (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.OCCUPIED"]], "paused (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.PAUSED"]], "released (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.RELEASED"]], "requested (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.REQUESTED"]], "unknown (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.UNKNOWN"]], "add_devices_to_db() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.add_devices_to_db"]], "alab_management.device_view.device_view": [[11, "module-alab_management.device_view.device_view"]], "execute_command() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.execute_command"]], "get_all() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_all"]], "get_all_attributes() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_all_attributes"]], "get_attribute() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_attribute"]], "get_available_devices() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_available_devices"]], "get_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_device"]], "get_devices_by_task() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_devices_by_task"]], "get_message() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_message"]], "get_sample_on_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_sample_on_device"]], "get_status() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_status"]], "occupy_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.occupy_device"]], "pause_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.pause_device"]], "query_property() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.query_property"]], "release_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.release_device"]], "request_devices() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.request_devices"]], "set_all_attributes() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_all_attributes"]], "set_attribute() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_attribute"]], "set_message() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_message"]], "sync_device_status() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.sync_device_status"]], "unpause_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.unpause_device"]], "experimentmanager (class in alab_management.experiment_manager)": [[12, "alab_management.experiment_manager.ExperimentManager"]], "alab_management.experiment_manager": [[12, "module-alab_management.experiment_manager"]], "handle_pending_experiments() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.handle_pending_experiments"]], "mark_completed_experiments() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.mark_completed_experiments"]], "run() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.run"]], "alab_management.experiment_view": [[13, "module-alab_management.experiment_view"]], "completedexperimentview (class in alab_management.experiment_view.completed_experiment_view)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView"]], "alab_management.experiment_view.completed_experiment_view": [[14, "module-alab_management.experiment_view.completed_experiment_view"]], "exists() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.exists"]], "get_experiment() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.get_experiment"]], "save_all() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.save_all"]], "save_experiment() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.save_experiment"]], "inputexperiment (class in alab_management.experiment_view.experiment)": [[15, "alab_management.experiment_view.experiment.InputExperiment"]], "alab_management.experiment_view.experiment": [[15, "module-alab_management.experiment_view.experiment"]], "metadata (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.metadata"]], "model_computed_fields (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_computed_fields"]], "model_config (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_config"]], "model_fields (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_fields"]], "must_be_bsonable() (inputexperiment class method)": [[15, "alab_management.experiment_view.experiment.InputExperiment.must_be_bsonable"]], "name (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.name"]], "samples (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.samples"]], "tags (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.tags"]], "tasks (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.tasks"]], "completed (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.COMPLETED"]], "error (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.ERROR"]], "experimentstatus (class in alab_management.experiment_view.experiment_view)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus"]], "experimentview (class in alab_management.experiment_view.experiment_view)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView"]], "pending (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.PENDING"]], "running (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.RUNNING"]], "alab_management.experiment_view.experiment_view": [[16, "module-alab_management.experiment_view.experiment_view"]], "create_experiment() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.create_experiment"]], "get_experiment() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment"]], "get_experiment_by_sample_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment_by_sample_id"]], "get_experiment_by_task_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment_by_task_id"]], "get_experiments_with_status() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiments_with_status"]], "update_experiment_status() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.update_experiment_status"]], "update_sample_task_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.update_sample_task_id"]], "devicerunningexception": [[17, "alab_management.lab_view.DeviceRunningException"]], "labview (class in alab_management.lab_view)": [[17, "alab_management.lab_view.LabView"]], "alab_management.lab_view": [[17, "module-alab_management.lab_view"]], "get_locked_sample_positions() (labview method)": [[17, "alab_management.lab_view.LabView.get_locked_sample_positions"]], "get_sample() (labview method)": [[17, "alab_management.lab_view.LabView.get_sample"]], "get_sample_position_parent_device() (labview method)": [[17, "alab_management.lab_view.LabView.get_sample_position_parent_device"]], "move_sample() (labview method)": [[17, "alab_management.lab_view.LabView.move_sample"]], "priority (labview property)": [[17, "alab_management.lab_view.LabView.priority"]], "request_cleanup() (labview method)": [[17, "alab_management.lab_view.LabView.request_cleanup"]], "request_resources() (labview method)": [[17, "alab_management.lab_view.LabView.request_resources"]], "request_user_input() (labview method)": [[17, "alab_management.lab_view.LabView.request_user_input"]], "request_user_input_with_note() (labview method)": [[17, "alab_management.lab_view.LabView.request_user_input_with_note"]], "run_subtask() (labview method)": [[17, "alab_management.lab_view.LabView.run_subtask"]], "task_id (labview property)": [[17, "alab_management.lab_view.LabView.task_id"]], "update_result() (labview method)": [[17, "alab_management.lab_view.LabView.update_result"]], "update_sample_metadata() (labview method)": [[17, "alab_management.lab_view.LabView.update_sample_metadata"]], "characterization_result (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.CHARACTERIZATION_RESULT"]], "critical (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.CRITICAL"]], "dblogger (class in alab_management.logger)": [[18, "alab_management.logger.DBLogger"]], "debug (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.DEBUG"]], "device_signal (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.DEVICE_SIGNAL"]], "error (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.ERROR"]], "fatal (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.FATAL"]], "info (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.INFO"]], "logginglevel (class in alab_management.logger)": [[18, "alab_management.logger.LoggingLevel"]], "loggingtype (class in alab_management.logger)": [[18, "alab_management.logger.LoggingType"]], "other (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.OTHER"]], "sample_amount (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.SAMPLE_AMOUNT"]], "system_log (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.SYSTEM_LOG"]], "warn (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.WARN"]], "warning (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.WARNING"]], "alab_management.logger": [[18, "module-alab_management.logger"]], "filter_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.filter_device_signal"]], "filter_log() (dblogger method)": [[18, "alab_management.logger.DBLogger.filter_log"]], "get_latest_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.get_latest_device_signal"]], "log() (dblogger method)": [[18, "alab_management.logger.DBLogger.log"]], "log_amount() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_amount"]], "log_characterization_result() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_characterization_result"]], "log_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_device_signal"]], "system_log() (dblogger method)": [[18, "alab_management.logger.DBLogger.system_log"]], "alab_management.resource_manager": [[19, "module-alab_management.resource_manager"]], "canceled (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.CANCELED"]], "error (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.ERROR"]], "fulfilled (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.FULFILLED"]], "need_release (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.NEED_RELEASE"]], "pending (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.PENDING"]], "released (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.RELEASED"]], "requeststatus (class in alab_management.resource_manager.enums)": [[20, "alab_management.resource_manager.enums.RequestStatus"]], "alab_management.resource_manager.enums": [[20, "module-alab_management.resource_manager.enums"]], "resourcemanager (class in alab_management.resource_manager.resource_manager)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager"]], "alab_management.resource_manager.resource_manager": [[21, "module-alab_management.resource_manager.resource_manager"]], "handle_released_resources() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.handle_released_resources"]], "handle_requested_resources() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.handle_requested_resources"]], "run() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.run"]], "combinedtimeouterror": [[22, "alab_management.resource_manager.resource_requester.CombinedTimeoutError"]], "devicerequest (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest"]], "requestcancelederror": [[22, "alab_management.resource_manager.resource_requester.RequestCanceledError"]], "requestmixin (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin"]], "resourcerequestitem (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem"]], "resourcerequester (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester"]], "resourcesrequest (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest"]], "alab_management.resource_manager.resource_requester": [[22, "module-alab_management.resource_manager.resource_requester"]], "content (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.content"]], "device (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.device"]], "get_concurrent_result() (resourcerequester static method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.get_concurrent_result"]], "get_request() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_request"]], "get_requests_by_status() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_requests_by_status"]], "get_requests_by_task_id() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_requests_by_task_id"]], "identifier (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.identifier"]], "model_computed_fields (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_computed_fields"]], "model_computed_fields (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_computed_fields"]], "model_computed_fields (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_computed_fields"]], "model_config (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_config"]], "model_config (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_config"]], "model_config (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_config"]], "model_fields (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_fields"]], "model_fields (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_fields"]], "model_fields (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_fields"]], "preprocess() (resourcesrequest class method)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.preprocess"]], "release_all_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.release_all_resources"]], "release_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.release_resources"]], "request_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.request_resources"]], "root (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.root"]], "sample_positions (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.sample_positions"]], "update_request_status() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.update_request_status"]], "alab_management.sample_view": [[23, "module-alab_management.sample_view"]], "completedsampleview (class in alab_management.sample_view.completed_sample_view)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView"]], "alab_management.sample_view.completed_sample_view": [[24, "module-alab_management.sample_view.completed_sample_view"]], "exists() (completedsampleview method)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView.exists"]], "save_sample() (completedsampleview method)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView.save_sample"]], "separator (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.SEPARATOR"]], "sample (class in alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.Sample"]], "sampleposition (class in alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.SamplePosition"]], "add_standalone_sample_position() (in module alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.add_standalone_sample_position"]], "alab_management.sample_view.sample": [[25, "module-alab_management.sample_view.sample"]], "description (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.description"]], "get_all_standalone_sample_positions() (in module alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.get_all_standalone_sample_positions"]], "metadata (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.metadata"]], "name (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.name"]], "name (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.name"]], "number (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.number"]], "position (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.position"]], "sample_id (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.sample_id"]], "tags (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.tags"]], "task_id (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.task_id"]], "empty (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.EMPTY"]], "locked (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.LOCKED"]], "occupied (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.OCCUPIED"]], "samplepositionrequest (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest"]], "samplepositionstatus (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus"]], "sampleview (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SampleView"]], "add_sample_positions_to_db() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.add_sample_positions_to_db"]], "alab_management.sample_view.sample_view": [[26, "module-alab_management.sample_view.sample_view"]], "clean_up_sample_position_collection() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.clean_up_sample_position_collection"]], "create_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.create_sample"]], "exists() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.exists"]], "from_py_type() (samplepositionrequest class method)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.from_py_type"]], "from_str() (samplepositionrequest class method)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.from_str"]], "get_available_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_available_sample_position"]], "get_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample"]], "get_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position"]], "get_sample_position_parent_device() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position_parent_device"]], "get_sample_position_status() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position_status"]], "get_sample_positions_by_task() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_positions_by_task"]], "get_samples_on_device() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_samples_on_device"]], "is_locked_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.is_locked_position"]], "is_unoccupied_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.is_unoccupied_position"]], "lock_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.lock_sample_position"]], "model_computed_fields (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_computed_fields"]], "model_config (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_config"]], "model_fields (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_fields"]], "move_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.move_sample"]], "number (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.number"]], "prefix (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.prefix"]], "release_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.release_sample_position"]], "request_sample_positions() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.request_sample_positions"]], "update_sample_metadata() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.update_sample_metadata"]], "update_sample_task_id() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.update_sample_task_id"]], "alab_management.task_manager": [[28, "module-alab_management.task_manager"]], "taskmanager (class in alab_management.task_manager.task_manager)": [[29, "alab_management.task_manager.task_manager.TaskManager"]], "alab_management.task_manager.task_manager": [[29, "module-alab_management.task_manager.task_manager"]], "clean_up_tasks_from_previous_runs() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.clean_up_tasks_from_previous_runs"]], "handle_tasks_to_be_canceled() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.handle_tasks_to_be_canceled"]], "run() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.run"]], "submit_ready_tasks() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.submit_ready_tasks"]], "alab_management.task_view": [[30, "module-alab_management.task_view"]], "completedtaskview (class in alab_management.task_view.completed_task_view)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView"]], "alab_management.task_view.completed_task_view": [[31, "module-alab_management.task_view.completed_task_view"]], "exists() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.exists"]], "get_task() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.get_task"]], "save_task() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.save_task"]], "basetask (class in alab_management.task_view.task)": [[32, "alab_management.task_view.task.BaseTask"]], "largeresult (class in alab_management.task_view.task)": [[32, "alab_management.task_view.task.LargeResult"]], "add_reroute_task() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.add_reroute_task"]], "add_task() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.add_task"]], "add_to() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.add_to"]], "alab_management.task_view.task": [[32, "module-alab_management.task_view.task"]], "check_file_like_data() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.check_file_like_data"]], "check_if_stored() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.check_if_stored"]], "file_like_data (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.file_like_data"]], "from_file_like_data() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.from_file_like_data"]], "from_kwargs() (basetask class method)": [[32, "alab_management.task_view.task.BaseTask.from_kwargs"]], "from_local_file() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.from_local_file"]], "get_all_tasks() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.get_all_tasks"]], "get_message() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.get_message"]], "get_task_by_name() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.get_task_by_name"]], "identifier (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.identifier"]], "is_offline (basetask property)": [[32, "alab_management.task_view.task.BaseTask.is_offline"]], "local_path (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.local_path"]], "model_computed_fields (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_computed_fields"]], "model_config (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_config"]], "model_fields (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_fields"]], "priority (basetask property)": [[32, "alab_management.task_view.task.BaseTask.priority"]], "result_specification (basetask property)": [[32, "alab_management.task_view.task.BaseTask.result_specification"]], "retrieve() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.retrieve"]], "run() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.run"]], "run_subtask() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.run_subtask"]], "samples (basetask property)": [[32, "alab_management.task_view.task.BaseTask.samples"]], "set_message() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.set_message"]], "storage_type (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.storage_type"]], "store() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.store"]], "validate() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.validate"]], "cancelled (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.CANCELLED"]], "completed (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.COMPLETED"]], "cancelingprogress (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.CancelingProgress"]], "error (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.ERROR"]], "finishing (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.FINISHING"]], "high (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.HIGH"]], "initiated (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.INITIATED"]], "low (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.LOW"]], "normal (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.NORMAL"]], "pending (cancelingprogress attribute)": [[33, "alab_management.task_view.task_enums.CancelingProgress.PENDING"]], "ready (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.READY"]], "requesting_resources (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.REQUESTING_RESOURCES"]], "running (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.RUNNING"]], "system (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.SYSTEM"]], "taskpriority (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.TaskPriority"]], "taskstatus (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.TaskStatus"]], "urgent (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.URGENT"]], "waiting (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.WAITING"]], "worker_notified (cancelingprogress attribute)": [[33, "alab_management.task_view.task_enums.CancelingProgress.WORKER_NOTIFIED"]], "alab_management.task_view.task_enums": [[33, "module-alab_management.task_view.task_enums"]], "taskview (class in alab_management.task_view.task_view)": [[34, "alab_management.task_view.task_view.TaskView"]], "alab_management.task_view.task_view": [[34, "module-alab_management.task_view.task_view"]], "create_subtask() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.create_subtask"]], "create_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.create_task"]], "encode_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.encode_task"]], "exists() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.exists"]], "get_ready_tasks() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_ready_tasks"]], "get_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_status"]], "get_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_task"]], "get_task_with_sample() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_task_with_sample"]], "get_tasks_by_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_tasks_by_status"]], "get_tasks_to_be_canceled() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_tasks_to_be_canceled"]], "mark_task_as_canceling() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.mark_task_as_canceling"]], "set_message() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.set_message"]], "set_task_actor_id() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.set_task_actor_id"]], "try_to_mark_task_ready() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.try_to_mark_task_ready"]], "update_canceling_progress() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_canceling_progress"]], "update_result() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_result"]], "update_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_status"]], "update_subtask_result() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_subtask_result"]], "update_subtask_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_subtask_status"]], "update_task_dependency() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_task_dependency"]], "error (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.ERROR"]], "fullfilled (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.FULLFILLED"]], "pending (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.PENDING"]], "userinputview (class in alab_management.user_input)": [[35, "alab_management.user_input.UserInputView"]], "userrequeststatus (class in alab_management.user_input)": [[35, "alab_management.user_input.UserRequestStatus"]], "alab_management.user_input": [[35, "module-alab_management.user_input"]], "clean_up_user_input_collection() (userinputview method)": [[35, "alab_management.user_input.UserInputView.clean_up_user_input_collection"]], "get_all_pending_requests() (userinputview method)": [[35, "alab_management.user_input.UserInputView.get_all_pending_requests"]], "get_request() (userinputview method)": [[35, "alab_management.user_input.UserInputView.get_request"]], "insert_request() (userinputview method)": [[35, "alab_management.user_input.UserInputView.insert_request"]], "request_maintenance_input() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_maintenance_input"]], "request_user_input() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_user_input"]], "request_user_input_with_note() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_user_input_with_note"]], "retrieve_user_input() (userinputview method)": [[35, "alab_management.user_input.UserInputView.retrieve_user_input"]], "retrieve_user_input_with_note() (userinputview method)": [[35, "alab_management.user_input.UserInputView.retrieve_user_input_with_note"]], "update_request_status() (userinputview method)": [[35, "alab_management.user_input.UserInputView.update_request_status"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["advance_topics", "alab_management", "alab_management.alarm", "alab_management.builders", "alab_management.builders.experimentbuilder", "alab_management.builders.samplebuilder", "alab_management.config", "alab_management.device_manager", "alab_management.device_view", "alab_management.device_view.dbattributes", "alab_management.device_view.device", "alab_management.device_view.device_view", "alab_management.experiment_manager", "alab_management.experiment_view", "alab_management.experiment_view.completed_experiment_view", "alab_management.experiment_view.experiment", "alab_management.experiment_view.experiment_view", "alab_management.lab_view", "alab_management.logger", "alab_management.resource_manager", "alab_management.resource_manager.enums", "alab_management.resource_manager.resource_manager", "alab_management.resource_manager.resource_requester", "alab_management.sample_view", "alab_management.sample_view.completed_sample_view", "alab_management.sample_view.sample", "alab_management.sample_view.sample_view", "alab_management.task_actor", "alab_management.task_manager", "alab_management.task_manager.task_manager", "alab_management.task_view", "alab_management.task_view.completed_task_view", "alab_management.task_view.task", "alab_management.task_view.task_enums", "alab_management.task_view.task_view", "alab_management.user_input", "best_practices", "development", "device_definition", "index", "installation", "modules", "setup", "start_lab", "submit_experiments", "task_definition", "test", "tutorial"], "filenames": ["advance_topics.md", "alab_management.rst", "alab_management.alarm.rst", "alab_management.builders.rst", "alab_management.builders.experimentbuilder.rst", "alab_management.builders.samplebuilder.rst", "alab_management.config.rst", "alab_management.device_manager.rst", "alab_management.device_view.rst", "alab_management.device_view.dbattributes.rst", "alab_management.device_view.device.rst", "alab_management.device_view.device_view.rst", "alab_management.experiment_manager.rst", "alab_management.experiment_view.rst", "alab_management.experiment_view.completed_experiment_view.rst", "alab_management.experiment_view.experiment.rst", "alab_management.experiment_view.experiment_view.rst", "alab_management.lab_view.rst", "alab_management.logger.rst", "alab_management.resource_manager.rst", "alab_management.resource_manager.enums.rst", "alab_management.resource_manager.resource_manager.rst", "alab_management.resource_manager.resource_requester.rst", "alab_management.sample_view.rst", "alab_management.sample_view.completed_sample_view.rst", "alab_management.sample_view.sample.rst", "alab_management.sample_view.sample_view.rst", "alab_management.task_actor.rst", "alab_management.task_manager.rst", "alab_management.task_manager.task_manager.rst", "alab_management.task_view.rst", "alab_management.task_view.completed_task_view.rst", "alab_management.task_view.task.rst", "alab_management.task_view.task_enums.rst", "alab_management.task_view.task_view.rst", "alab_management.user_input.rst", "best_practices.md", "development.rst", "device_definition.md", "index.rst", "installation.rst", "modules.rst", "setup.rst", "start_lab.md", "submit_experiments.md", "task_definition.md", "test.md", "tutorial.md"], "titles": ["Advance Topics", "alab_management package", "alab_management.alarm module", "alab_management.builders package", "alab_management.builders.experimentbuilder module", "alab_management.builders.samplebuilder module", "alab_management.config module", "alab_management.device_manager module", "alab_management.device_view package", "alab_management.device_view.dbattributes module", "alab_management.device_view.device module", "alab_management.device_view.device_view module", "alab_management.experiment_manager module", "alab_management.experiment_view package", "alab_management.experiment_view.completed_experiment_view module", "alab_management.experiment_view.experiment module", "alab_management.experiment_view.experiment_view module", "alab_management.lab_view module", "alab_management.logger module", "alab_management.resource_manager package", "alab_management.resource_manager.enums module", "alab_management.resource_manager.resource_manager module", "alab_management.resource_manager.resource_requester module", "alab_management.sample_view package", "alab_management.sample_view.completed_sample_view module", "alab_management.sample_view.sample module", "alab_management.sample_view.sample_view module", "alab_management.task_actor module", "alab_management.task_manager package", "alab_management.task_manager.task_manager module", "alab_management.task_view package", "alab_management.task_view.completed_task_view module", "alab_management.task_view.task module", "alab_management.task_view.task_enums module", "alab_management.task_view.task_view module", "alab_management.user_input module", "Best Practices", "Development", "Defining devices and sample positions", "Overview", "Installation", "alab_management", "Set up configuration folder", "Launching lab", "Submitting the synthesis experiments", "Defining tasks", "Testing for AlabOS Project", "Tutorial"], "terms": {"In": [0, 32, 36, 38, 39, 42, 44, 45, 46, 47], "thi": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 22, 24, 25, 26, 29, 31, 32, 34, 35, 36, 38, 39, 42, 43, 45, 46, 47], "section": [0, 45, 47], "we": [0, 10, 11, 15, 16, 18, 22, 26, 32, 34, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47], "discuss": 0, "some": [0, 10, 11, 18, 26, 29, 33, 34, 36, 38, 39, 42, 44, 45], "more": [0, 32, 36, 37, 38, 44, 45], "can": [0, 4, 6, 7, 10, 15, 17, 18, 25, 26, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46], "help": [0, 45, 46], "you": [0, 4, 5, 17, 22, 26, 32, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47], "better": [0, 44], "set": [0, 6, 9, 10, 11, 17, 26, 29, 32, 34, 37, 46, 47], "up": [0, 10, 11, 17, 22, 29, 33, 37, 44, 45, 46, 47], "lab": [0, 1, 10, 16, 17, 22, 25, 29, 32, 38, 40, 42, 44, 45, 47], "builder": [1, 32, 41], "experimentbuild": [1, 3, 32, 44], "get_experiment_statu": [1, 3, 4, 44], "samplebuild": [1, 3, 4, 32], "device_view": [1, 41, 46], "dbattribut": [1, 8], "dictindatabas": [1, 8, 9, 10], "listindatabas": [1, 8, 9, 10], "value_in_databas": [1, 8, 9], "devic": [1, 7, 8, 9, 11, 17, 18, 19, 22, 25, 26, 32, 39, 42, 43, 45, 47], "basedevic": [1, 8, 9, 10, 11, 38, 39, 45], "devicesignalemitt": [1, 8, 10], "add_devic": [1, 8, 10, 38], "get_all_devic": [1, 8, 10], "log_sign": [1, 8, 10], "mock": [1, 8, 10, 46], "deviceconnectionerror": [1, 8, 11], "devicepausestatu": [1, 8, 11], "devicetaskstatu": [1, 8, 11], "deviceview": [1, 8, 11], "experiment_view": [1, 41], "completed_experiment_view": [1, 13], "completedexperimentview": [1, 13, 14], "experi": [1, 3, 4, 5, 12, 13, 14, 16, 17, 32, 38, 42, 45, 47], "inputexperi": [1, 13, 15, 16], "experimentstatu": [1, 13, 16], "experimentview": [1, 13, 16], "resource_manag": [1, 41], "enum": [1, 7, 11, 16, 18, 19, 26, 33, 35, 45], "requeststatu": [1, 19, 20], "resourcemanag": [1, 19, 21], "resource_request": [1, 17, 19, 45], "combinedtimeouterror": [1, 19, 22], "devicerequest": [1, 19, 22], "requestcancelederror": [1, 19, 22], "requestmixin": [1, 19, 21, 22], "resourcerequestitem": [1, 19, 22], "resourcerequest": [1, 19, 22], "resourcesrequest": [1, 19, 22], "sample_view": [1, 41], "completed_sample_view": [1, 23], "completedsampleview": [1, 23, 24], "sampl": [1, 3, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 26, 29, 30, 32, 34, 35, 39, 42, 43, 46, 47], "sampleposit": [1, 10, 23, 25, 26, 38], "add_standalone_sample_posit": [1, 23, 25, 38], "get_all_standalone_sample_posit": [1, 23, 25], "samplepositionrequest": [1, 22, 23, 26], "samplepositionstatu": [1, 23, 26], "sampleview": [1, 11, 23, 26], "task_manag": [1, 41], "taskmanag": [1, 11, 21, 28, 29], "task_view": [1, 41, 42], "completed_task_view": [1, 30], "completedtaskview": [1, 30, 31], "task": [1, 3, 4, 5, 7, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 42, 43, 46, 47], "basetask": [1, 17, 30, 32, 34, 36, 39, 44, 45], "largeresult": [1, 30, 32, 42, 45], "add_reroute_task": [1, 30, 32], "add_task": [1, 3, 4, 5, 30, 32, 45], "get_all_task": [1, 30, 32], "get_task_by_nam": [1, 30, 32], "task_enum": [1, 30], "cancelingprogress": [1, 30, 33, 34], "taskprior": [1, 30, 32, 33, 36], "taskstatu": [1, 30, 33, 34, 45], "taskview": [1, 30, 34], "alarm": [1, 41, 42], "alert": [1, 2], "send_email": [1, 2], "send_slack_notif": [1, 2], "setup_email": [1, 2], "setup_slackbot": [1, 2], "format_message_to_codeblock": [1, 2, 41], "config": [1, 15, 22, 26, 32, 41, 46], "alabosconfig": [1, 6, 41], "get": [1, 4, 6, 7, 8, 9, 10, 11, 14, 16, 17, 18, 22, 25, 26, 31, 32, 34, 35, 38, 42, 44, 45, 46], "is_sim_mod": [1, 6], "path": [1, 6, 32, 43, 46], "set_item": [1, 6], "freeze_config": [1, 6, 41], "device_manag": [1, 41], "devicemanag": [1, 7, 41], "on_messag": [1, 7], "run": [1, 4, 7, 10, 11, 12, 13, 16, 17, 19, 21, 28, 29, 30, 32, 33, 36, 37, 38, 39, 42, 43, 44, 46], "devicemethodcallst": [1, 7, 41], "futur": [1, 7, 9, 22, 42, 44], "last_upd": [1, 7], "statu": [1, 4, 7, 11, 14, 16, 20, 21, 22, 24, 26, 29, 33, 34, 35, 36, 45], "devicewrapp": [1, 7, 10, 41], "devicemethodwrapp": [1, 7], "method": [1, 7, 10, 11, 12, 16, 17, 26, 32, 34, 44, 46, 47], "name": [1, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 18, 22, 23, 25, 26, 32, 34, 38, 42, 44, 45, 46], "devicescli": [1, 7, 41], "call": [1, 2, 7, 9, 10, 11, 26, 32, 38, 44, 45, 46], "create_device_wrapp": [1, 7], "methodcallstatu": [1, 7, 41], "failur": [1, 7], "in_progress": [1, 7], "pend": [1, 7, 12, 13, 16, 19, 20, 21, 30, 32, 33, 35, 39], "success": [1, 7], "experiment_manag": [1, 41], "experimentmanag": [1, 12, 41], "handle_pending_experi": [1, 12], "mark_completed_experi": [1, 12], "lab_view": [1, 32, 36, 41], "devicerunningexcept": [1, 17, 41], "labview": [1, 16, 17, 22, 41, 45], "get_locked_sample_posit": [1, 17], "get_sampl": [1, 17, 23, 26, 36, 45], "get_sample_position_parent_devic": [1, 17, 23, 26], "move_sampl": [1, 17, 23, 26, 36, 45], "prioriti": [1, 17, 22, 30, 32, 33, 36], "request_cleanup": [1, 17], "request_resourc": [1, 17, 19, 22, 32, 36, 45], "request_user_input": [1, 17, 35, 41, 45], "request_user_input_with_not": [1, 17, 35, 41], "run_subtask": [1, 17, 30, 32, 45], "task_id": [1, 4, 5, 7, 11, 16, 17, 18, 22, 23, 25, 26, 31, 32, 34, 35, 44, 45], "update_result": [1, 17, 30, 34], "update_sample_metadata": [1, 17, 23, 26, 45], "logger": [1, 32, 41], "dblogger": [1, 18, 41], "filter_device_sign": [1, 18], "filter_log": [1, 18], "get_latest_device_sign": [1, 18], "log": [1, 10, 18, 32, 45], "log_amount": [1, 18], "log_characterization_result": [1, 18], "log_device_sign": [1, 10, 18, 32], "system_log": [1, 18], "logginglevel": [1, 18, 41], "critic": [1, 18], "debug": [1, 18], "error": [1, 2, 8, 11, 13, 16, 17, 18, 19, 20, 22, 30, 32, 33, 35, 42, 44, 46], "fatal": [1, 18], "info": [1, 18, 26, 34], "warn": [1, 18, 32, 45], "loggingtyp": [1, 18, 41], "characterization_result": [1, 18], "device_sign": [1, 18], "other": [1, 10, 17, 18, 32, 36, 38, 45, 46], "sample_amount": [1, 18], "task_actor": [1, 32, 41], "user_input": [1, 41, 45], "userinputview": [1, 35, 41], "clean_up_user_input_collect": [1, 35], "get_all_pending_request": [1, 35], "get_request": [1, 19, 22, 35], "insert_request": [1, 35], "retrieve_user_input": [1, 35], "retrieve_user_input_with_not": [1, 35], "update_request_statu": [1, 19, 22, 35], "userrequeststatu": [1, 35, 41], "fullfil": [1, 35], "request_maintenance_input": [1, 35, 41], "manag": [1, 7, 12, 14, 16, 17, 19, 22, 24, 26, 28, 32, 34, 35, 44, 45, 46], "everyth": [1, 36], "autonom": [1, 36, 39, 40, 42, 44, 45, 47], "The": [2, 4, 5, 6, 7, 9, 10, 11, 16, 17, 20, 22, 25, 26, 32, 33, 36, 38, 39, 42, 44, 45, 46], "send": [2, 7, 32], "user": [2, 10, 11, 15, 16, 17, 29, 35, 36, 38, 39, 42, 44, 45], "via": [2, 7, 17, 29, 37, 39], "email": [2, 42], "slack": [2, 42], "class": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 36, 38, 39, 42, 45], "email_receiv": [2, 42], "none": [2, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 22, 25, 26, 32, 34, 35, 36, 38, 45, 46], "email_send": [2, 42], "email_password": [2, 42], "slack_bot_token": [2, 42], "slack_channel_id": [2, 42], "sourc": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35], "base": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 38, 45, 46], "object": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 22, 24, 25, 26, 29, 31, 32, 34, 35, 36, 38, 44, 45, 46], "A": [2, 4, 7, 10, 14, 15, 16, 17, 18, 22, 25, 26, 32, 38, 39, 42, 43, 44, 45, 46], "messag": [2, 7, 10, 11, 32, 34, 37, 44], "categori": [2, 35], "try": [2, 17, 21, 26, 32, 34, 38, 45, 46], "all": [2, 6, 7, 9, 10, 11, 14, 17, 21, 22, 25, 26, 29, 32, 34, 35, 36, 39, 42, 43, 45, 46], "platform": [2, 39], "format": [2, 4, 15, 16, 17, 22, 37, 39, 44, 45], "paramet": [2, 4, 5, 6, 7, 10, 11, 14, 16, 17, 18, 24, 26, 31, 32, 34, 35, 36, 39, 46], "str": [2, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 22, 25, 26, 31, 32, 34, 35, 38], "print": [2, 32, 45], "an": [2, 4, 6, 9, 10, 11, 14, 16, 17, 32, 33, 36, 38, 39, 40, 42, 44, 45, 46, 47], "receiv": [2, 7, 45], "address": [2, 4, 42, 44], "except": [2, 10, 11, 17, 22, 38, 45], "i": [2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "type": [2, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 22, 24, 25, 26, 31, 32, 34, 35, 37, 38, 44, 45, 46], "occur": [2, 9, 29, 32], "automat": [2, 32, 36, 45, 46], "us": [2, 3, 4, 5, 6, 7, 9, 10, 11, 16, 17, 22, 26, 29, 31, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "contain": [2, 6, 16, 18, 19, 24, 31, 34, 36, 39, 42, 44, 45], "traceback": 2, "setup": [2, 40, 43], "notif": [2, 38, 42], "__init__": [2, 9, 36, 38, 42, 45], "list": [2, 4, 5, 7, 9, 10, 11, 15, 16, 17, 18, 22, 25, 26, 32, 34, 35, 36, 38, 39, 42, 44, 45], "from": [2, 6, 7, 9, 10, 12, 14, 15, 17, 18, 22, 24, 26, 29, 31, 32, 34, 35, 37, 38, 39, 42, 43, 44, 45, 46, 47], "password": [2, 6, 42], "slackbot": 2, "token": [2, 42], "app": [2, 42], "channel": [2, 7], "id": [2, 4, 5, 11, 14, 16, 17, 24, 25, 26, 31, 32, 34, 35, 38, 39, 44, 45], "where": [2, 10, 18, 38, 42, 44, 45, 46, 47], "deploi": 2, "function": [2, 4, 5, 7, 9, 10, 11, 17, 18, 26, 32, 38, 39, 42, 45, 46, 47], "take": [2, 4, 18, 32, 36, 38, 44, 45], "code": [2, 4, 37, 38, 39, 42, 43, 46], "block": [2, 17, 29, 32, 35, 45], "It": [2, 4, 6, 10, 12, 17, 20, 22, 33, 34, 38, 39, 45], "string": [2, 10, 17, 18, 22, 25, 26, 31, 35, 45], "usual": [2, 11, 36, 38, 47], "return": [2, 4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 22, 24, 25, 26, 31, 32, 34, 35, 36, 38, 44, 45, 46], "formatted_messag": 2, "otherwis": [2, 34], "origin": 2, "add_sampl": [3, 4, 5, 44], "generate_input_fil": [3, 4], "plot": [3, 4], "submit": [3, 4, 12, 16, 21, 29, 33, 34, 39, 42, 45, 47], "to_dict": [3, 4, 5], "ar": [3, 4, 5, 9, 10, 11, 12, 17, 21, 22, 26, 29, 32, 33, 34, 36, 38, 39, 42, 43, 44, 45, 46, 47], "creat": [3, 7, 9, 10, 16, 26, 32, 34, 38, 39, 42, 45, 46], "thei": [3, 22, 36, 45, 46], "input": [3, 4, 10, 17, 35, 44, 45, 46], "file": [3, 4, 6, 19, 32, 38, 46], "command": [3, 4, 7, 17, 32, 37, 43], "tag": [4, 5, 13, 15, 23, 25, 26, 44], "metadata": [4, 5, 13, 15, 17, 22, 23, 25, 26, 32, 38, 44, 45], "dictionari": [4, 5, 10, 15, 17, 18, 22, 24, 26, 31, 32, 45], "gener": [4, 6, 11, 32, 34, 42, 45], "add": [4, 5, 16, 26, 32, 34, 37], "batch": [4, 39], "each": [4, 5, 17, 22, 36, 38, 39, 44, 45, 46], "alreadi": [4, 11, 26], "ha": [4, 5, 11, 16, 25, 26, 32, 33, 36, 39, 45, 46], "multipl": [4, 10, 38, 39, 42, 44, 45, 46], "bind": [4, 5], "direct": [4, 5, 39, 44], "graph": [4, 5, 39, 44], "must": [4, 9, 10, 15, 32, 34, 39, 40, 42], "uniqu": [4, 10, 11, 25, 38], "within": [4, 9, 10, 14, 17, 18, 24, 26, 31, 34, 44, 45], "attach": 4, "ani": [4, 5, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 25, 26, 29, 32, 34, 35, 36, 38, 44, 45, 46], "addit": [4, 38, 46], "keyword": [4, 7, 10], "argument": [4, 7, 10, 32, 38], "task_nam": 4, "task_kwarg": 4, "should": [4, 5, 9, 10, 11, 15, 17, 22, 24, 26, 31, 32, 34, 38, 39, 42, 43, 45], "onli": [4, 5, 7, 9, 10, 11, 36, 39, 42, 43, 44, 45], "special": [4, 5, 36], "case": [4, 5, 10, 29, 38, 46], "which": [4, 5, 6, 7, 9, 10, 11, 14, 16, 17, 18, 21, 22, 24, 25, 26, 29, 31, 32, 33, 34, 35, 38, 39, 42, 45, 46], "handl": [4, 5, 7, 9, 21, 22, 29, 34], "mongodb": [4, 5, 6, 34, 37, 39, 42, 45], "dict": [4, 5, 6, 7, 9, 10, 11, 14, 15, 16, 18, 22, 25, 26, 32, 34, 35, 45], "filenam": 4, "fmt": 4, "json": 4, "genreat": 4, "liter": 4, "yaml": [4, 6], "ax": 4, "matplotlib": 4, "http": [4, 37, 40, 42, 43, 44], "localhost": [4, 6, 42, 43, 44], "8895": [4, 43, 44], "kwarg": [4, 7, 8, 9, 10, 11, 17, 22, 32, 36, 38, 44, 45], "server": [4, 7, 38, 43, 44], "default": [4, 6, 9, 10, 17, 26, 32, 36, 42, 43, 44, 45, 46], "alabo": [4, 9, 10, 36, 38, 40, 42, 43, 44, 45, 47], "pass": [4, 10, 17, 31, 34, 38, 44, 45], "request": [4, 7, 8, 10, 11, 12, 15, 17, 20, 21, 22, 26, 29, 32, 33, 35, 36, 38, 39], "post": 4, "objectid": [4, 5, 11, 14, 16, 17, 18, 24, 25, 26, 31, 32, 34, 35], "exp_id": [4, 16, 44], "seealso": 4, "see": [4, 16, 17, 42, 43], "dashboard": [4, 10, 11, 29, 32, 34, 35, 43, 44], "respons": [4, 10, 12, 24, 35, 38, 45], "rout": 4, "query_experi": 4, "build": 5, "also": [5, 14, 16, 17, 32, 34, 36, 37, 38, 39, 42, 43, 44, 45, 46, 47], "node": 5, "filter": [5, 9, 16], "group": 5, "properti": [5, 6, 7, 9, 10, 11, 17, 32, 38, 45, 46], "look": [5, 17, 26, 36, 42, 45, 46], "like": [5, 10, 11, 22, 32, 39, 42, 43, 44, 45, 46], "_id": [5, 34], "configur": [6, 15, 22, 26, 32, 39, 45, 46], "packag": [6, 39, 40, 41, 42, 44, 45, 46, 47], "read": [6, 12, 22, 32, 38, 39, 42], "exampl": [6, 9, 10, 17, 18, 32, 38, 45], "follow": [6, 15, 36, 37, 38, 42, 43, 44, 45, 46], "working_dir": [6, 42], "default_lab": 6, "host": [6, 39, 42, 43], "port": [6, 10, 38, 42, 43, 46], "27017": [6, 42], "usernam": [6, 42], "rabbitmq": [6, 7, 37, 42], "5672": [6, 42], "store": [6, 9, 10, 11, 20, 30, 32, 34, 38, 42, 44, 45], "data": [6, 10, 15, 18, 22, 26, 32, 36, 45], "item": [6, 8, 9, 22], "check": [6, 10, 14, 21, 24, 26, 29, 31, 32, 34, 37, 38, 45, 46], "system": [6, 11, 18, 21, 22, 29, 30, 32, 33, 35, 38, 39, 42, 45, 46], "simul": [6, 10, 38, 46, 47], "mode": [6, 36, 38, 42], "bool": [6, 10, 11, 14, 24, 26, 31, 32, 34, 35], "absolut": 6, "kei": [6, 8, 9, 10, 17, 45, 46], "valu": [6, 7, 8, 9, 10, 11, 16, 17, 18, 20, 22, 26, 32, 33, 34, 35, 38, 39, 43, 45, 46], "specif": [6, 10, 11, 17, 36, 38, 45, 47], "config_": 6, "convert": [6, 31], "frozen": 6, "mappingproxytyp": 6, "frozen_config": 6, "modifi": [6, 42, 46], "adapt": 7, "maus": 7, "rpc": [7, 45], "process": [7, 10, 16, 17, 25, 33, 34, 36, 38, 39, 43, 45, 46], "access": [7, 10, 17, 38, 40, 45], "wrapper": [7, 11, 14, 16, 17, 22, 26, 34, 38, 39], "over": [7, 11, 14, 16, 17, 26, 32, 34, 39], "real": [7, 10, 38, 39, 46], "redirect": 7, "certain": [7, 18, 36, 39, 46, 47], "_check_statu": 7, "true": [7, 11, 14, 15, 22, 24, 26, 31, 32, 34, 35, 38, 43, 44, 45, 46], "basic": [7, 17, 18, 25, 38, 39, 42, 46, 47], "back": [7, 10, 18, 36], "execut": [7, 11, 18, 21, 22, 29, 32, 33, 44, 45, 46, 47], "driver": [7, 10, 38, 39, 46], "prop": [7, 11], "_bodi": 7, "structur": [7, 26, 44, 45], "arg": [7, 8, 9, 10, 11, 17, 32, 36, 38], "start": [7, 8, 9, 10, 12, 21, 29, 33, 34, 36, 38, 39, 42, 45, 46, 47], "listen": 7, "device_rpc": 7, "queue": [7, 11, 16, 29], "conduct": [7, 39], "one": [7, 11, 26, 33, 34, 35, 36, 38, 39, 40, 44, 45, 46, 47], "hold": [7, 10, 25, 38, 39, 44], "float": [7, 10, 36, 38, 45], "devices_cli": 7, "device_nam": [7, 9, 10, 11, 18, 26], "method_handl": 7, "timeout": [7, 10, 17, 22, 32], "client": 7, "instanc": [7, 10, 17, 25, 26, 39, 45, 46], "insid": [7, 10, 32, 36, 38, 46], "feed": 7, "directli": [7, 10, 11, 36, 44, 45], "defin": [7, 9, 10, 15, 22, 25, 26, 32, 39, 42, 44, 46, 47], "administ": 7, "posit": [7, 9, 10, 17, 22, 23, 25, 26, 32, 35, 36, 39, 43, 44, 45, 46], "result": [7, 10, 17, 18, 22, 32, 34, 42, 46, 47], "wrap": 7, "everi": [7, 45], "remot": [7, 40], "method_fram": 7, "callback": 7, "4": [7, 11, 16, 17, 18, 20, 32, 33, 43, 46], "2": [7, 10, 11, 16, 18, 20, 26, 33, 38, 43, 45, 46], "1": [7, 9, 10, 11, 16, 18, 20, 25, 26, 33, 38, 42, 43, 44, 45, 46], "3": [7, 10, 11, 16, 18, 20, 26, 33, 42, 45, 46], "apply_default_valu": [8, 9], "as_normal_dict": [8, 9], "clear": [8, 9], "copi": [8, 9, 10, 24, 31], "db_filter": [8, 9], "db_project": [8, 9], "fromkei": [8, 9], "pop": [8, 9, 36], "popitem": [8, 9], "setdefault": [8, 9], "updat": [8, 9, 16, 17, 22, 26, 34, 35, 39, 45], "append": [8, 9, 32, 38], "count": [8, 9, 10], "extend": [8, 9], "index": [8, 9, 39], "insert": [8, 9, 11, 16, 22, 26, 34, 35], "remov": [8, 9, 29, 45], "revers": [8, 9], "sort": [8, 9], "descript": [8, 10, 11, 23, 25, 26, 38, 44, 46], "connect": [8, 10, 11, 38, 42, 43, 45, 46], "dict_in_databas": [8, 9, 10], "disconnect": [8, 10, 38, 46], "get_messag": [8, 10, 11, 30, 32, 45], "is_run": [8, 10, 32, 38, 46], "list_in_databas": [8, 9, 10], "request_mainten": [8, 10, 38], "retrieve_sign": [8, 10], "sample_posit": [8, 10, 19, 22, 26, 32, 36, 38, 44, 45, 46], "set_messag": [8, 10, 11, 30, 32, 34, 38, 45], "get_methods_to_log": [8, 10], "log_method_to_db": [8, 10], "stop": [8, 9, 10, 29, 33, 34, 38, 39, 46], "paus": [8, 11], "releas": [8, 10, 11, 17, 19, 20, 21, 22, 26, 32, 45], "idl": [8, 11, 39], "occupi": [8, 11, 17, 23, 26, 38, 39, 45], "unknown": [8, 11, 35], "add_devices_to_db": [8, 11], "execute_command": [8, 11], "get_al": [8, 11], "get_all_attribut": [8, 11], "get_attribut": [8, 11], "get_available_devic": [8, 11], "get_devic": [8, 11], "get_devices_by_task": [8, 11], "get_sample_on_devic": [8, 11], "get_statu": [8, 11, 30, 34], "occupy_devic": [8, 11], "pause_devic": [8, 11], "query_properti": [8, 11], "release_devic": [8, 11], "request_devic": [8, 11], "set_all_attribut": [8, 11], "set_attribut": [8, 11], "sync_device_statu": [8, 11], "unpause_devic": [8, 11], "thing": [8, 13, 23, 30, 45, 46], "relat": [8, 13, 23, 30], "device_collect": 9, "attribute_nam": 9, "default_valu": [9, 10], "emul": 9, "databas": [9, 10, 11, 12, 14, 15, 16, 18, 20, 22, 24, 25, 26, 31, 32, 34, 35, 38, 39, 40, 42, 45], "work": [9, 14, 24, 31, 36, 39, 42, 46], "attribut": [9, 10, 11], "so": [9, 10, 11, 21, 29, 32, 34, 37, 38, 39, 42, 44, 45], "persist": 9, "across": [9, 26], "session": 9, "instanti": [9, 10, 39], "script": 9, "setup_lab": 9, "ensur": [9, 17, 32, 36, 44, 45, 46], "have": [9, 11, 17, 22, 29, 32, 36, 38, 39, 40, 44, 45, 46], "correct": [9, 17, 33, 46], "manual": [9, 10, 42, 47], "rais": [9, 10, 11, 17, 26, 32, 33, 38, 42, 45], "valueerror": [9, 10, 11, 26, 32], "found": [9, 11, 26, 34, 36], "out": [9, 12, 45, 46], "order": [9, 44], "e": [9, 18, 32, 34, 37, 39, 40, 42, 44, 45], "befor": [9, 32, 34, 36, 37, 43, 44, 45, 46], "db": [9, 11, 26, 42], "normal": [9, 10, 17, 30, 32, 33], "represent": [9, 39], "new": [9, 17, 26, 32, 34, 38, 45, 46, 47], "retriev": [9, 10, 11, 17, 18, 30, 32, 46], "intern": 9, "project": [9, 39, 43, 44], "be8b61e": 9, "48b1": 9, "4624": 9, "bf7a": 9, "2ca31f7c5ef4": 9, "x": [9, 36, 47], "element": [9, 38, 45], "number": [9, 10, 17, 22, 23, 25, 26, 32, 38, 43, 45, 46], "occurr": 9, "anoth": [9, 36, 45], "iter": [9, 18], "first": [9, 17, 36, 37, 38, 44, 45], "given": [9, 11, 16, 17, 26, 34, 35, 36], "whose": [9, 46], "equal": 9, "place": [9, 36, 38, 39, 45, 46], "fals": [9, 11, 26, 32, 34, 35, 43, 45, 46], "factori": [9, 25], "mirror": 9, "alab": [9, 12, 39, 42, 46], "declar": [9, 10], "variabl": [9, 10, 38, 43, 46], "under": [9, 10, 17, 36, 46], "subclass": [9, 10, 32], "note": [9, 10, 17, 29, 35, 36, 45], "until": [9, 17, 26, 29, 32, 34, 35, 36, 38, 45], "time": [9, 10, 12, 18, 29, 38, 44, 45, 46, 47], "queri": [9, 11, 17, 26, 34, 44, 45], "usag": 9, "when": [9, 11, 12, 17, 26, 32, 34, 36, 38, 39, 43, 45], "import": [9, 10, 38, 39, 42, 44, 45, 47], "mydevic": 9, "my_attribut": 9, "0": [9, 10, 11, 17, 26, 32, 36, 38, 42, 44, 45, 46], "def": [9, 10, 36, 38, 45, 46], "self": [9, 10, 32, 34, 36, 38, 45, 46], "super": [9, 36, 38, 45], "initi": [9, 25, 30, 33, 45, 46], "mydevice_1": 9, "5": [9, 18, 20, 33, 36, 38, 44, 45, 46], "abc": [10, 32], "abstract": [10, 32, 39], "inherit": [10, 32, 34, 38, 39, 45], "identifi": [10, 11, 19, 22, 25, 30, 32, 45, 46], "option": [10, 11, 17, 18, 26, 32, 34, 35, 38, 45], "how": [10, 18, 32, 38, 40, 42, 45, 47], "kind": 10, "includ": [10, 11, 26, 36, 38, 42, 45, 46, 47], "here": [10, 32, 37, 38, 42, 45], "make": [10, 32, 37, 42, 45, 46], "appropri": 10, "even": [10, 26, 39, 45], "requir": [10, 15, 16, 17, 22, 26, 32, 34, 36, 37, 38, 39, 42, 46], "just": [10, 26, 36, 39, 42], "short": 10, "displai": [10, 32, 34, 38, 45], "nest": 10, "support": [10, 42, 45], "empti": [10, 17, 23, 26, 36, 39, 42], "act": 10, "instead": [10, 45], "python": [10, 17, 34, 37, 39, 42, 45], "getter": 10, "setter": 10, "becaus": [10, 36], "current": [10, 11, 17, 25, 32, 33, 34, 36, 37, 38, 42, 45, 46], "whether": [10, 11, 26, 34, 45, 46], "prompt": [10, 17, 35, 38, 43, 45], "mainten": [10, 11, 35], "wait": [10, 30, 33, 36, 39, 45], "them": [10, 21, 29, 39, 42, 45, 46], "select": 10, "text": 10, "signal_nam": [10, 18], "signal": [10, 18], "match": [10, 26, 45], "decor": [10, 38, 45, 46], "datetim": [10, 38], "timedelta": [10, 18, 38], "far": [10, 18], "pull": 10, "rel": 10, "singl": [10, 26, 46], "v": [10, 15], "depend": [10, 37, 38, 39, 42, 44, 46], "wa": [10, 29], "respect": [10, 38, 42], "form": [10, 18, 46, 47], "signal_valu": [10, 18], "signal_value_1": 10, "signal_value_2": 10, "timestamp": [10, 18], "timestamp_1": 10, "timestamp_2": 10, "describ": [10, 25, 32, 39, 45], "doe": [10, 45], "coordin": [10, 25], "inform": [10, 18, 37, 38, 39, 42, 44, 45], "about": [10, 15, 22, 26, 32, 38, 45], "need": [10, 11, 26, 29, 36, 37, 38, 39, 42, 43, 44, 45, 46], "map": [10, 15, 22, 26, 32], "doesn": 10, "t": [10, 42], "matter": 10, "furnac": [10, 18, 32, 38, 42, 44, 45, 46, 47], "heat": [10, 32, 38, 39, 44, 45, 46, 47], "8": [10, 33, 38, 44, 45, 46], "furnace_t": [10, 45], "temporari": 10, "transfer": [10, 14, 36], "16": [10, 32, 38, 42, 43], "period": [10, 47], "intend": [10, 16], "singleton": 10, "onc": [10, 36, 44, 45, 46], "per": [10, 38], "collect": [10, 11, 12, 14, 16, 17, 22, 24, 26, 31, 34, 35, 36, 39], "method_nam": 10, "interv": [10, 26], "interval_second": 10, "worker": [10, 29, 33], "thread": [10, 43], "caught": 10, "regist": [10, 25, 32, 42, 43], "global": [10, 37], "registri": [10, 25, 32], "shallow": 10, "specifi": [10, 11, 17, 26, 32, 39, 43, 45, 46], "provid": [10, 11, 32, 34, 38, 39, 42, 44, 45, 46, 47], "track": [10, 37, 38, 39, 45], "temperatur": [10, 18, 32, 38, 39, 45, 46, 47], "pressur": 10, "sensor": [10, 18, 38], "etc": [10, 32, 38, 39, 42], "whenev": [10, 36, 46], "int": [10, 17, 18, 25, 26, 32], "return_const": [10, 38], "_unspecifi": 10, "object_typ": [10, 38], "dure": [10, 18, 32, 33, 36, 42, 45], "constant": [10, 46], "union": [10, 17, 31, 32, 34], "If": [10, 11, 15, 17, 21, 22, 26, 29, 31, 32, 34, 36, 38, 43, 44, 45, 46], "both": [10, 22, 26, 42, 44, 46], "42": 10, "get_data": 10, "some_integ": 10, "twotheta": 10, "100": [10, 17, 33, 45], "200": 10, "300": 10, "run_simul": 10, "b": 10, "create_mock_str": 10, "alab_control": [10, 38, 44, 46], "ohaus_scal": 10, "ohausscal": 10, "scaledriv": 10, "get_driv": [10, 38, 46], "ip": 10, "ip_address": [10, 38], "set_unit_to_mg": 10, "furnace_2416": [10, 38], "furnacecontrol": [10, 38], "door_control": [10, 38, 46], "doorcontrol": [10, 38, 46], "com_port": 10, "signifi": 11, "fail": [11, 16, 32], "outsid": [11, 45], "typic": [11, 29, 44], "oper": [11, 36, 38, 39, 42, 45, 46], "refil": 11, "consum": 11, "decid": 11, "avail": [11, 17, 26, 32, 36, 43, 45], "connect_to_devic": 11, "view": [11, 14, 16, 17, 24, 26, 34, 35, 39], "api": [11, 42, 45, 46], "well": [11, 38, 39, 42, 43, 45], "ownership": [11, 32, 45], "definit": [11, 25, 39, 42, 43, 45, 46, 47], "": [11, 17, 18, 26, 32, 34, 36, 39, 46], "appear": [11, 26], "nameerror": 11, "callabl": 11, "device_str": 11, "type_or_nam": 11, "only_idl": 11, "ones": 11, "same": [11, 26, 32, 34, 42, 45], "search": [11, 39], "need_releas": [11, 19, 20, 22, 26], "entri": [11, 17, 26, 34, 45], "indic": [11, 26, 44, 45], "__exit__": [11, 26], "deviceslock": 11, "regardless": [11, 32], "its": [11, 16, 26, 34, 36, 38, 39], "commun": [11, 37, 38, 39, 46], "state": [11, 29, 36, 38, 46], "get_samples_on_devic": [11, 23, 26], "backward": 11, "compat": 11, "rtype": 11, "version": [11, 42], "been": [11, 16, 22, 25, 29, 33, 46], "move": [11, 17, 32, 36, 38, 39, 45, 46, 47], "shall": 11, "attributeerror": 11, "device_names_str": 11, "device_types_str": 11, "readi": [11, 21, 29, 30, 33, 34, 39], "There": [11, 38, 42, 45], "duplic": 11, "device_typ": 11, "device_type_nam": 11, "sync": 11, "mai": [11, 29, 37, 38, 39, 42], "still": [11, 17, 29, 36, 38, 44], "usabl": 11, "now": [11, 29, 36, 43, 45, 46], "unpaus": 11, "pars": 12, "incom": [12, 44], "mani": 12, "mark": [12, 22, 34, 35, 45], "finish": [12, 30, 33, 34, 36, 44, 45, 47], "done": [12, 16, 17, 36, 39, 45, 46], "executor": 12, "flag": 12, "complet": [12, 13, 14, 16, 17, 24, 30, 31, 32, 33, 34, 35, 39, 42, 44], "scan": [12, 36, 43], "find": [12, 17, 18, 21, 29, 45], "event": 12, "loop": [12, 21, 29, 38, 47], "exist": [13, 14, 23, 24, 26, 29, 30, 31, 34, 46], "get_experi": [13, 14, 16], "save_al": [13, 14], "save_experi": [13, 14], "model_computed_field": [13, 15, 19, 22, 23, 26, 30, 32], "model_config": [13, 15, 19, 22, 23, 26, 30, 32], "model_field": [13, 15, 19, 22, 23, 26, 30, 32], "must_be_bson": [13, 15], "create_experi": [13, 16], "get_experiment_by_sample_id": [13, 16], "get_experiment_by_task_id": [13, 16], "get_experiments_with_statu": [13, 16], "update_experiment_statu": [13, 16], "update_sample_task_id": [13, 16, 23, 26], "experiment_id": [14, 44], "save": [14, 17, 24, 31, 45], "standard": [14, 17, 45], "associ": [14, 32, 38], "basemodel": [15, 22, 26, 32, 45], "write": [15, 22, 45, 46], "classvar": [15, 22, 25, 26, 32, 38], "computedfieldinfo": [15, 22, 26, 32], "comput": [15, 22, 26, 32, 46], "field": [15, 22, 26, 32, 33, 34], "correspond": [15, 17, 22, 26, 32, 34, 36, 46], "configdict": [15, 22, 26, 32], "model": [15, 22, 26, 32, 45], "conform": [15, 22, 26, 32], "pydant": [15, 22, 26, 32, 45], "fieldinfo": [15, 22, 26, 32], "annot": [15, 22, 26, 32], "_pydanticgeneralmetadata": 15, "pattern": [15, 17, 18], "_sampl": 15, "_task": 15, "replac": [15, 22, 26, 32], "__fields__": [15, 22, 26, 32], "v1": [15, 22, 26, 32], "classmethod": [15, 22, 26, 32], "confirm": [15, 29, 32, 43, 45, 46], "encod": [15, 34], "bson": [15, 17, 34, 45], "put": [16, 39, 42], "somewher": 16, "raw": 16, "sample_id": [16, 17, 23, 24, 25, 26, 34, 44], "At": [16, 38, 45], "creation": [16, 45, 46], "assign": [16, 21, 22, 32, 34, 39, 45, 46], "later": [16, 17, 45], "through": [17, 35, 38, 39, 44], "resourc": [17, 19, 21, 22, 26, 29, 32, 33, 36, 39], "either": [17, 22, 32], "own": [17, 25, 42], "cleanup": 17, "clean": [17, 22, 29, 45], "context": [17, 32, 45], "statement": 17, "do": [17, 36, 38, 39, 42, 44, 45, 46], "belong": [17, 45], "reserv": [17, 26, 33, 36], "left": 17, "tubefurnac": 17, "trai": [17, 26], "arm1": 17, "tubefurnacenam": 17, "tray_index": 17, "integ": [17, 22, 33], "probabl": 17, "rang": [17, 18, 38, 44, 45], "40": [17, 18], "20": [17, 18, 33], "level": [17, 18, 46], "higher": [17, 18, 33, 43], "urgent": [17, 30, 33], "someth": [17, 39], "tupl": [17, 26, 35], "subtask": [17, 32, 34], "fill": 17, "ie": [17, 26, 34], "diffract": [17, 44, 47], "numpi": 17, "arrai": 17, "serializ": [17, 45], "most": [17, 45, 46, 47], "charg": [18, 45], "record": [18, 38, 39, 45], "custom": [18, 38, 42, 44, 46], "wrote": 18, "predefin": [18, 38, 39, 42], "1h": 18, "1d": 18, "els": [18, 26, 38], "than": [18, 38, 45], "last": [18, 29], "log_data": 18, "logging_typ": 18, "amount": 18, "chemic": [18, 39], "g": [18, 37, 39, 42, 44, 45], "weight": 18, "character": [18, 47], "xrd": [18, 47], "voltag": 18, "batteri": 18, "come": [18, 36, 40], "workflow": [18, 38, 39], "differ": [18, 43, 45, 46], "50": 18, "10": [18, 33, 36, 38, 42], "30": [18, 33, 38], "cancel": [19, 20, 22, 29, 30, 33, 34], "fulfil": [19, 20, 22, 35], "handle_released_resourc": [19, 21], "handle_requested_resourc": [19, 21], "get_requests_by_statu": [19, 22], "get_requests_by_task_id": [19, 22], "get_concurrent_result": [19, 22], "release_all_resourc": [19, 22], "release_resourc": [19, 22], "preprocess": [19, 22], "root": [19, 22, 38, 42, 43], "6": [20, 33, 46], "tasklaunch": [21, 22, 29], "core": [21, 22, 29], "actual": [21, 22, 26, 29, 43, 45, 46], "timeouterror": 22, "combin": [22, 42], "catch": [22, 45], "concurr": 22, "content": [22, 36, 41], "simpl": [22, 47], "request_id": [22, 35], "original_statu": 22, "easili": [22, 37, 39], "static": 22, "f": [22, 38, 44, 45], "hang": 22, "program": [22, 36, 38, 45, 46], "kill": 22, "abort": [22, 33, 45], "actor": [22, 29, 33, 34], "recoveri": [22, 44, 47], "For": [22, 32, 36, 38, 39, 44, 45], "pydanticundefin": 22, "rootmodel": 22, "valid": [22, 26, 30, 32, 46], "nodevic": 22, "prefix": [22, 23, 26], "save_sampl": [23, 24], "separ": [23, 25, 44, 45], "from_py_typ": [23, 26], "from_str": [23, 26], "lock": [23, 26, 39], "add_sample_positions_to_db": [23, 26], "clean_up_sample_position_collect": [23, 26], "create_sampl": [23, 26], "get_available_sample_posit": [23, 26], "get_sample_posit": [23, 26], "get_sample_position_statu": [23, 26], "get_sample_positions_by_task": [23, 26], "is_locked_posit": [23, 26], "is_unoccupied_posit": [23, 26], "lock_sample_posit": [23, 26], "release_sample_posit": [23, 26], "request_sample_posit": [23, 26], "geograph": 25, "briefli": 25, "startwith": 26, "By": [26, 32, 43, 44, 45, 46], "sample_position_prefix": 26, "extra": 26, "forbid": 26, "gt": 26, "ge": 26, "lt": 26, "le": 26, "neither": 26, "nor": 26, "parent_device_nam": 26, "skip": [26, 38, 45], "parent": [26, 34, 45], "drop": [26, 35, 36], "uid": [26, 34], "position_prefix": 26, "samplepositionslock": 26, "furnace_1": 26, "properli": [26, 46], "_a": 26, "long": [26, 36], "_": 26, "tell": 26, "unoccupi": 26, "unlock": 26, "clean_up_tasks_from_previous_run": [28, 29], "handle_tasks_to_be_cancel": [28, 29], "submit_ready_task": [28, 29], "incomplet": 29, "physic": [29, 42], "exit": [29, 45], "sigterm": 29, "ctrl": 29, "c": [29, 38, 45], "These": [29, 38, 42, 46], "dramatiq": [29, 34, 39, 45], "get_task": [30, 31, 34], "save_task": [30, 31], "add_to": [30, 32, 44], "from_kwarg": [30, 32], "is_offlin": [30, 32], "result_specif": [30, 32, 45], "check_file_like_data": [30, 32], "check_if_stor": [30, 32], "file_like_data": [30, 32], "from_file_like_data": [30, 32, 45], "from_local_fil": [30, 32, 45], "local_path": [30, 32], "storage_typ": [30, 32, 42], "worker_notifi": [30, 33], "high": [30, 32, 33, 36, 47], "low": [30, 33], "requesting_resourc": [30, 33], "create_subtask": [30, 34], "create_task": [30, 34], "encode_task": [30, 34], "get_ready_task": [30, 34], "get_task_with_sampl": [30, 34], "get_tasks_by_statu": [30, 34], "get_tasks_to_be_cancel": [30, 34], "mark_task_as_cancel": [30, 34], "set_task_actor_id": [30, 34], "try_to_mark_task_readi": [30, 34], "update_canceling_progress": [30, 34], "update_statu": [30, 34], "update_subtask_result": [30, 34], "update_subtask_statu": [30, 34], "update_task_depend": [30, 34], "interact": [31, 36, 38, 45, 46], "_offline_mod": 32, "tasklist": 32, "construct": [32, 46], "One": [32, 44], "subclass_kwarg": 32, "ad": [32, 36, 46], "offlin": 32, "live": [32, 45], "after": [32, 38, 42, 43, 45, 47], "notimplementederror": 32, "implement": [32, 39, 45, 46, 47], "prevent": 32, "conflict": [32, 45], "alloc": 32, "cannot": [32, 33, 34, 38, 42, 44], "repres": [32, 39, 42, 44, 45], "devices_and_posit": 32, "inside_furnac": 32, "share": [32, 39, 45], "moving_task": 32, "dest": 32, "run_program": [32, 38, 45, 46], "setpoint": [32, 38], "while": [32, 36, 38, 42, 44, 45], "get_temperatur": [32, 38, 46], "imposs": 32, "might": 32, "too": 32, "unless": [32, 46], "overridden": 32, "larg": [32, 42], "mb": [32, 42], "gridf": [32, 42, 45], "filesystem": 32, "cloud": 32, "aw": 32, "s3": 32, "storag": [32, 42], "local": [32, 40], "arbitrary_types_allow": 32, "nonetyp": 32, "default_factori": 32, "lambda": 32, "indefinit": 32, "supported_sample_posit": 32, "rerout": 32, "being": [33, 34, 36], "kept": 33, "notifi": [33, 45], "mean": [33, 38, 42, 45], "intenum": 33, "larger": 33, "900": [33, 38], "yet": [33, 36], "preced": 33, "sent": [33, 42, 46], "encount": 33, "9": 33, "7": 33, "convien": 34, "conveni": 34, "manipul": 34, "subtask_typ": 34, "task_typ": 34, "prev_task": 34, "next_task": 34, "refer": [34, 37, 38, 39, 40, 45], "prev": 34, "next": [34, 36, 47], "task_entri": 34, "renam": 34, "translat": 34, "interest": [34, 38], "canceling_progress": 34, "progress": [34, 44], "message_id": 34, "original_progress": 34, "job": 34, "entir": [34, 46], "written": [34, 46], "previou": [34, 39, 45], "subtask_id": 34, "dump": 34, "overwrit": 34, "old": [34, 47], "pre_task": 34, "retriv": 35, "give": 35, "overal": 35, "To": [36, 37, 38, 40, 42, 43, 44, 45, 46], "eas": 36, "deploy": 36, "below": [36, 44], "sever": [36, 46], "common": [36, 45], "problem": 36, "challeng": 36, "minimum": 36, "timer": 36, "scenario": [36, 46], "solid_wet_mixing_and_pipet": 36, "mix": [36, 47], "solid": 36, "ethanol": 36, "pipett": 36, "slurri": 36, "unmix": 36, "dispens": 36, "polypropylen": 36, "pot": 36, "pressenc": 36, "zirconia": 36, "ball": 36, "energi": 36, "end": [36, 38, 39, 44, 45], "alumina": 36, "crucibl": [36, 38], "illustr": 36, "figur": 36, "hit": 36, "present": 36, "densifi": 36, "enough": 36, "therefor": 36, "seri": [36, 45], "ethanol_dispens": 36, "slurry_pipet": 36, "fast": 36, "possibl": 36, "alwai": [36, 43], "ethanol_amount": 36, "5000": 36, "ul": 36, "ml": 36, "mixing_dur": 36, "600": [36, 44], "second": [36, 45], "minut": [36, 38], "indexingquadr": 36, "slot": [36, 38, 45, 46], "ethanoldispens": 36, "mixer": 36, "slurrypipett": 36, "robotarm": 36, "slurry_transfer_crucible_posit": 36, "indexing_quadr": 36, "slurry_pipett": 36, "robot_arm": 36, "initial_posit": 36, "destin": [36, 45], "rack": [36, 39], "consid": [36, 45], "powdertransfer_crucible_posit": 36, "involv": 36, "book": 36, "Then": 36, "robot": [36, 38, 39, 42, 47], "begin": 36, "achiev": 36, "exclus": 36, "oftentim": 36, "due": [36, 38], "scarciti": 36, "part": [36, 38], "allow": [36, 39], "human": [36, 38], "experimentalist": 36, "let": [36, 43], "electron": 36, "microscop": 36, "fulli": 36, "integr": [36, 46], "laboratori": 36, "load": 36, "want": [36, 37, 38, 42, 43, 45], "step": [36, 44, 46, 47], "irregular": 36, "shape": 36, "essenti": 36, "person": 36, "interrupt": 36, "click": 36, "interfac": [36, 47], "prepar": [36, 47], "analysi": [36, 47], "advanc": 36, "keep": [36, 45], "henc": 36, "worri": 36, "free": 36, "expect": [36, 46], "accord": 36, "soon": [36, 40], "clone": [37, 40], "repositori": [37, 39], "instal": [37, 42, 46], "github": [37, 39, 40, 46], "com": [37, 38, 40, 42], "cedergrouphub": [37, 40], "alab_manag": [37, 38, 40, 42, 44, 45, 46], "cd": [37, 40, 42], "pip": [37, 42], "r": [37, 45], "txt": [37, 45], "dev": 37, "purpos": [37, 38], "pleas": [37, 45], "page": [37, 39], "apart": [37, 38, 45, 47], "pyright": 37, "npm": 37, "yarn": 37, "action": [37, 43, 46], "unit": [37, 45, 46], "test": [37, 38], "push": 37, "sure": [37, 46], "correctli": [37, 46], "pytest": [37, 46], "pylint": 37, "flake8": 37, "highli": 37, "recommend": [37, 42, 45], "semant": 37, "gist": 37, "ericavonb": 37, "3c79e5035567c8ef3267": 37, "chang": [37, 42, 46], "piec": 38, "equip": [38, 42], "box": [38, 46, 47], "arm": [38, 42, 47], "around": 38, "tutori": [38, 40, 42, 43, 44], "show": [38, 40, 42, 45, 47], "few": 38, "deriv": 38, "do_powder_dos": 38, "powder": [38, 44, 47], "dose": [38, 44, 47], "station": [38, 47], "move_to": 38, "segment": [38, 46], "furnace_driv": 38, "furnaceerror": 38, "programendtyp": 38, "segmenttyp": 38, "deivc": 38, "1200": 38, "degre": 38, "celsiu": 38, "treatment": 38, "limit": [38, 44, 45], "power": 38, "suppli": 38, "max": 38, "ramp": [38, 45], "rate": [38, 45], "serial": 38, "com_port_id": 38, "192": 38, "168": 38, "51": 38, "helper": [38, 42, 45], "close": [38, 47], "profil": [38, 46], "three": [38, 46], "target": [38, 42, 45], "durat": [38, 45], "segment_typ": 38, "ramp_rat": 38, "target_setpoint": 38, "ramp_rate_per_min": 38, "dwell": 38, "upper": 38, "899": 38, "endt": 38, "reset": 38, "n": 38, "join": 38, "min": 38, "sleep": [38, 44, 45], "retri": [38, 45], "ye": 38, "No": 38, "choos": [38, 45], "break": [38, 44, 46], "ui": 38, "1000": [38, 44], "60": 38, "sometim": 38, "wai": [38, 45], "moment": 38, "intervent": 38, "react": 38, "choic": 38, "made": [38, 45], "necessari": [38, 42, 45, 46], "without": [38, 46], "detect": 38, "bug": 38, "docstr": 38, "py": [38, 42, 45], "folder": [38, 43, 46, 47], "four": [38, 47], "box_furnac": [38, 45, 46], "box_1": 38, "com3": 38, "box_2": [38, 45], "com4": 38, "box_3": 38, "com5": 38, "box_4": 38, "com6": 38, "serv": [38, 45], "buffer": 38, "area": 38, "crucible_buff": [38, 45], "perform": [38, 42, 44, 45], "aim": 39, "sharabl": 39, "synthesi": 39, "what": 39, "ro": 39, "With": 39, "great": 39, "flexibl": 39, "extens": 39, "sinc": [39, 44, 45], "two": [39, 44, 45], "throughout": 39, "git": [39, 40], "websit": [39, 40], "architectur": 39, "our": 39, "snippet": 39, "between": [39, 44, 45, 46], "life": 39, "cycl": 39, "five": 39, "dag": [39, 44], "acycl": [39, 44], "vertex": 39, "simpli": 39, "launch": [39, 45], "die": 39, "main": 39, "pymongo": 39, "least": 40, "your": [40, 42, 43, 44], "machin": [40, 47], "subpackag": 41, "submodul": 41, "modul": [41, 44, 46], "framework": [42, 46], "runtim": 42, "anneal": 42, "grind": [42, 47], "along": [42, 44], "toml": [42, 43], "tool": [42, 46], "mkdir": 42, "init": 42, "Or": 42, "project_root": 42, "alabos_project": [42, 44, 45], "default_devic": 42, "default_task": 42, "pyproject": 42, "beofor": 42, "edit": 42, "appli": 42, "immedi": [42, 46], "focu": 42, "directori": 42, "mini": 42, "_complet": 42, "mongodb_complet": 42, "don": 42, "leav": 42, "sender": 42, "xxx": 42, "bot": 42, "large_result_storag": 42, "locat": 42, "overrid": [42, 45], "default_storage_typ": 42, "notic": 42, "introduc": [42, 46], "avoid": [43, 45], "accident": 43, "environ": [43, 46], "sim_mode_flag": [43, 46], "disabl": 43, "export": 43, "product": 43, "As": 43, "dir": 43, "config_fil": 43, "afterward": 43, "alabos_config_path": 43, "would": [43, 44, 45], "scratch": 43, "ask": [43, 45], "browser": 43, "howev": [43, 44], "launch_work": 43, "parallel": 43, "termin": 43, "synthes": [44, 47], "sequenc": 44, "vertic": 44, "edg": 44, "outgo": 44, "shown": [44, 45, 47], "final": 44, "offer": 44, "organ": 44, "arbitrari": 44, "exp": 44, "myexperi": 44, "tag1": 44, "tag2": 44, "my": 44, "my_sample_1": 44, "heating_tim": 44, "120": 44, "heating_temperatur": 44, "sample1": 44, "sample2": 44, "task1": 44, "task2": 44, "sample3": 44, "abov": 44, "diagram": [44, 45], "assum": 44, "alab_exampl": 44, "powderdos": [44, 47], "recoverpowd": 44, "labman": [44, 47], "inputfil": 44, "tutorial_sample_": 44, "precursor": [44, 47], "li2co3": 44, "17": 44, "powder_dos": 44, "powder_dispens": 44, "to_json": 44, "heating_1": 44, "500": 44, "heating_2": 44, "powder_recoveri": 44, "monitor": 44, "go": 44, "individu": [44, 46], "experiment_nam": 44, "ratio": [44, 47], "submitted_at": 44, "2021": 44, "09": 44, "01t12": 44, "00": 44, "sample_nam": 44, "tasktyp": 44, "measur": 44, "mg": 44, "accept": 44, "tree": 44, "downstream": [44, 46], "networkx": 44, "detail": [44, 45, 46], "smallest": 45, "behavior": 45, "role": 45, "compos": 45, "submiss": 45, "temperautr": 45, "temperature_c": 45, "duration_min": 45, "ramping_rate_c_permin": 45, "ramping_r": 45, "logic": 45, "boolean": 45, "less": 45, "1100": 45, "len": [45, 46], "point": 45, "disambigu": 45, "sample_1": 45, "new_posit": 45, "mass": 45, "mytask": 45, "59434": 45, "know": 45, "minim": 45, "frequent": 45, "autom": 45, "longer": 45, "devicetyp": 45, "quantiti": 45, "sample_position_nam": 45, "another_sample_position_nam": 45, "devicenam": 45, "standalone_sample_position_nam": 45, "boxfurnac": 45, "eight": 45, "standalon": 45, "slot_1": 45, "slot_2": 45, "slot_8": 45, "furnace_slot": 45, "although": 45, "proxi": 45, "forward": 45, "get_temperature_log": 45, "size": 45, "document": 45, "16mb": 45, "deal": 45, "veri": 45, "consist": 45, "issu": 45, "frequenc": 45, "large_result": 45, "open": 45, "large_fil": 45, "w": 45, "librari": 45, "enabl": 45, "consol": 45, "zip": 45, "unexpect": 45, "mechan": 45, "furnacenotconnectederror": 45, "rerun": 45, "worth": 45, "taskactor": 45, "built": 45, "upon": [45, 46], "seamless": 46, "robust": 46, "softwar": 46, "suit": 46, "cover": 46, "compon": 46, "isol": 46, "develop": 46, "world": 46, "u": 46, "whole": 46, "continu": 46, "ci": 46, "pipelin": 46, "commit": 46, "hardwar": 46, "unittest": 46, "dummi": 46, "thu": 46, "good": 46, "abl": 46, "talk": 46, "activ": 46, "env": 46, "sauron": 46, "fix": 46, "sub": 46, "suitabl": 46, "return_valu": 46, "return_typ": 46, "test_": 46, "rememb": 46, "behaviour": 46, "ex": 46, "magicmock": 46, "alab_on": 46, "monkeypatch": 46, "setattr": 46, "primarli": 46, "were": 46, "particular": 46, "similar": 46, "outcom": 46, "met": 46, "door": 46, "control": 46, "letter": 46, "emergent_stop": 46, "open_door": 46, "close_door": 46, "precondit": 46, "door_controller_ab": 46, "door_controller_cd": 46, "parameter": 46, "variou": [46, 47], "mock_driv": 46, "test_connect": 46, "verifi": 46, "test_disconnect": 46, "assert": 46, "test_sample_posit": 46, "test_emergent_stop": 46, "assert_called_onc": 46, "test_run_program": 46, "test_run_program_with_profil": 46, "invoc": 46, "util": 46, "test_is_run": 46, "test_get_temperatur": 46, "fetch": 46, "test_open_door": 46, "test_close_door": 46, "invok": 46, "guid": 47, "inorgan": 47, "materi": 47, "togeth": 47, "mixtur": 47, "phase": 47, "ground": 47, "rai": 47, "tube": 47, "interpret": 47, "mainli": 47, "heatingwithatmospher": 47, "powderrecoveri": 47, "demo": 47}, "objects": {"": [[1, 0, 0, "-", "alab_management"]], "alab_management": [[2, 0, 0, "-", "alarm"], [3, 0, 0, "-", "builders"], [6, 0, 0, "-", "config"], [7, 0, 0, "-", "device_manager"], [8, 0, 0, "-", "device_view"], [12, 0, 0, "-", "experiment_manager"], [13, 0, 0, "-", "experiment_view"], [17, 0, 0, "-", "lab_view"], [18, 0, 0, "-", "logger"], [19, 0, 0, "-", "resource_manager"], [23, 0, 0, "-", "sample_view"], [28, 0, 0, "-", "task_manager"], [30, 0, 0, "-", "task_view"], [35, 0, 0, "-", "user_input"]], "alab_management.alarm": [[2, 1, 1, "", "Alarm"], [2, 3, 1, "", "format_message_to_codeblock"]], "alab_management.alarm.Alarm": [[2, 2, 1, "", "alert"], [2, 2, 1, "", "send_email"], [2, 2, 1, "", "send_slack_notification"], [2, 2, 1, "", "setup_email"], [2, 2, 1, "", "setup_slackbot"]], "alab_management.builders": [[4, 0, 0, "-", "experimentbuilder"], [5, 0, 0, "-", "samplebuilder"]], "alab_management.builders.experimentbuilder": [[4, 1, 1, "", "ExperimentBuilder"], [4, 3, 1, "", "get_experiment_status"]], "alab_management.builders.experimentbuilder.ExperimentBuilder": [[4, 2, 1, "", "add_sample"], [4, 2, 1, "", "add_task"], [4, 2, 1, "", "generate_input_file"], [4, 2, 1, "", "plot"], [4, 2, 1, "", "submit"], [4, 2, 1, "", "to_dict"]], "alab_management.builders.samplebuilder": [[5, 1, 1, "", "SampleBuilder"]], "alab_management.builders.samplebuilder.SampleBuilder": [[5, 2, 1, "", "add_task"], [5, 4, 1, "", "tasks"], [5, 2, 1, "", "to_dict"]], "alab_management.config": [[6, 1, 1, "", "AlabOSConfig"], [6, 3, 1, "", "freeze_config"]], "alab_management.config.AlabOSConfig": [[6, 2, 1, "", "get"], [6, 2, 1, "", "is_sim_mode"], [6, 4, 1, "", "path"], [6, 2, 1, "", "set_item"]], "alab_management.device_manager": [[7, 1, 1, "", "DeviceManager"], [7, 1, 1, "", "DeviceMethodCallState"], [7, 1, 1, "", "DeviceWrapper"], [7, 1, 1, "", "DevicesClient"], [7, 1, 1, "", "MethodCallStatus"]], "alab_management.device_manager.DeviceManager": [[7, 2, 1, "", "on_message"], [7, 2, 1, "", "run"]], "alab_management.device_manager.DeviceMethodCallState": [[7, 5, 1, "", "future"], [7, 5, 1, "", "last_updated"], [7, 5, 1, "", "status"]], "alab_management.device_manager.DeviceWrapper": [[7, 1, 1, "", "DeviceMethodWrapper"], [7, 4, 1, "", "name"]], "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper": [[7, 4, 1, "", "method"]], "alab_management.device_manager.DevicesClient": [[7, 2, 1, "", "call"], [7, 2, 1, "", "create_device_wrapper"], [7, 2, 1, "", "on_message"]], "alab_management.device_manager.MethodCallStatus": [[7, 5, 1, "", "FAILURE"], [7, 5, 1, "", "IN_PROGRESS"], [7, 5, 1, "", "PENDING"], [7, 5, 1, "", "SUCCESS"]], "alab_management.device_view": [[9, 0, 0, "-", "dbattributes"], [10, 0, 0, "-", "device"], [11, 0, 0, "-", "device_view"]], "alab_management.device_view.dbattributes": [[9, 1, 1, "", "DictInDatabase"], [9, 1, 1, "", "ListInDatabase"], [9, 3, 1, "", "value_in_database"]], "alab_management.device_view.dbattributes.DictInDatabase": [[9, 2, 1, "", "apply_default_value"], [9, 2, 1, "", "as_normal_dict"], [9, 2, 1, "", "clear"], [9, 2, 1, "", "copy"], [9, 4, 1, "", "db_filter"], [9, 4, 1, "", "db_projection"], [9, 2, 1, "", "fromkeys"], [9, 2, 1, "", "get"], [9, 2, 1, "", "items"], [9, 2, 1, "", "keys"], [9, 2, 1, "", "pop"], [9, 2, 1, "", "popitem"], [9, 2, 1, "", "setdefault"], [9, 2, 1, "", "update"], [9, 2, 1, "", "values"]], "alab_management.device_view.dbattributes.ListInDatabase": [[9, 2, 1, "", "append"], [9, 2, 1, "", "apply_default_value"], [9, 2, 1, "", "clear"], [9, 2, 1, "", "copy"], [9, 2, 1, "", "count"], [9, 4, 1, "", "db_filter"], [9, 4, 1, "", "db_projection"], [9, 2, 1, "", "extend"], [9, 2, 1, "", "index"], [9, 2, 1, "", "insert"], [9, 2, 1, "", "pop"], [9, 2, 1, "", "remove"], [9, 2, 1, "", "reverse"], [9, 2, 1, "", "sort"]], "alab_management.device_view.device": [[10, 1, 1, "", "BaseDevice"], [10, 1, 1, "", "DeviceSignalEmitter"], [10, 3, 1, "", "add_device"], [10, 3, 1, "", "get_all_devices"], [10, 3, 1, "", "log_signal"], [10, 3, 1, "", "mock"]], "alab_management.device_view.device.BaseDevice": [[10, 5, 1, "", "args"], [10, 2, 1, "", "connect"], [10, 4, 1, "id0", "description"], [10, 2, 1, "", "dict_in_database"], [10, 2, 1, "", "disconnect"], [10, 2, 1, "", "get_message"], [10, 2, 1, "", "is_running"], [10, 5, 1, "", "kwargs"], [10, 2, 1, "", "list_in_database"], [10, 5, 1, "", "name"], [10, 2, 1, "", "request_maintenance"], [10, 2, 1, "", "retrieve_signal"], [10, 4, 1, "", "sample_positions"], [10, 2, 1, "", "set_message"]], "alab_management.device_view.device.DeviceSignalEmitter": [[10, 2, 1, "", "get_methods_to_log"], [10, 2, 1, "", "log_method_to_db"], [10, 2, 1, "", "retrieve_signal"], [10, 2, 1, "", "start"], [10, 2, 1, "", "stop"]], "alab_management.device_view.device_view": [[11, 6, 1, "", "DeviceConnectionError"], [11, 1, 1, "", "DevicePauseStatus"], [11, 1, 1, "", "DeviceTaskStatus"], [11, 1, 1, "", "DeviceView"]], "alab_management.device_view.device_view.DevicePauseStatus": [[11, 5, 1, "", "PAUSED"], [11, 5, 1, "", "RELEASED"], [11, 5, 1, "", "REQUESTED"]], "alab_management.device_view.device_view.DeviceTaskStatus": [[11, 5, 1, "", "ERROR"], [11, 5, 1, "", "IDLE"], [11, 5, 1, "", "OCCUPIED"], [11, 5, 1, "", "UNKNOWN"]], "alab_management.device_view.device_view.DeviceView": [[11, 2, 1, "", "add_devices_to_db"], [11, 2, 1, "", "execute_command"], [11, 2, 1, "", "get_all"], [11, 2, 1, "", "get_all_attributes"], [11, 2, 1, "", "get_attribute"], [11, 2, 1, "", "get_available_devices"], [11, 2, 1, "", "get_device"], [11, 2, 1, "", "get_devices_by_task"], [11, 2, 1, "", "get_message"], [11, 2, 1, "", "get_sample_on_device"], [11, 2, 1, "", "get_status"], [11, 2, 1, "", "occupy_device"], [11, 2, 1, "", "pause_device"], [11, 2, 1, "", "query_property"], [11, 2, 1, "", "release_device"], [11, 2, 1, "", "request_devices"], [11, 2, 1, "", "set_all_attributes"], [11, 2, 1, "", "set_attribute"], [11, 2, 1, "", "set_message"], [11, 2, 1, "", "sync_device_status"], [11, 2, 1, "", "unpause_device"]], "alab_management.experiment_manager": [[12, 1, 1, "", "ExperimentManager"]], "alab_management.experiment_manager.ExperimentManager": [[12, 2, 1, "", "handle_pending_experiments"], [12, 2, 1, "", "mark_completed_experiments"], [12, 2, 1, "", "run"]], "alab_management.experiment_view": [[14, 0, 0, "-", "completed_experiment_view"], [15, 0, 0, "-", "experiment"], [16, 0, 0, "-", "experiment_view"]], "alab_management.experiment_view.completed_experiment_view": [[14, 1, 1, "", "CompletedExperimentView"]], "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView": [[14, 2, 1, "", "exists"], [14, 2, 1, "", "get_experiment"], [14, 2, 1, "", "save_all"], [14, 2, 1, "", "save_experiment"]], "alab_management.experiment_view.experiment": [[15, 1, 1, "", "InputExperiment"]], "alab_management.experiment_view.experiment.InputExperiment": [[15, 5, 1, "", "metadata"], [15, 5, 1, "", "model_computed_fields"], [15, 5, 1, "", "model_config"], [15, 5, 1, "", "model_fields"], [15, 2, 1, "", "must_be_bsonable"], [15, 5, 1, "", "name"], [15, 5, 1, "", "samples"], [15, 5, 1, "", "tags"], [15, 5, 1, "", "tasks"]], "alab_management.experiment_view.experiment_view": [[16, 1, 1, "", "ExperimentStatus"], [16, 1, 1, "", "ExperimentView"]], "alab_management.experiment_view.experiment_view.ExperimentStatus": [[16, 5, 1, "", "COMPLETED"], [16, 5, 1, "", "ERROR"], [16, 5, 1, "", "PENDING"], [16, 5, 1, "", "RUNNING"]], "alab_management.experiment_view.experiment_view.ExperimentView": [[16, 2, 1, "", "create_experiment"], [16, 2, 1, "", "get_experiment"], [16, 2, 1, "", "get_experiment_by_sample_id"], [16, 2, 1, "", "get_experiment_by_task_id"], [16, 2, 1, "", "get_experiments_with_status"], [16, 2, 1, "", "update_experiment_status"], [16, 2, 1, "", "update_sample_task_id"]], "alab_management.lab_view": [[17, 6, 1, "", "DeviceRunningException"], [17, 1, 1, "", "LabView"]], "alab_management.lab_view.LabView": [[17, 2, 1, "", "get_locked_sample_positions"], [17, 2, 1, "", "get_sample"], [17, 2, 1, "", "get_sample_position_parent_device"], [17, 2, 1, "", "move_sample"], [17, 4, 1, "", "priority"], [17, 2, 1, "", "request_cleanup"], [17, 2, 1, "", "request_resources"], [17, 2, 1, "", "request_user_input"], [17, 2, 1, "", "request_user_input_with_note"], [17, 2, 1, "", "run_subtask"], [17, 4, 1, "", "task_id"], [17, 2, 1, "", "update_result"], [17, 2, 1, "", "update_sample_metadata"]], "alab_management.logger": [[18, 1, 1, "", "DBLogger"], [18, 1, 1, "", "LoggingLevel"], [18, 1, 1, "", "LoggingType"]], "alab_management.logger.DBLogger": [[18, 2, 1, "", "filter_device_signal"], [18, 2, 1, "", "filter_log"], [18, 2, 1, "", "get_latest_device_signal"], [18, 2, 1, "", "log"], [18, 2, 1, "", "log_amount"], [18, 2, 1, "", "log_characterization_result"], [18, 2, 1, "", "log_device_signal"], [18, 2, 1, "", "system_log"]], "alab_management.logger.LoggingLevel": [[18, 5, 1, "", "CRITICAL"], [18, 5, 1, "", "DEBUG"], [18, 5, 1, "", "ERROR"], [18, 5, 1, "", "FATAL"], [18, 5, 1, "", "INFO"], [18, 5, 1, "", "WARN"], [18, 5, 1, "", "WARNING"]], "alab_management.logger.LoggingType": [[18, 5, 1, "", "CHARACTERIZATION_RESULT"], [18, 5, 1, "", "DEVICE_SIGNAL"], [18, 5, 1, "", "OTHER"], [18, 5, 1, "", "SAMPLE_AMOUNT"], [18, 5, 1, "", "SYSTEM_LOG"]], "alab_management.resource_manager": [[20, 0, 0, "-", "enums"], [21, 0, 0, "-", "resource_manager"], [22, 0, 0, "-", "resource_requester"]], "alab_management.resource_manager.enums": [[20, 1, 1, "", "RequestStatus"]], "alab_management.resource_manager.enums.RequestStatus": [[20, 5, 1, "", "CANCELED"], [20, 5, 1, "", "ERROR"], [20, 5, 1, "", "FULFILLED"], [20, 5, 1, "", "NEED_RELEASE"], [20, 5, 1, "", "PENDING"], [20, 5, 1, "", "RELEASED"]], "alab_management.resource_manager.resource_manager": [[21, 1, 1, "", "ResourceManager"]], "alab_management.resource_manager.resource_manager.ResourceManager": [[21, 2, 1, "", "handle_released_resources"], [21, 2, 1, "", "handle_requested_resources"], [21, 2, 1, "", "run"]], "alab_management.resource_manager.resource_requester": [[22, 6, 1, "", "CombinedTimeoutError"], [22, 1, 1, "", "DeviceRequest"], [22, 6, 1, "", "RequestCanceledError"], [22, 1, 1, "", "RequestMixin"], [22, 1, 1, "", "ResourceRequestItem"], [22, 1, 1, "", "ResourceRequester"], [22, 1, 1, "", "ResourcesRequest"]], "alab_management.resource_manager.resource_requester.DeviceRequest": [[22, 5, 1, "", "content"], [22, 5, 1, "", "identifier"], [22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"]], "alab_management.resource_manager.resource_requester.RequestMixin": [[22, 2, 1, "", "get_request"], [22, 2, 1, "", "get_requests_by_status"], [22, 2, 1, "", "get_requests_by_task_id"], [22, 2, 1, "", "update_request_status"]], "alab_management.resource_manager.resource_requester.ResourceRequestItem": [[22, 5, 1, "", "device"], [22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"], [22, 5, 1, "", "sample_positions"]], "alab_management.resource_manager.resource_requester.ResourceRequester": [[22, 2, 1, "", "get_concurrent_result"], [22, 2, 1, "", "release_all_resources"], [22, 2, 1, "", "release_resources"], [22, 2, 1, "", "request_resources"]], "alab_management.resource_manager.resource_requester.ResourcesRequest": [[22, 5, 1, "", "model_computed_fields"], [22, 5, 1, "", "model_config"], [22, 5, 1, "", "model_fields"], [22, 2, 1, "", "preprocess"], [22, 5, 1, "", "root"]], "alab_management.sample_view": [[24, 0, 0, "-", "completed_sample_view"], [25, 0, 0, "-", "sample"], [26, 0, 0, "-", "sample_view"]], "alab_management.sample_view.completed_sample_view": [[24, 1, 1, "", "CompletedSampleView"]], "alab_management.sample_view.completed_sample_view.CompletedSampleView": [[24, 2, 1, "", "exists"], [24, 2, 1, "", "save_sample"]], "alab_management.sample_view.sample": [[25, 1, 1, "", "Sample"], [25, 1, 1, "", "SamplePosition"], [25, 3, 1, "", "add_standalone_sample_position"], [25, 3, 1, "", "get_all_standalone_sample_positions"]], "alab_management.sample_view.sample.Sample": [[25, 5, 1, "", "metadata"], [25, 5, 1, "", "name"], [25, 5, 1, "", "position"], [25, 5, 1, "", "sample_id"], [25, 5, 1, "", "tags"], [25, 5, 1, "", "task_id"]], "alab_management.sample_view.sample.SamplePosition": [[25, 5, 1, "", "SEPARATOR"], [25, 5, 1, "", "description"], [25, 5, 1, "", "name"], [25, 5, 1, "", "number"]], "alab_management.sample_view.sample_view": [[26, 1, 1, "", "SamplePositionRequest"], [26, 1, 1, "", "SamplePositionStatus"], [26, 1, 1, "", "SampleView"]], "alab_management.sample_view.sample_view.SamplePositionRequest": [[26, 2, 1, "", "from_py_type"], [26, 2, 1, "", "from_str"], [26, 5, 1, "", "model_computed_fields"], [26, 5, 1, "", "model_config"], [26, 5, 1, "", "model_fields"], [26, 5, 1, "", "number"], [26, 5, 1, "", "prefix"]], "alab_management.sample_view.sample_view.SamplePositionStatus": [[26, 5, 1, "", "EMPTY"], [26, 5, 1, "", "LOCKED"], [26, 5, 1, "", "OCCUPIED"]], "alab_management.sample_view.sample_view.SampleView": [[26, 2, 1, "", "add_sample_positions_to_db"], [26, 2, 1, "", "clean_up_sample_position_collection"], [26, 2, 1, "", "create_sample"], [26, 2, 1, "", "exists"], [26, 2, 1, "", "get_available_sample_position"], [26, 2, 1, "", "get_sample"], [26, 2, 1, "", "get_sample_position"], [26, 2, 1, "", "get_sample_position_parent_device"], [26, 2, 1, "", "get_sample_position_status"], [26, 2, 1, "", "get_sample_positions_by_task"], [26, 2, 1, "", "get_samples_on_device"], [26, 2, 1, "", "is_locked_position"], [26, 2, 1, "", "is_unoccupied_position"], [26, 2, 1, "", "lock_sample_position"], [26, 2, 1, "", "move_sample"], [26, 2, 1, "", "release_sample_position"], [26, 2, 1, "", "request_sample_positions"], [26, 2, 1, "", "update_sample_metadata"], [26, 2, 1, "", "update_sample_task_id"]], "alab_management.task_manager": [[29, 0, 0, "-", "task_manager"]], "alab_management.task_manager.task_manager": [[29, 1, 1, "", "TaskManager"]], "alab_management.task_manager.task_manager.TaskManager": [[29, 2, 1, "", "clean_up_tasks_from_previous_runs"], [29, 2, 1, "", "handle_tasks_to_be_canceled"], [29, 2, 1, "", "run"], [29, 2, 1, "", "submit_ready_tasks"]], "alab_management.task_view": [[31, 0, 0, "-", "completed_task_view"], [32, 0, 0, "-", "task"], [33, 0, 0, "-", "task_enums"], [34, 0, 0, "-", "task_view"]], "alab_management.task_view.completed_task_view": [[31, 1, 1, "", "CompletedTaskView"]], "alab_management.task_view.completed_task_view.CompletedTaskView": [[31, 2, 1, "", "exists"], [31, 2, 1, "", "get_task"], [31, 2, 1, "", "save_task"]], "alab_management.task_view.task": [[32, 1, 1, "", "BaseTask"], [32, 1, 1, "", "LargeResult"], [32, 3, 1, "", "add_reroute_task"], [32, 3, 1, "", "add_task"], [32, 3, 1, "", "get_all_tasks"], [32, 3, 1, "", "get_task_by_name"]], "alab_management.task_view.task.BaseTask": [[32, 2, 1, "", "add_to"], [32, 2, 1, "", "from_kwargs"], [32, 2, 1, "", "get_message"], [32, 4, 1, "", "is_offline"], [32, 4, 1, "", "priority"], [32, 4, 1, "", "result_specification"], [32, 2, 1, "", "run"], [32, 2, 1, "", "run_subtask"], [32, 4, 1, "", "samples"], [32, 2, 1, "", "set_message"], [32, 2, 1, "", "validate"]], "alab_management.task_view.task.LargeResult": [[32, 2, 1, "", "check_file_like_data"], [32, 2, 1, "", "check_if_stored"], [32, 5, 1, "", "file_like_data"], [32, 2, 1, "", "from_file_like_data"], [32, 2, 1, "", "from_local_file"], [32, 5, 1, "", "identifier"], [32, 5, 1, "", "local_path"], [32, 5, 1, "", "model_computed_fields"], [32, 5, 1, "", "model_config"], [32, 5, 1, "", "model_fields"], [32, 2, 1, "", "retrieve"], [32, 5, 1, "", "storage_type"], [32, 2, 1, "", "store"]], "alab_management.task_view.task_enums": [[33, 1, 1, "", "CancelingProgress"], [33, 1, 1, "", "TaskPriority"], [33, 1, 1, "", "TaskStatus"]], "alab_management.task_view.task_enums.CancelingProgress": [[33, 5, 1, "", "PENDING"], [33, 5, 1, "", "WORKER_NOTIFIED"]], "alab_management.task_view.task_enums.TaskPriority": [[33, 5, 1, "", "HIGH"], [33, 5, 1, "", "LOW"], [33, 5, 1, "", "NORMAL"], [33, 5, 1, "", "SYSTEM"], [33, 5, 1, "", "URGENT"]], "alab_management.task_view.task_enums.TaskStatus": [[33, 5, 1, "", "CANCELLED"], [33, 5, 1, "", "COMPLETED"], [33, 5, 1, "", "ERROR"], [33, 5, 1, "", "FINISHING"], [33, 5, 1, "", "INITIATED"], [33, 5, 1, "", "READY"], [33, 5, 1, "", "REQUESTING_RESOURCES"], [33, 5, 1, "", "RUNNING"], [33, 5, 1, "", "WAITING"]], "alab_management.task_view.task_view": [[34, 1, 1, "", "TaskView"]], "alab_management.task_view.task_view.TaskView": [[34, 2, 1, "", "create_subtask"], [34, 2, 1, "", "create_task"], [34, 2, 1, "", "encode_task"], [34, 2, 1, "", "exists"], [34, 2, 1, "", "get_ready_tasks"], [34, 2, 1, "", "get_status"], [34, 2, 1, "", "get_task"], [34, 2, 1, "", "get_task_with_sample"], [34, 2, 1, "", "get_tasks_by_status"], [34, 2, 1, "", "get_tasks_to_be_canceled"], [34, 2, 1, "", "mark_task_as_canceling"], [34, 2, 1, "", "set_message"], [34, 2, 1, "", "set_task_actor_id"], [34, 2, 1, "", "try_to_mark_task_ready"], [34, 2, 1, "", "update_canceling_progress"], [34, 2, 1, "", "update_result"], [34, 2, 1, "", "update_status"], [34, 2, 1, "", "update_subtask_result"], [34, 2, 1, "", "update_subtask_status"], [34, 2, 1, "", "update_task_dependency"]], "alab_management.user_input": [[35, 1, 1, "", "UserInputView"], [35, 1, 1, "", "UserRequestStatus"], [35, 3, 1, "", "request_maintenance_input"], [35, 3, 1, "", "request_user_input"], [35, 3, 1, "", "request_user_input_with_note"]], "alab_management.user_input.UserInputView": [[35, 2, 1, "", "clean_up_user_input_collection"], [35, 2, 1, "", "get_all_pending_requests"], [35, 2, 1, "", "get_request"], [35, 2, 1, "", "insert_request"], [35, 2, 1, "", "retrieve_user_input"], [35, 2, 1, "", "retrieve_user_input_with_note"], [35, 2, 1, "", "update_request_status"]], "alab_management.user_input.UserRequestStatus": [[35, 5, 1, "", "ERROR"], [35, 5, 1, "", "FULLFILLED"], [35, 5, 1, "", "PENDING"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:property", "5": "py:attribute", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "property", "Python property"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"advanc": [0, 44], "topic": 0, "alab_manag": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 41], "packag": [1, 3, 8, 13, 19, 23, 28, 30], "subpackag": 1, "submodul": [1, 3, 8, 13, 19, 23, 28, 30], "modul": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 39], "content": [1, 3, 8, 13, 19, 23, 28, 30], "alarm": 2, "builder": [3, 4, 5, 44], "experimentbuild": 4, "samplebuild": 5, "config": [6, 42, 43], "device_manag": 7, "device_view": [8, 9, 10, 11], "dbattribut": 9, "devic": [10, 36, 38, 46], "experiment_manag": 12, "experiment_view": [13, 14, 15, 16], "completed_experiment_view": 14, "experi": [15, 39, 44], "lab_view": 17, "logger": 18, "resource_manag": [19, 20, 21, 22], "enum": 20, "resource_request": 22, "sample_view": [23, 24, 25, 26], "completed_sample_view": 24, "sampl": [25, 36, 38, 44, 45], "task_actor": 27, "task_manag": [28, 29], "task_view": [30, 31, 32, 33, 34], "completed_task_view": 31, "task": [32, 39, 44, 45], "task_enum": 33, "user_input": 35, "best": 36, "practic": 36, "1": 36, "minim": 36, "durat": 36, "time": 36, "sensit": 36, "exampl": [36, 44, 46], "system": [36, 37], "solut": 36, "implement": [36, 38], "2": 36, "share": 36, "instrument": 36, "between": 36, "autom": [36, 47], "workflow": 36, "manual": 36, "usag": 36, "case": 36, "studi": 36, "sem": 36, "paus": 36, "3": 36, "cancel": 36, "remov": 36, "them": 36, "out": 36, "gracefulli": 36, "develop": 37, "environ": 37, "setup": 37, "ci": 37, "git": 37, "commit": 37, "rule": 37, "defin": [38, 45], "posit": 38, "boxfurnac": [38, 46], "all": 38, "abstract": 38, "method": [38, 45], "interfac": 38, "set": [38, 42, 43, 45], "up": [38, 42, 43], "messag": [38, 45], "error": [38, 45], "handl": [38, 45], "mock": [38, 45], "regist": [38, 45], "standalon": 38, "what": [38, 40, 42, 45], "": [38, 40, 42, 45], "next": [38, 40, 42, 45], "overview": 39, "terminologi": 39, "lab": [39, 43], "statu": [39, 44], "manag": 39, "actor": 39, "data": 39, "storag": [39, 45], "indic": 39, "tabl": 39, "instal": 40, "prerequisit": 40, "mongodb": 40, "rabbitmq": 40, "via": [40, 42, 44], "pip": 40, "from": 40, "sourc": 40, "code": 40, "configur": 42, "folder": 42, "initi": 42, "project": [42, 46], "command": 42, "line": 42, "structur": [42, 47], "file": [42, 43, 45], "launch": 43, "enabl": 43, "simul": 43, "mode": 43, "locat": 43, "clean": 43, "start": 43, "worker": 43, "summari": 43, "submit": 44, "synthesi": [44, 47], "class": [44, 46], "add": 44, "build": 44, "alab": 44, "16": 44, "see": 44, "check": 44, "api": 44, "submiss": 44, "paramet": 45, "valid": 45, "run": 45, "under": 45, "request": 45, "resourc": 45, "result": 45, "larg": 45, "output": 45, "dashboard": 45, "subtask": 45, "unhandl": 45, "lifecycl": 45, "test": 46, "alabo": 46, "methodologi": 46, "fixtur": 46, "tutori": 47, "solid": 47, "state": 47, "The": 47}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Advance Topics": [[0, "advance-topics"]], "alab_management package": [[1, "alab-management-package"]], "Subpackages": [[1, "subpackages"]], "Submodules": [[1, "submodules"], [3, "submodules"], [8, "submodules"], [13, "submodules"], [19, "submodules"], [23, "submodules"], [28, "submodules"], [30, "submodules"]], "Module contents": [[1, "module-alab_management"], [3, "module-alab_management.builders"], [8, "module-alab_management.device_view"], [13, "module-alab_management.experiment_view"], [19, "module-alab_management.resource_manager"], [23, "module-alab_management.sample_view"], [28, "module-alab_management.task_manager"], [30, "module-alab_management.task_view"]], "alab_management.alarm module": [[2, "module-alab_management.alarm"]], "alab_management.builders package": [[3, "alab-management-builders-package"]], "alab_management.builders.experimentbuilder module": [[4, "module-alab_management.builders.experimentbuilder"]], "alab_management.builders.samplebuilder module": [[5, "module-alab_management.builders.samplebuilder"]], "alab_management.config module": [[6, "module-alab_management.config"]], "alab_management.device_manager module": [[7, "module-alab_management.device_manager"]], "alab_management.device_view package": [[8, "alab-management-device-view-package"]], "alab_management.device_view.dbattributes module": [[9, "module-alab_management.device_view.dbattributes"]], "alab_management.device_view.device module": [[10, "module-alab_management.device_view.device"]], "alab_management.device_view.device_view module": [[11, "module-alab_management.device_view.device_view"]], "alab_management.experiment_manager module": [[12, "module-alab_management.experiment_manager"]], "alab_management.experiment_view package": [[13, "alab-management-experiment-view-package"]], "alab_management.experiment_view.completed_experiment_view module": [[14, "module-alab_management.experiment_view.completed_experiment_view"]], "alab_management.experiment_view.experiment module": [[15, "module-alab_management.experiment_view.experiment"]], "alab_management.experiment_view.experiment_view module": [[16, "module-alab_management.experiment_view.experiment_view"]], "alab_management.lab_view module": [[17, "module-alab_management.lab_view"]], "alab_management.logger module": [[18, "module-alab_management.logger"]], "alab_management.resource_manager package": [[19, "alab-management-resource-manager-package"]], "alab_management.resource_manager.enums module": [[20, "module-alab_management.resource_manager.enums"]], "alab_management.resource_manager.resource_manager module": [[21, "module-alab_management.resource_manager.resource_manager"]], "alab_management.resource_manager.resource_requester module": [[22, "module-alab_management.resource_manager.resource_requester"]], "alab_management.sample_view package": [[23, "alab-management-sample-view-package"]], "alab_management.sample_view.completed_sample_view module": [[24, "module-alab_management.sample_view.completed_sample_view"]], "alab_management.sample_view.sample module": [[25, "module-alab_management.sample_view.sample"]], "alab_management.sample_view.sample_view module": [[26, "module-alab_management.sample_view.sample_view"]], "alab_management.task_actor module": [[27, "alab-management-task-actor-module"]], "alab_management.task_manager package": [[28, "alab-management-task-manager-package"]], "alab_management.task_manager.task_manager module": [[29, "module-alab_management.task_manager.task_manager"]], "alab_management.task_view package": [[30, "alab-management-task-view-package"]], "alab_management.task_view.completed_task_view module": [[31, "module-alab_management.task_view.completed_task_view"]], "alab_management.task_view.task module": [[32, "module-alab_management.task_view.task"]], "alab_management.task_view.task_enums module": [[33, "module-alab_management.task_view.task_enums"]], "alab_management.task_view.task_view module": [[34, "module-alab_management.task_view.task_view"]], "alab_management.user_input module": [[35, "module-alab_management.user_input"]], "Best Practices": [[36, "best-practices"]], "1. Minimizing duration for time-sensitive samples": [[36, "minimizing-duration-for-time-sensitive-samples"]], "Example system:": [[36, "example-system"]], "Solution implementation for the system:": [[36, "solution-implementation-for-the-system"]], "2. Sharing device/instrument between automated workflow and manual usage": [[36, "sharing-device-instrument-between-automated-workflow-and-manual-usage"]], "Case study: SEM": [[36, "case-study-sem"]], "Solution: Pausing SEM": [[36, "solution-pausing-sem"]], "3. Cancelling samples and removing them out of the automated workflow gracefully": [[36, "cancelling-samples-and-removing-them-out-of-the-automated-workflow-gracefully"]], "Development": [[37, "development"]], "Development Environment Setup": [[37, "development-environment-setup"]], "CI System": [[37, "ci-system"]], "Git commit rules": [[37, "git-commit-rules"]], "Defining devices and sample positions": [[38, "defining-devices-and-sample-positions"]], "Implementing BoxFurnace": [[38, "implementing-boxfurnace"]], "Implementing all abstract methods": [[38, "implementing-all-abstract-methods"]], "Defining the device interface": [[38, "defining-the-device-interface"]], "Setting up the message": [[38, "setting-up-the-message"]], "Error handling": [[38, "error-handling"], [45, "error-handling"]], "Mocking the device": [[38, "mocking-the-device"]], "Registering the device": [[38, "registering-the-device"]], "Registering standalone sample positions": [[38, "registering-standalone-sample-positions"]], "What\u2019s next": [[38, "what-s-next"], [40, "what-s-next"], [42, "what-s-next"], [45, "what-s-next"]], "Overview": [[39, "overview"]], "Terminology": [[39, "terminology"]], "Modules": [[39, "modules"]], "Lab status": [[39, "lab-status"]], "Experiment manager": [[39, "experiment-manager"]], "Task manager": [[39, "task-manager"]], "Task actor": [[39, "task-actor"]], "Data Storage": [[39, "data-storage"]], "Indices and tables": [[39, "indices-and-tables"]], "Installation": [[40, "installation"]], "Prerequisites": [[40, "prerequisites"]], "MongoDB": [[40, "mongodb"]], "RabbitMQ": [[40, "rabbitmq"]], "Install via pip": [[40, "install-via-pip"]], "Install from source code": [[40, "install-from-source-code"]], "alab_management": [[41, "alab-management"]], "Set up configuration folder": [[42, "set-up-configuration-folder"]], "Initiate a project via command line": [[42, "initiate-a-project-via-command-line"]], "Folder structure": [[42, "folder-structure"]], "Config file": [[42, "config-file"]], "Launching lab": [[43, "launching-lab"]], "Enable simulation mode": [[43, "enable-simulation-mode"]], "Config file location": [[43, "config-file-location"]], "Set up / clean up the lab": [[43, "set-up-clean-up-the-lab"]], "Start the lab and the worker": [[43, "start-the-lab-and-the-worker"]], "Summary": [[43, "summary"]], "Submitting the synthesis experiments": [[44, "submitting-the-synthesis-experiments"]], "Builder class": [[44, "builder-class"]], "Add samples": [[44, "add-samples"]], "Add tasks": [[44, "add-tasks"]], "Add task to the sample": [[44, "add-task-to-the-sample"]], "Example: Build the alab experiment with 16 samples": [[44, "example-build-the-alab-experiment-with-16-samples"]], "Submit the experiment": [[44, "submit-the-experiment"]], "See the status of the experiment": [[44, "see-the-status-of-the-experiment"]], "Check the status via API": [[44, "check-the-status-via-api"]], "Advanced submission": [[44, "advanced-submission"]], "Defining tasks": [[45, "defining-tasks"]], "Task parameters": [[45, "task-parameters"]], "Parameter validation": [[45, "parameter-validation"]], "Run method": [[45, "run-method"]], "Samples under the task": [[45, "samples-under-the-task"]], "Requesting resources": [[45, "requesting-resources"]], "Result storage": [[45, "result-storage"]], "Large file storage": [[45, "large-file-storage"]], "Validate the output": [[45, "validate-the-output"]], "Set dashboard message": [[45, "set-dashboard-message"]], "Run subtask": [[45, "run-subtask"]], "Unhandled error": [[45, "unhandled-error"]], "Mocking": [[45, "mocking"]], "Register the task": [[45, "register-the-task"]], "Lifecycle of a task": [[45, "lifecycle-of-a-task"]], "Testing for AlabOS Project": [[46, "testing-for-alabos-project"]], "Methodology": [[46, "methodology"]], "Example": [[46, "example"]], "Device Class: BoxFurnace": [[46, "device-class-boxfurnace"]], "Fixtures": [[46, "fixtures"]], "Tests": [[46, "tests"]], "Tutorial": [[47, "tutorial"]], "Automated solid-state synthesis": [[47, "automated-solid-state-synthesis"]], "The structure of the tutorial": [[47, "the-structure-of-the-tutorial"]]}, "indexentries": {"alab_management": [[1, "module-alab_management"]], "module": [[1, "module-alab_management"], [2, "module-alab_management.alarm"], [3, "module-alab_management.builders"], [4, "module-alab_management.builders.experimentbuilder"], [5, "module-alab_management.builders.samplebuilder"], [6, "module-alab_management.config"], [7, "module-alab_management.device_manager"], [8, "module-alab_management.device_view"], [9, "module-alab_management.device_view.dbattributes"], [10, "module-alab_management.device_view.device"], [11, "module-alab_management.device_view.device_view"], [12, "module-alab_management.experiment_manager"], [13, "module-alab_management.experiment_view"], [14, "module-alab_management.experiment_view.completed_experiment_view"], [15, "module-alab_management.experiment_view.experiment"], [16, "module-alab_management.experiment_view.experiment_view"], [17, "module-alab_management.lab_view"], [18, "module-alab_management.logger"], [19, "module-alab_management.resource_manager"], [20, "module-alab_management.resource_manager.enums"], [21, "module-alab_management.resource_manager.resource_manager"], [22, "module-alab_management.resource_manager.resource_requester"], [23, "module-alab_management.sample_view"], [24, "module-alab_management.sample_view.completed_sample_view"], [25, "module-alab_management.sample_view.sample"], [26, "module-alab_management.sample_view.sample_view"], [28, "module-alab_management.task_manager"], [29, "module-alab_management.task_manager.task_manager"], [30, "module-alab_management.task_view"], [31, "module-alab_management.task_view.completed_task_view"], [32, "module-alab_management.task_view.task"], [33, "module-alab_management.task_view.task_enums"], [34, "module-alab_management.task_view.task_view"], [35, "module-alab_management.user_input"]], "alarm (class in alab_management.alarm)": [[2, "alab_management.alarm.Alarm"]], "alab_management.alarm": [[2, "module-alab_management.alarm"]], "alert() (alarm method)": [[2, "alab_management.alarm.Alarm.alert"]], "format_message_to_codeblock() (in module alab_management.alarm)": [[2, "alab_management.alarm.format_message_to_codeblock"]], "send_email() (alarm method)": [[2, "alab_management.alarm.Alarm.send_email"]], "send_slack_notification() (alarm method)": [[2, "alab_management.alarm.Alarm.send_slack_notification"]], "setup_email() (alarm method)": [[2, "alab_management.alarm.Alarm.setup_email"]], "setup_slackbot() (alarm method)": [[2, "alab_management.alarm.Alarm.setup_slackbot"]], "alab_management.builders": [[3, "module-alab_management.builders"]], "experimentbuilder (class in alab_management.builders.experimentbuilder)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder"]], "add_sample() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.add_sample"]], "add_task() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.add_task"]], "alab_management.builders.experimentbuilder": [[4, "module-alab_management.builders.experimentbuilder"]], "generate_input_file() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.generate_input_file"]], "get_experiment_status() (in module alab_management.builders.experimentbuilder)": [[4, "alab_management.builders.experimentbuilder.get_experiment_status"]], "plot() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.plot"]], "submit() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.submit"]], "to_dict() (experimentbuilder method)": [[4, "alab_management.builders.experimentbuilder.ExperimentBuilder.to_dict"]], "samplebuilder (class in alab_management.builders.samplebuilder)": [[5, "alab_management.builders.samplebuilder.SampleBuilder"]], "add_task() (samplebuilder method)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.add_task"]], "alab_management.builders.samplebuilder": [[5, "module-alab_management.builders.samplebuilder"]], "tasks (samplebuilder property)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.tasks"]], "to_dict() (samplebuilder method)": [[5, "alab_management.builders.samplebuilder.SampleBuilder.to_dict"]], "alabosconfig (class in alab_management.config)": [[6, "alab_management.config.AlabOSConfig"]], "alab_management.config": [[6, "module-alab_management.config"]], "freeze_config() (in module alab_management.config)": [[6, "alab_management.config.freeze_config"]], "get() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.get"]], "is_sim_mode() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.is_sim_mode"]], "path (alabosconfig property)": [[6, "alab_management.config.AlabOSConfig.path"]], "set_item() (alabosconfig method)": [[6, "alab_management.config.AlabOSConfig.set_item"]], "devicemanager (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceManager"]], "devicemethodcallstate (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceMethodCallState"]], "devicewrapper (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceWrapper"]], "devicewrapper.devicemethodwrapper (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper"]], "devicesclient (class in alab_management.device_manager)": [[7, "alab_management.device_manager.DevicesClient"]], "failure (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.FAILURE"]], "in_progress (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.IN_PROGRESS"]], "methodcallstatus (class in alab_management.device_manager)": [[7, "alab_management.device_manager.MethodCallStatus"]], "pending (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.PENDING"]], "success (methodcallstatus attribute)": [[7, "alab_management.device_manager.MethodCallStatus.SUCCESS"]], "alab_management.device_manager": [[7, "module-alab_management.device_manager"]], "call() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.call"]], "create_device_wrapper() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.create_device_wrapper"]], "future (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.future"]], "last_updated (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.last_updated"]], "method (devicewrapper.devicemethodwrapper property)": [[7, "alab_management.device_manager.DeviceWrapper.DeviceMethodWrapper.method"]], "name (devicewrapper property)": [[7, "alab_management.device_manager.DeviceWrapper.name"]], "on_message() (devicemanager method)": [[7, "alab_management.device_manager.DeviceManager.on_message"]], "on_message() (devicesclient method)": [[7, "alab_management.device_manager.DevicesClient.on_message"]], "run() (devicemanager method)": [[7, "alab_management.device_manager.DeviceManager.run"]], "status (devicemethodcallstate attribute)": [[7, "alab_management.device_manager.DeviceMethodCallState.status"]], "alab_management.device_view": [[8, "module-alab_management.device_view"]], "dictindatabase (class in alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.DictInDatabase"]], "listindatabase (class in alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.ListInDatabase"]], "alab_management.device_view.dbattributes": [[9, "module-alab_management.device_view.dbattributes"]], "append() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.append"]], "apply_default_value() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.apply_default_value"]], "apply_default_value() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.apply_default_value"]], "as_normal_dict() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.as_normal_dict"]], "clear() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.clear"]], "clear() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.clear"]], "copy() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.copy"]], "copy() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.copy"]], "count() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.count"]], "db_filter (dictindatabase property)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.db_filter"]], "db_filter (listindatabase property)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.db_filter"]], "db_projection (dictindatabase property)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.db_projection"]], "db_projection (listindatabase property)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.db_projection"]], "extend() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.extend"]], "fromkeys() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.fromkeys"]], "get() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.get"]], "index() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.index"]], "insert() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.insert"]], "items() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.items"]], "keys() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.keys"]], "pop() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.pop"]], "pop() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.pop"]], "popitem() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.popitem"]], "remove() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.remove"]], "reverse() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.reverse"]], "setdefault() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.setdefault"]], "sort() (listindatabase method)": [[9, "alab_management.device_view.dbattributes.ListInDatabase.sort"]], "update() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.update"]], "value_in_database() (in module alab_management.device_view.dbattributes)": [[9, "alab_management.device_view.dbattributes.value_in_database"]], "values() (dictindatabase method)": [[9, "alab_management.device_view.dbattributes.DictInDatabase.values"]], "basedevice (class in alab_management.device_view.device)": [[10, "alab_management.device_view.device.BaseDevice"]], "devicesignalemitter (class in alab_management.device_view.device)": [[10, "alab_management.device_view.device.DeviceSignalEmitter"]], "add_device() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.add_device"]], "alab_management.device_view.device": [[10, "module-alab_management.device_view.device"]], "args (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.args"]], "connect() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.connect"]], "description (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.description"]], "description (basedevice property)": [[10, "id0"]], "dict_in_database() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.dict_in_database"]], "disconnect() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.disconnect"]], "get_all_devices() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.get_all_devices"]], "get_message() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.get_message"]], "get_methods_to_log() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.get_methods_to_log"]], "is_running() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.is_running"]], "kwargs (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.kwargs"]], "list_in_database() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.list_in_database"]], "log_method_to_db() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.log_method_to_db"]], "log_signal() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.log_signal"]], "mock() (in module alab_management.device_view.device)": [[10, "alab_management.device_view.device.mock"]], "name (basedevice attribute)": [[10, "alab_management.device_view.device.BaseDevice.name"]], "request_maintenance() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.request_maintenance"]], "retrieve_signal() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.retrieve_signal"]], "retrieve_signal() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.retrieve_signal"]], "sample_positions (basedevice property)": [[10, "alab_management.device_view.device.BaseDevice.sample_positions"]], "set_message() (basedevice method)": [[10, "alab_management.device_view.device.BaseDevice.set_message"]], "start() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.start"]], "stop() (devicesignalemitter method)": [[10, "alab_management.device_view.device.DeviceSignalEmitter.stop"]], "deviceconnectionerror": [[11, "alab_management.device_view.device_view.DeviceConnectionError"]], "devicepausestatus (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DevicePauseStatus"]], "devicetaskstatus (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus"]], "deviceview (class in alab_management.device_view.device_view)": [[11, "alab_management.device_view.device_view.DeviceView"]], "error (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.ERROR"]], "idle (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.IDLE"]], "occupied (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.OCCUPIED"]], "paused (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.PAUSED"]], "released (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.RELEASED"]], "requested (devicepausestatus attribute)": [[11, "alab_management.device_view.device_view.DevicePauseStatus.REQUESTED"]], "unknown (devicetaskstatus attribute)": [[11, "alab_management.device_view.device_view.DeviceTaskStatus.UNKNOWN"]], "add_devices_to_db() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.add_devices_to_db"]], "alab_management.device_view.device_view": [[11, "module-alab_management.device_view.device_view"]], "execute_command() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.execute_command"]], "get_all() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_all"]], "get_all_attributes() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_all_attributes"]], "get_attribute() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_attribute"]], "get_available_devices() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_available_devices"]], "get_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_device"]], "get_devices_by_task() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_devices_by_task"]], "get_message() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_message"]], "get_sample_on_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_sample_on_device"]], "get_status() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.get_status"]], "occupy_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.occupy_device"]], "pause_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.pause_device"]], "query_property() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.query_property"]], "release_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.release_device"]], "request_devices() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.request_devices"]], "set_all_attributes() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_all_attributes"]], "set_attribute() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_attribute"]], "set_message() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.set_message"]], "sync_device_status() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.sync_device_status"]], "unpause_device() (deviceview method)": [[11, "alab_management.device_view.device_view.DeviceView.unpause_device"]], "experimentmanager (class in alab_management.experiment_manager)": [[12, "alab_management.experiment_manager.ExperimentManager"]], "alab_management.experiment_manager": [[12, "module-alab_management.experiment_manager"]], "handle_pending_experiments() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.handle_pending_experiments"]], "mark_completed_experiments() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.mark_completed_experiments"]], "run() (experimentmanager method)": [[12, "alab_management.experiment_manager.ExperimentManager.run"]], "alab_management.experiment_view": [[13, "module-alab_management.experiment_view"]], "completedexperimentview (class in alab_management.experiment_view.completed_experiment_view)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView"]], "alab_management.experiment_view.completed_experiment_view": [[14, "module-alab_management.experiment_view.completed_experiment_view"]], "exists() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.exists"]], "get_experiment() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.get_experiment"]], "save_all() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.save_all"]], "save_experiment() (completedexperimentview method)": [[14, "alab_management.experiment_view.completed_experiment_view.CompletedExperimentView.save_experiment"]], "inputexperiment (class in alab_management.experiment_view.experiment)": [[15, "alab_management.experiment_view.experiment.InputExperiment"]], "alab_management.experiment_view.experiment": [[15, "module-alab_management.experiment_view.experiment"]], "metadata (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.metadata"]], "model_computed_fields (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_computed_fields"]], "model_config (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_config"]], "model_fields (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.model_fields"]], "must_be_bsonable() (inputexperiment class method)": [[15, "alab_management.experiment_view.experiment.InputExperiment.must_be_bsonable"]], "name (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.name"]], "samples (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.samples"]], "tags (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.tags"]], "tasks (inputexperiment attribute)": [[15, "alab_management.experiment_view.experiment.InputExperiment.tasks"]], "completed (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.COMPLETED"]], "error (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.ERROR"]], "experimentstatus (class in alab_management.experiment_view.experiment_view)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus"]], "experimentview (class in alab_management.experiment_view.experiment_view)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView"]], "pending (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.PENDING"]], "running (experimentstatus attribute)": [[16, "alab_management.experiment_view.experiment_view.ExperimentStatus.RUNNING"]], "alab_management.experiment_view.experiment_view": [[16, "module-alab_management.experiment_view.experiment_view"]], "create_experiment() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.create_experiment"]], "get_experiment() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment"]], "get_experiment_by_sample_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment_by_sample_id"]], "get_experiment_by_task_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiment_by_task_id"]], "get_experiments_with_status() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.get_experiments_with_status"]], "update_experiment_status() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.update_experiment_status"]], "update_sample_task_id() (experimentview method)": [[16, "alab_management.experiment_view.experiment_view.ExperimentView.update_sample_task_id"]], "devicerunningexception": [[17, "alab_management.lab_view.DeviceRunningException"]], "labview (class in alab_management.lab_view)": [[17, "alab_management.lab_view.LabView"]], "alab_management.lab_view": [[17, "module-alab_management.lab_view"]], "get_locked_sample_positions() (labview method)": [[17, "alab_management.lab_view.LabView.get_locked_sample_positions"]], "get_sample() (labview method)": [[17, "alab_management.lab_view.LabView.get_sample"]], "get_sample_position_parent_device() (labview method)": [[17, "alab_management.lab_view.LabView.get_sample_position_parent_device"]], "move_sample() (labview method)": [[17, "alab_management.lab_view.LabView.move_sample"]], "priority (labview property)": [[17, "alab_management.lab_view.LabView.priority"]], "request_cleanup() (labview method)": [[17, "alab_management.lab_view.LabView.request_cleanup"]], "request_resources() (labview method)": [[17, "alab_management.lab_view.LabView.request_resources"]], "request_user_input() (labview method)": [[17, "alab_management.lab_view.LabView.request_user_input"]], "request_user_input_with_note() (labview method)": [[17, "alab_management.lab_view.LabView.request_user_input_with_note"]], "run_subtask() (labview method)": [[17, "alab_management.lab_view.LabView.run_subtask"]], "task_id (labview property)": [[17, "alab_management.lab_view.LabView.task_id"]], "update_result() (labview method)": [[17, "alab_management.lab_view.LabView.update_result"]], "update_sample_metadata() (labview method)": [[17, "alab_management.lab_view.LabView.update_sample_metadata"]], "characterization_result (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.CHARACTERIZATION_RESULT"]], "critical (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.CRITICAL"]], "dblogger (class in alab_management.logger)": [[18, "alab_management.logger.DBLogger"]], "debug (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.DEBUG"]], "device_signal (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.DEVICE_SIGNAL"]], "error (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.ERROR"]], "fatal (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.FATAL"]], "info (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.INFO"]], "logginglevel (class in alab_management.logger)": [[18, "alab_management.logger.LoggingLevel"]], "loggingtype (class in alab_management.logger)": [[18, "alab_management.logger.LoggingType"]], "other (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.OTHER"]], "sample_amount (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.SAMPLE_AMOUNT"]], "system_log (loggingtype attribute)": [[18, "alab_management.logger.LoggingType.SYSTEM_LOG"]], "warn (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.WARN"]], "warning (logginglevel attribute)": [[18, "alab_management.logger.LoggingLevel.WARNING"]], "alab_management.logger": [[18, "module-alab_management.logger"]], "filter_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.filter_device_signal"]], "filter_log() (dblogger method)": [[18, "alab_management.logger.DBLogger.filter_log"]], "get_latest_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.get_latest_device_signal"]], "log() (dblogger method)": [[18, "alab_management.logger.DBLogger.log"]], "log_amount() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_amount"]], "log_characterization_result() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_characterization_result"]], "log_device_signal() (dblogger method)": [[18, "alab_management.logger.DBLogger.log_device_signal"]], "system_log() (dblogger method)": [[18, "alab_management.logger.DBLogger.system_log"]], "alab_management.resource_manager": [[19, "module-alab_management.resource_manager"]], "canceled (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.CANCELED"]], "error (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.ERROR"]], "fulfilled (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.FULFILLED"]], "need_release (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.NEED_RELEASE"]], "pending (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.PENDING"]], "released (requeststatus attribute)": [[20, "alab_management.resource_manager.enums.RequestStatus.RELEASED"]], "requeststatus (class in alab_management.resource_manager.enums)": [[20, "alab_management.resource_manager.enums.RequestStatus"]], "alab_management.resource_manager.enums": [[20, "module-alab_management.resource_manager.enums"]], "resourcemanager (class in alab_management.resource_manager.resource_manager)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager"]], "alab_management.resource_manager.resource_manager": [[21, "module-alab_management.resource_manager.resource_manager"]], "handle_released_resources() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.handle_released_resources"]], "handle_requested_resources() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.handle_requested_resources"]], "run() (resourcemanager method)": [[21, "alab_management.resource_manager.resource_manager.ResourceManager.run"]], "combinedtimeouterror": [[22, "alab_management.resource_manager.resource_requester.CombinedTimeoutError"]], "devicerequest (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest"]], "requestcancelederror": [[22, "alab_management.resource_manager.resource_requester.RequestCanceledError"]], "requestmixin (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin"]], "resourcerequestitem (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem"]], "resourcerequester (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester"]], "resourcesrequest (class in alab_management.resource_manager.resource_requester)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest"]], "alab_management.resource_manager.resource_requester": [[22, "module-alab_management.resource_manager.resource_requester"]], "content (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.content"]], "device (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.device"]], "get_concurrent_result() (resourcerequester static method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.get_concurrent_result"]], "get_request() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_request"]], "get_requests_by_status() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_requests_by_status"]], "get_requests_by_task_id() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.get_requests_by_task_id"]], "identifier (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.identifier"]], "model_computed_fields (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_computed_fields"]], "model_computed_fields (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_computed_fields"]], "model_computed_fields (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_computed_fields"]], "model_config (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_config"]], "model_config (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_config"]], "model_config (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_config"]], "model_fields (devicerequest attribute)": [[22, "alab_management.resource_manager.resource_requester.DeviceRequest.model_fields"]], "model_fields (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.model_fields"]], "model_fields (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.model_fields"]], "preprocess() (resourcesrequest class method)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.preprocess"]], "release_all_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.release_all_resources"]], "release_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.release_resources"]], "request_resources() (resourcerequester method)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequester.request_resources"]], "root (resourcesrequest attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourcesRequest.root"]], "sample_positions (resourcerequestitem attribute)": [[22, "alab_management.resource_manager.resource_requester.ResourceRequestItem.sample_positions"]], "update_request_status() (requestmixin method)": [[22, "alab_management.resource_manager.resource_requester.RequestMixin.update_request_status"]], "alab_management.sample_view": [[23, "module-alab_management.sample_view"]], "completedsampleview (class in alab_management.sample_view.completed_sample_view)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView"]], "alab_management.sample_view.completed_sample_view": [[24, "module-alab_management.sample_view.completed_sample_view"]], "exists() (completedsampleview method)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView.exists"]], "save_sample() (completedsampleview method)": [[24, "alab_management.sample_view.completed_sample_view.CompletedSampleView.save_sample"]], "separator (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.SEPARATOR"]], "sample (class in alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.Sample"]], "sampleposition (class in alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.SamplePosition"]], "add_standalone_sample_position() (in module alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.add_standalone_sample_position"]], "alab_management.sample_view.sample": [[25, "module-alab_management.sample_view.sample"]], "description (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.description"]], "get_all_standalone_sample_positions() (in module alab_management.sample_view.sample)": [[25, "alab_management.sample_view.sample.get_all_standalone_sample_positions"]], "metadata (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.metadata"]], "name (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.name"]], "name (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.name"]], "number (sampleposition attribute)": [[25, "alab_management.sample_view.sample.SamplePosition.number"]], "position (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.position"]], "sample_id (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.sample_id"]], "tags (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.tags"]], "task_id (sample attribute)": [[25, "alab_management.sample_view.sample.Sample.task_id"]], "empty (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.EMPTY"]], "locked (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.LOCKED"]], "occupied (samplepositionstatus attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus.OCCUPIED"]], "samplepositionrequest (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest"]], "samplepositionstatus (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SamplePositionStatus"]], "sampleview (class in alab_management.sample_view.sample_view)": [[26, "alab_management.sample_view.sample_view.SampleView"]], "add_sample_positions_to_db() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.add_sample_positions_to_db"]], "alab_management.sample_view.sample_view": [[26, "module-alab_management.sample_view.sample_view"]], "clean_up_sample_position_collection() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.clean_up_sample_position_collection"]], "create_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.create_sample"]], "exists() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.exists"]], "from_py_type() (samplepositionrequest class method)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.from_py_type"]], "from_str() (samplepositionrequest class method)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.from_str"]], "get_available_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_available_sample_position"]], "get_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample"]], "get_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position"]], "get_sample_position_parent_device() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position_parent_device"]], "get_sample_position_status() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_position_status"]], "get_sample_positions_by_task() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_sample_positions_by_task"]], "get_samples_on_device() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.get_samples_on_device"]], "is_locked_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.is_locked_position"]], "is_unoccupied_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.is_unoccupied_position"]], "lock_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.lock_sample_position"]], "model_computed_fields (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_computed_fields"]], "model_config (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_config"]], "model_fields (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.model_fields"]], "move_sample() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.move_sample"]], "number (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.number"]], "prefix (samplepositionrequest attribute)": [[26, "alab_management.sample_view.sample_view.SamplePositionRequest.prefix"]], "release_sample_position() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.release_sample_position"]], "request_sample_positions() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.request_sample_positions"]], "update_sample_metadata() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.update_sample_metadata"]], "update_sample_task_id() (sampleview method)": [[26, "alab_management.sample_view.sample_view.SampleView.update_sample_task_id"]], "alab_management.task_manager": [[28, "module-alab_management.task_manager"]], "taskmanager (class in alab_management.task_manager.task_manager)": [[29, "alab_management.task_manager.task_manager.TaskManager"]], "alab_management.task_manager.task_manager": [[29, "module-alab_management.task_manager.task_manager"]], "clean_up_tasks_from_previous_runs() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.clean_up_tasks_from_previous_runs"]], "handle_tasks_to_be_canceled() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.handle_tasks_to_be_canceled"]], "run() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.run"]], "submit_ready_tasks() (taskmanager method)": [[29, "alab_management.task_manager.task_manager.TaskManager.submit_ready_tasks"]], "alab_management.task_view": [[30, "module-alab_management.task_view"]], "completedtaskview (class in alab_management.task_view.completed_task_view)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView"]], "alab_management.task_view.completed_task_view": [[31, "module-alab_management.task_view.completed_task_view"]], "exists() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.exists"]], "get_task() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.get_task"]], "save_task() (completedtaskview method)": [[31, "alab_management.task_view.completed_task_view.CompletedTaskView.save_task"]], "basetask (class in alab_management.task_view.task)": [[32, "alab_management.task_view.task.BaseTask"]], "largeresult (class in alab_management.task_view.task)": [[32, "alab_management.task_view.task.LargeResult"]], "add_reroute_task() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.add_reroute_task"]], "add_task() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.add_task"]], "add_to() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.add_to"]], "alab_management.task_view.task": [[32, "module-alab_management.task_view.task"]], "check_file_like_data() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.check_file_like_data"]], "check_if_stored() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.check_if_stored"]], "file_like_data (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.file_like_data"]], "from_file_like_data() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.from_file_like_data"]], "from_kwargs() (basetask class method)": [[32, "alab_management.task_view.task.BaseTask.from_kwargs"]], "from_local_file() (largeresult class method)": [[32, "alab_management.task_view.task.LargeResult.from_local_file"]], "get_all_tasks() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.get_all_tasks"]], "get_message() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.get_message"]], "get_task_by_name() (in module alab_management.task_view.task)": [[32, "alab_management.task_view.task.get_task_by_name"]], "identifier (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.identifier"]], "is_offline (basetask property)": [[32, "alab_management.task_view.task.BaseTask.is_offline"]], "local_path (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.local_path"]], "model_computed_fields (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_computed_fields"]], "model_config (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_config"]], "model_fields (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.model_fields"]], "priority (basetask property)": [[32, "alab_management.task_view.task.BaseTask.priority"]], "result_specification (basetask property)": [[32, "alab_management.task_view.task.BaseTask.result_specification"]], "retrieve() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.retrieve"]], "run() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.run"]], "run_subtask() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.run_subtask"]], "samples (basetask property)": [[32, "alab_management.task_view.task.BaseTask.samples"]], "set_message() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.set_message"]], "storage_type (largeresult attribute)": [[32, "alab_management.task_view.task.LargeResult.storage_type"]], "store() (largeresult method)": [[32, "alab_management.task_view.task.LargeResult.store"]], "validate() (basetask method)": [[32, "alab_management.task_view.task.BaseTask.validate"]], "cancelled (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.CANCELLED"]], "completed (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.COMPLETED"]], "cancelingprogress (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.CancelingProgress"]], "error (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.ERROR"]], "finishing (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.FINISHING"]], "high (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.HIGH"]], "initiated (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.INITIATED"]], "low (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.LOW"]], "normal (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.NORMAL"]], "pending (cancelingprogress attribute)": [[33, "alab_management.task_view.task_enums.CancelingProgress.PENDING"]], "ready (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.READY"]], "requesting_resources (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.REQUESTING_RESOURCES"]], "running (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.RUNNING"]], "system (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.SYSTEM"]], "taskpriority (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.TaskPriority"]], "taskstatus (class in alab_management.task_view.task_enums)": [[33, "alab_management.task_view.task_enums.TaskStatus"]], "urgent (taskpriority attribute)": [[33, "alab_management.task_view.task_enums.TaskPriority.URGENT"]], "waiting (taskstatus attribute)": [[33, "alab_management.task_view.task_enums.TaskStatus.WAITING"]], "worker_notified (cancelingprogress attribute)": [[33, "alab_management.task_view.task_enums.CancelingProgress.WORKER_NOTIFIED"]], "alab_management.task_view.task_enums": [[33, "module-alab_management.task_view.task_enums"]], "taskview (class in alab_management.task_view.task_view)": [[34, "alab_management.task_view.task_view.TaskView"]], "alab_management.task_view.task_view": [[34, "module-alab_management.task_view.task_view"]], "create_subtask() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.create_subtask"]], "create_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.create_task"]], "encode_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.encode_task"]], "exists() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.exists"]], "get_ready_tasks() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_ready_tasks"]], "get_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_status"]], "get_task() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_task"]], "get_task_with_sample() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_task_with_sample"]], "get_tasks_by_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_tasks_by_status"]], "get_tasks_to_be_canceled() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.get_tasks_to_be_canceled"]], "mark_task_as_canceling() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.mark_task_as_canceling"]], "set_message() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.set_message"]], "set_task_actor_id() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.set_task_actor_id"]], "try_to_mark_task_ready() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.try_to_mark_task_ready"]], "update_canceling_progress() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_canceling_progress"]], "update_result() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_result"]], "update_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_status"]], "update_subtask_result() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_subtask_result"]], "update_subtask_status() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_subtask_status"]], "update_task_dependency() (taskview method)": [[34, "alab_management.task_view.task_view.TaskView.update_task_dependency"]], "error (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.ERROR"]], "fullfilled (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.FULLFILLED"]], "pending (userrequeststatus attribute)": [[35, "alab_management.user_input.UserRequestStatus.PENDING"]], "userinputview (class in alab_management.user_input)": [[35, "alab_management.user_input.UserInputView"]], "userrequeststatus (class in alab_management.user_input)": [[35, "alab_management.user_input.UserRequestStatus"]], "alab_management.user_input": [[35, "module-alab_management.user_input"]], "clean_up_user_input_collection() (userinputview method)": [[35, "alab_management.user_input.UserInputView.clean_up_user_input_collection"]], "get_all_pending_requests() (userinputview method)": [[35, "alab_management.user_input.UserInputView.get_all_pending_requests"]], "get_request() (userinputview method)": [[35, "alab_management.user_input.UserInputView.get_request"]], "insert_request() (userinputview method)": [[35, "alab_management.user_input.UserInputView.insert_request"]], "request_maintenance_input() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_maintenance_input"]], "request_user_input() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_user_input"]], "request_user_input_with_note() (in module alab_management.user_input)": [[35, "alab_management.user_input.request_user_input_with_note"]], "retrieve_user_input() (userinputview method)": [[35, "alab_management.user_input.UserInputView.retrieve_user_input"]], "retrieve_user_input_with_note() (userinputview method)": [[35, "alab_management.user_input.UserInputView.retrieve_user_input_with_note"]], "update_request_status() (userinputview method)": [[35, "alab_management.user_input.UserInputView.update_request_status"]]}}) \ No newline at end of file diff --git a/setup.html b/setup.html index c4336b12..f025570c 100644 --- a/setup.html +++ b/setup.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/start_lab.html b/start_lab.html index c16ba4b1..7fc6b4e2 100644 --- a/start_lab.html +++ b/start_lab.html @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/submit_experiments.html b/submit_experiments.html index b613a348..14bff19d 100644 --- a/submit_experiments.html +++ b/submit_experiments.html @@ -173,7 +173,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/task_definition.html b/task_definition.html index 8662bd16..99012175 100644 --- a/task_definition.html +++ b/task_definition.html @@ -173,7 +173,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • diff --git a/test.html b/test.html index 32ed897f..749775ec 100644 --- a/test.html +++ b/test.html @@ -8,7 +8,7 @@ - Testing for Alab Definition — Alab Management 1.0.1 + Testing for AlabOS Project — Alab Management 1.0.1 @@ -171,7 +171,7 @@
  • Best Practices
  • Advance Topics
  • Development
  • @@ -382,7 +382,7 @@
    -

    Testing for Alab Definition

    +

    Testing for AlabOS Project

    @@ -412,8 +412,8 @@

    Contents