pychemstation 0.5.11__py3-none-any.whl → 0.5.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. pychemstation/control/controllers/__init__.py +8 -3
  2. pychemstation/control/controllers/devices/__init__.py +0 -0
  3. pychemstation/control/controllers/devices/column.py +12 -0
  4. pychemstation/control/controllers/devices/device.py +23 -0
  5. pychemstation/control/controllers/devices/injector.py +11 -0
  6. pychemstation/control/controllers/devices/pump.py +43 -0
  7. pychemstation/control/controllers/table_controller.py +1 -1
  8. pychemstation/control/controllers/tables/__init__.py +0 -0
  9. pychemstation/control/controllers/tables/method.py +351 -0
  10. pychemstation/control/controllers/tables/ms.py +21 -0
  11. pychemstation/control/controllers/tables/sequence.py +200 -0
  12. pychemstation/control/controllers/tables/table.py +297 -0
  13. pychemstation/control/hplc.py +13 -7
  14. pychemstation/utils/injector_types.py +30 -0
  15. pychemstation/utils/macro.py +3 -1
  16. pychemstation/utils/method_types.py +3 -1
  17. pychemstation/utils/pump_types.py +7 -0
  18. pychemstation/utils/sequence_types.py +3 -2
  19. pychemstation/utils/table_types.py +2 -0
  20. pychemstation/utils/tray_types.py +6 -0
  21. {pychemstation-0.5.11.dist-info → pychemstation-0.5.13.dist-info}/METADATA +3 -2
  22. pychemstation-0.5.13.dist-info/RECORD +52 -0
  23. tests/constants.py +1 -1
  24. tests/test_inj.py +38 -0
  25. tests/test_method.py +21 -1
  26. pychemstation-0.5.11.dist-info/RECORD +0 -39
  27. {pychemstation-0.5.11.dist-info → pychemstation-0.5.13.dist-info}/LICENSE +0 -0
  28. {pychemstation-0.5.11.dist-info → pychemstation-0.5.13.dist-info}/WHEEL +0 -0
  29. {pychemstation-0.5.11.dist-info → pychemstation-0.5.13.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pychemstation
3
- Version: 0.5.11
3
+ Version: 0.5.13
4
4
  Summary: Library to interact with Chemstation software, primarily used in Hein lab
5
5
  Home-page: https://gitlab.com/heingroup/device-api/pychemstation
6
6
  Author: Lucy Hao
@@ -14,6 +14,7 @@ Requires-Dist: polling
14
14
  Requires-Dist: seabreeze
15
15
  Requires-Dist: xsdata
16
16
  Requires-Dist: result
17
+ Requires-Dist: rainbow-api
17
18
 
18
19
  # Agilent HPLC Macro Control
19
20
 
@@ -99,7 +100,7 @@ our [GitLab](https://gitlab.com/heingroup/device-api/pychemstation)!
99
100
 
100
101
  ## Authors and Acknowledgements
101
102
 
102
- Lucy Hao
103
+ Lucy Hao, Maria Politi
103
104
 
104
105
  - Adapted from [**AnalyticalLabware**](https://github.com/croningp/analyticallabware), created by members in the Cronin
105
106
  Group. Copyright © Cronin Group, used under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license.
@@ -0,0 +1,52 @@
1
+ pychemstation/__init__.py,sha256=SpTl-Tg1B1HTyjNOE-8ue-N2wGnXN_2zl7RFUSxlkiM,33
2
+ pychemstation/analysis/__init__.py,sha256=EWoU47iyn9xGS-b44zK9eq50bSjOV4AC5dvt420YMI4,44
3
+ pychemstation/analysis/base_spectrum.py,sha256=XPf9eJ72uz0CnxCY5uFOyu1MbVX-OTTXeN1tLzIMok4,16536
4
+ pychemstation/analysis/spec_utils.py,sha256=UOo9hJR3evJfmaohEEsyb7aq6X996ofuUfu-GKjiDi8,10201
5
+ pychemstation/analysis/utils.py,sha256=ISupAOb_yqA4_DZRK9v18UL-XjUQccAicIJKb1VMnGg,2055
6
+ pychemstation/control/__init__.py,sha256=4xTy8X-mkn_PPZKr7w9rnj1wZhtmTesbQptPhpYmKXs,64
7
+ pychemstation/control/comm.py,sha256=u44g1hTluQ0yUG93Un-QAshScoDpgYRrZfFTgweP5tY,7386
8
+ pychemstation/control/hplc.py,sha256=UlafodQoFFow2UVo-INK1ZjxyJ5vrVvv1TjB5VyAsHo,9178
9
+ pychemstation/control/controllers/__init__.py,sha256=EM6LBNSTJqYVatmnvPq0P-S3q0POA88c-y64zL79I_I,252
10
+ pychemstation/control/controllers/comm.py,sha256=IU4I_Q42VNCNUlVi93MxCmw2EBY9hiBDkU9FxubKg3c,7441
11
+ pychemstation/control/controllers/method.py,sha256=XUclB7lQ_SIkquR58MBmmi9drHIPEq9AR8VprTLenvI,15503
12
+ pychemstation/control/controllers/sequence.py,sha256=kYNxxck2I-q9mZDEZwG8bJ_99FfLmunS13EAHOS65wU,8288
13
+ pychemstation/control/controllers/table_controller.py,sha256=70ovnIjLKkJborS1ztk445Mv42TtUM9jUniaQmZuyWQ,11031
14
+ pychemstation/control/controllers/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ pychemstation/control/controllers/devices/column.py,sha256=SCpCnVFZFUM9LM51MbWkVcBRayN3WFxy7lz9gs2PYeY,348
16
+ pychemstation/control/controllers/devices/device.py,sha256=SF1JK93FjmACnYrlKvldX3gEeA21qnXZegeNhc9QJGQ,738
17
+ pychemstation/control/controllers/devices/injector.py,sha256=PfkSQlpE1zMzwyJ55Km1AdtPtdOS2RNyHDwAt_ZNa6M,349
18
+ pychemstation/control/controllers/devices/pump.py,sha256=DJQh4lNXEraeC1CWrsKmsITOjuYlRI3tih_XRB3F1hg,1404
19
+ pychemstation/control/controllers/tables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ pychemstation/control/controllers/tables/method.py,sha256=Woni_nAEWRZ79wf2WixLnJWZONNdGgZGGV9GG7m0qCQ,16189
21
+ pychemstation/control/controllers/tables/ms.py,sha256=JFD-tOhu8uRyKdl-E3-neRssii8MNqVRIlsrnFhNY_M,682
22
+ pychemstation/control/controllers/tables/sequence.py,sha256=vqwJeV38YWdFnaDXvZVOGYl-UCV9lmMbh8Fj5kQ3mqY,8815
23
+ pychemstation/control/controllers/tables/table.py,sha256=5AIzomkl9-iN4-WijzuGT_pkGndAsqqlm8Pv_h8Mg4k,11911
24
+ pychemstation/control/table/__init__.py,sha256=RgMN4uIWHdNUHpGRBWdzmzAbk7XEKl6Y-qtqWCxzSZU,124
25
+ pychemstation/control/table/method.py,sha256=THVoGomSXff_CTU3eAYme0BYwkPzab5UgZKsiZ29QSk,12196
26
+ pychemstation/control/table/sequence.py,sha256=Eri52AnbE3BGthfrRSvYKYciquUzvHKo0lYUTySYYE8,10542
27
+ pychemstation/control/table/table_controller.py,sha256=HVNYUXqtyFTAvb67fa3RO5RHgmBTFMsYRHKpiXdYcfs,8313
28
+ pychemstation/generated/__init__.py,sha256=GAoZFAYbPVEJDkcOw3e1rgOqd7TCW0HyKNPM8OMehMg,1005
29
+ pychemstation/generated/dad_method.py,sha256=0W8Z5WDtF5jpIcudMqb7XrkTnR2EGg_QOCsHRFQ0rmM,8402
30
+ pychemstation/generated/pump_method.py,sha256=sUhE2Oo00nzVcoONtq3EMWsN4wLSryXbG8f3EeViWKg,12174
31
+ pychemstation/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ pychemstation/utils/chromatogram.py,sha256=-q3_hL9GTyi4C95os7IwAiOrkTM4EXIiigm-nW9pFmM,3221
33
+ pychemstation/utils/injector_types.py,sha256=xOkvlX_cH_QmuKbyXj8Lc2JEA_6g82az1zB4oTwcKN0,386
34
+ pychemstation/utils/macro.py,sha256=OCQRRC-f46RlhenZfe7ldSgxBhzcZ5JlW3Ej-9OfeSI,2847
35
+ pychemstation/utils/method_types.py,sha256=e7c2nWub6pT_S8ZF6sd7uXYm9ZBno0mARnzc1hnSHPY,1516
36
+ pychemstation/utils/parsing.py,sha256=bnFIsZZwFy9NKzVUf517yN-ogzQbm0hp_aho3KUD6Is,9317
37
+ pychemstation/utils/pump_types.py,sha256=HWQHxscGn19NTrfYBwQRCO2VcYfwyko7YfBO5uDhEm4,93
38
+ pychemstation/utils/sequence_types.py,sha256=4cNpmRdPLN5oGN7ozHgT21E65aBO8vV3ZcRXMOQ3EA8,1084
39
+ pychemstation/utils/table_types.py,sha256=mlbxPAiPvO_EBba5OSzuJcpCL0srrC7uUfm_lKsOsmA,2557
40
+ pychemstation/utils/tray_types.py,sha256=MaHN36rhcEI5mAY95VU8hfP9HhAlngQvMYq-2oyC0hc,764
41
+ tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ tests/constants.py,sha256=4FPJjW97yn6QiHNQVSlqjjJUE-Bh9SmyjIvgAeaGQBU,2450
43
+ tests/test_comb.py,sha256=EDE1Ve0A_EK4qro9imZsrD0xXrQN8hAowiOWPFtw3dM,5515
44
+ tests/test_comm.py,sha256=EYOpVXzEMQLGhhKYDPO-KaLcJdPSMPTD9Y4jSI0yVQY,2516
45
+ tests/test_inj.py,sha256=yaPGZoHiOC3ZSgsmrtiqp8QtSo2bMxB9FJhaFlOpad0,1412
46
+ tests/test_method.py,sha256=Up2EEysYwldPT9GJw27Mycs6qi_Y2W3opjhc7wnLU9U,3215
47
+ tests/test_sequence.py,sha256=Nz2iqp1cJgw6kcQvnwSkfBmhxpOH62PoEu6o_5rO-PY,4929
48
+ pychemstation-0.5.13.dist-info/LICENSE,sha256=9bdF75gIf1MecZ7oymqWgJREVz7McXPG-mjqrTmzzD8,18658
49
+ pychemstation-0.5.13.dist-info/METADATA,sha256=Ni0HBLM4rqsJSKjDFCbZzo2xLPWWTHAMQJuSKvxBtXQ,4371
50
+ pychemstation-0.5.13.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
51
+ pychemstation-0.5.13.dist-info/top_level.txt,sha256=zXfKu_4nYWwPHo3OsuhshMNC3SPkcoTGCyODjURaghY,20
52
+ pychemstation-0.5.13.dist-info/RECORD,,
tests/constants.py CHANGED
@@ -20,7 +20,7 @@ HEIN_LAB_CONSTANTS = [DEFAULT_COMMAND_PATH,
20
20
  # these CONSTANTS work in rm 254
21
21
  DEFAULT_COMMAND_PATH_254 = "D:\\\git_repositories\\\hplc_comm\\"
22
22
  DEFAULT_METHOD_DIR_254 = "D:\\Chemstation\\1\\Methods\\"
23
- DATA_DIR_254 = "D:\\Chemstation\\1\\Data\\2024-12\\"
23
+ DATA_DIR_254 = "D:\\Chemstation\\1\\Data\\LC BO\\"
24
24
  SEQUENCE_DIR_254 = "C:\\1\\Sequence\\"
25
25
 
26
26
  HEIN_LAB_CONSTANTS_254 = [DEFAULT_COMMAND_PATH_254,
tests/test_inj.py ADDED
@@ -0,0 +1,38 @@
1
+ import os
2
+ import unittest
3
+
4
+ from pychemstation.control import HPLCController
5
+ from tests.constants import *
6
+
7
+
8
+ class TestInj(unittest.TestCase):
9
+ def setUp(self):
10
+ path_constants = room(254)
11
+ for path in path_constants:
12
+ if not os.path.exists(path):
13
+ self.fail(
14
+ f"{path} does not exist on your system. If you would like to run tests, please change this path.")
15
+
16
+ self.hplc_controller = HPLCController(comm_dir=path_constants[0],
17
+ method_dir=path_constants[1],
18
+ data_dir=path_constants[2],
19
+ sequence_dir=path_constants[3])
20
+
21
+ def test_load_inj(self):
22
+ self.hplc_controller.switch_method(DEFAULT_METHOD)
23
+ try:
24
+ gp_mtd = self.hplc_controller.method_controller.load_from_disk(DEFAULT_METHOD)
25
+ self.assertTrue(gp_mtd.first_row.organic_modifier == 5)
26
+ except Exception as e:
27
+ self.fail(f"Should have not failed, {e}")
28
+
29
+ def test_edit_inj(self):
30
+ self.hplc_controller.method_controller.switch(DEFAULT_METHOD)
31
+ new_method = gen_rand_method()
32
+ try:
33
+ self.hplc_controller.edit_method(new_method)
34
+ except Exception as e:
35
+ self.fail(f"Should have not failed: {e}")
36
+
37
+ if __name__ == '__main__':
38
+ unittest.main()
tests/test_method.py CHANGED
@@ -56,6 +56,26 @@ class TestMethod(unittest.TestCase):
56
56
  except Exception as e:
57
57
  self.fail(f"Should have not failed: {e}")
58
58
 
59
+ def test_run_10_times(self):
60
+ self.hplc_controller.method_controller.switch(DEFAULT_METHOD)
61
+ rand_method = MethodDetails(
62
+ name=DEFAULT_METHOD,
63
+ params=HPLCMethodParams(
64
+ organic_modifier=5,
65
+ flow=0.65),
66
+ timetable=[TimeTableEntry(
67
+ start_time=0.50,
68
+ organic_modifer=99,
69
+ flow=0.65)],
70
+ stop_time=1,
71
+ post_time=0)
72
+ self.hplc_controller.edit_method(rand_method, save=True)
73
+ try:
74
+ for _ in range(10):
75
+ self.hplc_controller.run_method(experiment_name="limiting_testing")
76
+ except Exception as e:
77
+ self.fail(f"Should have not failed: {e}")
78
+
59
79
 
60
80
  if __name__ == '__main__':
61
- unittest.main()
81
+ unittest.main()
@@ -1,39 +0,0 @@
1
- pychemstation/__init__.py,sha256=SpTl-Tg1B1HTyjNOE-8ue-N2wGnXN_2zl7RFUSxlkiM,33
2
- pychemstation/analysis/__init__.py,sha256=EWoU47iyn9xGS-b44zK9eq50bSjOV4AC5dvt420YMI4,44
3
- pychemstation/analysis/base_spectrum.py,sha256=XPf9eJ72uz0CnxCY5uFOyu1MbVX-OTTXeN1tLzIMok4,16536
4
- pychemstation/analysis/spec_utils.py,sha256=UOo9hJR3evJfmaohEEsyb7aq6X996ofuUfu-GKjiDi8,10201
5
- pychemstation/analysis/utils.py,sha256=ISupAOb_yqA4_DZRK9v18UL-XjUQccAicIJKb1VMnGg,2055
6
- pychemstation/control/__init__.py,sha256=4xTy8X-mkn_PPZKr7w9rnj1wZhtmTesbQptPhpYmKXs,64
7
- pychemstation/control/comm.py,sha256=u44g1hTluQ0yUG93Un-QAshScoDpgYRrZfFTgweP5tY,7386
8
- pychemstation/control/hplc.py,sha256=5xC5q-hrAn5hKdz-ZwT_Dlas9LWLV27jZvhCKj7Lzg4,8761
9
- pychemstation/control/controllers/__init__.py,sha256=di3ytLIK-35XC_THw4IjNaOtCUTe7GuEOFb-obmREw4,166
10
- pychemstation/control/controllers/comm.py,sha256=IU4I_Q42VNCNUlVi93MxCmw2EBY9hiBDkU9FxubKg3c,7441
11
- pychemstation/control/controllers/method.py,sha256=XUclB7lQ_SIkquR58MBmmi9drHIPEq9AR8VprTLenvI,15503
12
- pychemstation/control/controllers/sequence.py,sha256=kYNxxck2I-q9mZDEZwG8bJ_99FfLmunS13EAHOS65wU,8288
13
- pychemstation/control/controllers/table_controller.py,sha256=ItuNJ3aQqx73rviGVXs7vYaZKA9icPFreOUuUZupqB4,11029
14
- pychemstation/control/table/__init__.py,sha256=RgMN4uIWHdNUHpGRBWdzmzAbk7XEKl6Y-qtqWCxzSZU,124
15
- pychemstation/control/table/method.py,sha256=THVoGomSXff_CTU3eAYme0BYwkPzab5UgZKsiZ29QSk,12196
16
- pychemstation/control/table/sequence.py,sha256=Eri52AnbE3BGthfrRSvYKYciquUzvHKo0lYUTySYYE8,10542
17
- pychemstation/control/table/table_controller.py,sha256=HVNYUXqtyFTAvb67fa3RO5RHgmBTFMsYRHKpiXdYcfs,8313
18
- pychemstation/generated/__init__.py,sha256=GAoZFAYbPVEJDkcOw3e1rgOqd7TCW0HyKNPM8OMehMg,1005
19
- pychemstation/generated/dad_method.py,sha256=0W8Z5WDtF5jpIcudMqb7XrkTnR2EGg_QOCsHRFQ0rmM,8402
20
- pychemstation/generated/pump_method.py,sha256=sUhE2Oo00nzVcoONtq3EMWsN4wLSryXbG8f3EeViWKg,12174
21
- pychemstation/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- pychemstation/utils/chromatogram.py,sha256=-q3_hL9GTyi4C95os7IwAiOrkTM4EXIiigm-nW9pFmM,3221
23
- pychemstation/utils/macro.py,sha256=a6M6iK6c56Z75Opr2a-gsLKvMMpShu05DwcBYn5aTUs,2778
24
- pychemstation/utils/method_types.py,sha256=SRpr61Ca57NzfYoDiaooeI5tw1ESgVj_2-MctGyuN60,1478
25
- pychemstation/utils/parsing.py,sha256=bnFIsZZwFy9NKzVUf517yN-ogzQbm0hp_aho3KUD6Is,9317
26
- pychemstation/utils/sequence_types.py,sha256=OhbmBUS7XQOKHC8YLjgbEVdpjriEc1bORkwB5ZV43oA,1063
27
- pychemstation/utils/table_types.py,sha256=HVE_tuM2TUED843iXvZqtONt8Eeolm6B5eciq60ZjR8,2521
28
- pychemstation/utils/tray_types.py,sha256=NzeH1IYI-k6u-2QrZshhx-lNlvOmGoOElbZ0fspT-38,654
29
- tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- tests/constants.py,sha256=iU6knsNpQGnBfGcC8VAj5SrCDcHD3jBZLhQdF6UUwY4,2452
31
- tests/test_comb.py,sha256=EDE1Ve0A_EK4qro9imZsrD0xXrQN8hAowiOWPFtw3dM,5515
32
- tests/test_comm.py,sha256=EYOpVXzEMQLGhhKYDPO-KaLcJdPSMPTD9Y4jSI0yVQY,2516
33
- tests/test_method.py,sha256=r1Q1irqiVzs31QuTYLX3u_A0FpX8rIAQ1L4WOk9tLbk,2473
34
- tests/test_sequence.py,sha256=Nz2iqp1cJgw6kcQvnwSkfBmhxpOH62PoEu6o_5rO-PY,4929
35
- pychemstation-0.5.11.dist-info/LICENSE,sha256=9bdF75gIf1MecZ7oymqWgJREVz7McXPG-mjqrTmzzD8,18658
36
- pychemstation-0.5.11.dist-info/METADATA,sha256=K1Hd9ry_rHoZ67yHBIjwuxwI8ooUp4ntAlDLZiI8rsA,4330
37
- pychemstation-0.5.11.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
38
- pychemstation-0.5.11.dist-info/top_level.txt,sha256=zXfKu_4nYWwPHo3OsuhshMNC3SPkcoTGCyODjURaghY,20
39
- pychemstation-0.5.11.dist-info/RECORD,,