pychemstation 0.10.7__py3-none-any.whl → 0.10.8.dev1__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/analysis/base_spectrum.py +14 -15
  2. pychemstation/analysis/chromatogram.py +7 -8
  3. pychemstation/analysis/process_report.py +7 -15
  4. pychemstation/control/README.md +1 -1
  5. pychemstation/control/controllers/__init__.py +2 -1
  6. pychemstation/control/controllers/comm.py +33 -27
  7. pychemstation/control/controllers/data_aq/method.py +13 -13
  8. pychemstation/control/controllers/data_aq/sequence.py +12 -24
  9. pychemstation/control/controllers/devices/injector.py +3 -3
  10. pychemstation/control/hplc.py +24 -39
  11. pychemstation/utils/__init__.py +23 -0
  12. pychemstation/{control/controllers → utils}/abc_tables/abc_comm.py +8 -9
  13. pychemstation/{control/controllers → utils}/abc_tables/device.py +9 -2
  14. pychemstation/{control/controllers → utils}/abc_tables/run.py +35 -28
  15. pychemstation/{control/controllers → utils}/abc_tables/table.py +14 -16
  16. pychemstation/utils/macro.py +2 -0
  17. pychemstation/utils/method_types.py +12 -13
  18. pychemstation/utils/num_utils.py +3 -3
  19. pychemstation/utils/sequence_types.py +31 -13
  20. pychemstation/utils/spec_utils.py +42 -66
  21. pychemstation/utils/table_types.py +13 -2
  22. pychemstation/utils/tray_types.py +28 -16
  23. {pychemstation-0.10.7.dist-info → pychemstation-0.10.8.dev1.dist-info}/METADATA +1 -7
  24. pychemstation-0.10.8.dev1.dist-info/RECORD +41 -0
  25. pychemstation/utils/pump_types.py +0 -7
  26. pychemstation-0.10.7.dist-info/RECORD +0 -42
  27. /pychemstation/{control/controllers → utils}/abc_tables/__init__.py +0 -0
  28. {pychemstation-0.10.7.dist-info → pychemstation-0.10.8.dev1.dist-info}/WHEEL +0 -0
  29. {pychemstation-0.10.7.dist-info → pychemstation-0.10.8.dev1.dist-info}/licenses/LICENSE +0 -0
@@ -3,23 +3,22 @@ Module contains various utility function for spectral data processing and
3
3
  analysis.
4
4
  """
5
5
 
6
+ from typing import Optional
7
+
6
8
  import numpy as np
7
9
  import scipy
8
10
 
9
11
  from ..utils.num_utils import find_nearest_value_index
10
12
 
11
13
 
12
- def create_binary_peak_map(data):
14
+ def create_binary_peak_map(data: np.ndarray) -> np.ndarray:
13
15
  """Return binary map of the peaks within data points.
14
16
 
15
17
  True values are assigned to potential peak points, False - to baseline.
16
18
 
17
- Args:
18
- data (:obj:np.array): 1D array with data points.
19
+ :param data: 1D array with data points.
19
20
 
20
- Returns:
21
- :obj:np.array, dtype=bool: Mapping of data points, where True is
22
- potential peak region point, False - baseline.
21
+ :return: Mapping of data points, where True is potential peak region point, False - baseline.
23
22
  """
24
23
  # copying array
25
24
  data_c = np.copy(data)
@@ -47,21 +46,15 @@ def create_binary_peak_map(data):
47
46
  return peak_map
48
47
 
49
48
 
50
- def combine_map_to_regions(mapping):
49
+ def combine_map_to_regions(mapping: np.ndarray) -> np.ndarray:
51
50
  """Combine True values into their indexes arrays.
52
51
 
53
- Args:
54
- mapping (:obj:np.array): Boolean mapping array to extract the indexes
55
- from.
56
-
57
- Returns:
58
- :obj:np.array: 2D array with left and right borders of regions, where
59
- mapping is True.
52
+ :param mapping: Boolean mapping array to extract the indexes from.
53
+ :return: 2D array with left and right borders of regions, where mapping is True.
60
54
 
61
55
  Example:
62
- >>> combine_map_to_regions(np.array([True, True, False, True, False]))
63
- array([[0, 1],
64
- [3, 3]])
56
+ >>> combine_map_to_regions(np.array([True, True, False, True, False]))
57
+ ... array([[0, 1], [3, 3]])
65
58
  """
66
59
 
67
60
  # No peaks identified, i.e. mapping is all False
@@ -94,23 +87,17 @@ def combine_map_to_regions(mapping):
94
87
  return np.hstack((lefts, rights))
95
88
 
96
89
 
97
- def filter_regions(x_data, peaks_regions):
90
+ def filter_regions(x_data: np.ndarray, peaks_regions: np.ndarray) -> np.ndarray:
98
91
  """Filter peak regions.
99
92
 
100
93
  Peak regions are filtered to remove potential false positives (e.g. noise
101
94
  spikes).
102
95
 
103
- Args:
104
- x_data (:obj:np.array): X data points, needed to pick up the data
105
- resolution and map the region indexes to the corresponding data
96
+ :param x_data: X data points, needed to pick up the data resolution and map the region indexes to the corresponding data
106
97
  points.
107
- y_data (:obj:np.array): Y data points, needed to validate if the peaks
108
- are actually present in the region and remove invalid regions.
109
- peaks_regions (:obj:np.array): 2D Nx2 array with peak regions indexes
110
- (rows) as left and right borders (columns).
98
+ :param peaks_regions: 2D Nx2 array with peak regions indexes (rows) as left and right borders (columns).
111
99
 
112
- Returns:
113
- :obj:np.array: 2D Mx2 array with filtered peak regions indexes(rows) as
100
+ :return: 2D Mx2 array with filtered peak regions indexes(rows) as
114
101
  left and right borders (columns).
115
102
  """
116
103
 
@@ -134,21 +121,19 @@ def filter_regions(x_data, peaks_regions):
134
121
  return peaks_regions
135
122
 
136
123
 
137
- def filter_noisy_regions(y_data, peaks_regions):
124
+ def filter_noisy_regions(y_data: np.ndarray, peaks_regions: np.ndarray) -> np.ndarray:
138
125
  """Remove noisy regions from given regions array.
139
126
 
140
127
  Peak regions are filtered to remove false positive noise regions, e.g.
141
128
  incorrectly assigned due to curvy baseline. Filtering is performed by
142
129
  computing average peak points/data points ratio.
143
130
 
144
- Args:
145
- y_data (:obj:np.array): Y data points, needed to validate if the peaks
131
+ :param y_data: Y data points, needed to validate if the peaks
146
132
  are actually present in the region and remove invalid regions.
147
- peaks_regions (:obj:np.array): 2D Nx2 array with peak regions indexes
133
+ :param peaks_regions: 2D Nx2 array with peak regions indexes
148
134
  (rows) as left and right borders (columns).
149
135
 
150
- Returns:
151
- :obj:np.array: 2D Mx2 array with filtered peak regions indexes(rows) as
136
+ :return: 2D Mx2 array with filtered peak regions indexes(rows) as
152
137
  left and right borders (columns).
153
138
  """
154
139
 
@@ -198,42 +183,35 @@ def filter_noisy_regions(y_data, peaks_regions):
198
183
  return peaks_regions
199
184
 
200
185
 
201
- def merge_regions(x_data, peaks_regions, d_merge, recursively=True):
186
+ def merge_regions(
187
+ x_data: np.ndarray,
188
+ peaks_regions: np.ndarray,
189
+ d_merge: float,
190
+ recursively: Optional[bool] = True,
191
+ ):
202
192
  """Merge peak regions if distance between is less than delta.
203
193
 
204
- Args:
205
- x_data (:obj:np.array): X data points.
206
- peaks_regions (:obj:np.array): 2D Nx2 array with peak regions indexes
194
+ :param x_data: X data points.
195
+ :param peaks_regions: 2D Nx2 array with peak regions indexes
207
196
  (rows) as left and right borders (columns).
208
- d_merge (float): Minimum distance in X data points to merge two or more
197
+ :param d_merge: Minimum distance in X data points to merge two or more
209
198
  regions together.
210
- recursively (bool, optional): If True - will repeat the procedure until
199
+ :param recursively: If True - will repeat the procedure until
211
200
  all regions with distance < than d_merge will merge.
212
201
 
213
- Returns:
214
- :obj:np.array: 2D Mx2 array with peak regions indexes (rows) as left and
202
+ :return: 2D Mx2 array with peak regions indexes (rows) as left and
215
203
  right borders (columns), merged according to predefined minimal
216
204
  distance.
217
205
 
218
206
  Example:
219
- >>> regions = np.array([
220
- [1, 10],
221
- [11, 20],
222
- [25, 45],
223
- [50, 75],
224
- [100, 120],
225
- [122, 134]
226
- ])
227
- >>> data = np.ones_like(regions) # ones as example
228
- >>> merge_regions(data, regions, 1)
229
- array([[ 1, 20],
230
- [ 25, 45],
231
- [ 50, 75],
232
- [100, 120],
233
- [122, 134]])
234
- >>> merge_regions(data, regions, 20, True)
235
- array([[ 1, 75],
236
- [100, 134]])
207
+ >>> regions = np.array(
208
+ ... [[1, 10], [11, 20], [25, 45], [50, 75], [100, 120], [122, 134]]
209
+ ... )
210
+ >>> data = np.ones_like(regions) # ones as example
211
+ >>> merge_regions(data, regions, 1)
212
+ ... array([[1, 20], [ 25, 45], [ 50, 75], [100, 120], [122, 134]])
213
+ >>> merge_regions(data, regions, 20, True)
214
+ ... array([[1, 75], [100, 134]])
237
215
  """
238
216
  # the code is pretty ugly but works
239
217
  merged_regions = []
@@ -269,17 +247,15 @@ def merge_regions(x_data, peaks_regions, d_merge, recursively=True):
269
247
  return merge_regions(x_data, merged_regions, d_merge, recursively=True)
270
248
 
271
249
 
272
- def expand_regions(x_data, peaks_regions, d_expand):
250
+ def expand_regions(x_data: np.ndarray, peaks_regions: np.ndarray, d_expand: float):
273
251
  """Expand the peak regions by the desired value.
274
252
 
275
- Args:
276
- x_data (:obj:np.array): X data points.
277
- peaks_regions (:obj:np.array): 2D Nx2 array with peak regions indexes
253
+ :param x_data: X data points.
254
+ :param peaks_regions: 2D Nx2 array with peak regions indexes
278
255
  (rows) as left and right borders (columns).
279
- d_expand (float): Value to expand borders to (in X data scale).
256
+ :param d_expand: Value to expand borders to (in X data scale).
280
257
 
281
- Returns:
282
- :obj:np.array: 2D Nx2 array with expanded peak regions indexes (rows) as
258
+ :return: 2D Nx2 array with expanded peak regions indexes (rows) as
283
259
  left and right borders (columns).
284
260
  """
285
261
 
@@ -6,6 +6,10 @@ from typing import TypeVar
6
6
 
7
7
 
8
8
  class TableOperation(Enum):
9
+ """
10
+ MACROS related to editing and reading tables in Chemstation.
11
+ """
12
+
9
13
  def __str__(self):
10
14
  return "%s" % self.value
11
15
 
@@ -29,6 +33,10 @@ class TableOperation(Enum):
29
33
 
30
34
 
31
35
  class RegisterFlag(Enum):
36
+ """
37
+ Flags for accessing Chemstation parameters.
38
+ """
39
+
32
40
  def __str__(self):
33
41
  return "%s" % self.value
34
42
 
@@ -42,7 +50,7 @@ class RegisterFlag(Enum):
42
50
  SOLVENT_D_COMPOSITION = "PumpChannel4_CompositionPercentage"
43
51
  FLOW = "Flow"
44
52
  MAX_TIME = "StopTime_Time"
45
- POST_TIME = "PostTime_Time" # TODO: check
53
+ POST_TIME = "PostTime_Time"
46
54
  SIGNAL_A = "Signal_Wavelength"
47
55
  SIGNAL_B = "Signal2_Wavelength"
48
56
  SIGNAL_C = "Signal3_Wavelength"
@@ -79,7 +87,6 @@ class RegisterFlag(Enum):
79
87
  DRAW_VOLUME = "DrawVolume_Mode"
80
88
  DRAW_SPEED = "DrawSpeed_Mode"
81
89
  DRAW_OFFSET = "DrawOffset_Mode"
82
- # SetObjHdrVal RCWLS1Pretreatment[1], "DrawVolume_Value", 1
83
90
  DRAW_VOLUME_VALUE = "DrawVolume_Value"
84
91
  DRAW_LOCATION = "DrawLocation"
85
92
  DRAW_LOCATION_TRAY = "DrawLocationPlus_Tray"
@@ -95,6 +102,10 @@ class RegisterFlag(Enum):
95
102
 
96
103
  @dataclass
97
104
  class Table:
105
+ """
106
+ Class for storing the keys needed to access certain register tables.
107
+ """
108
+
98
109
  register: str
99
110
  name: str
100
111
 
@@ -90,14 +90,16 @@ class Letter(Enum):
90
90
 
91
91
  @dataclass
92
92
  class FiftyFourVialPlate:
93
- """
94
- Class to represent the 54 vial tray. Assumes you have:
95
- 2 plates (P1 or P2)
96
- 6 rows (A B C D E F)
97
- 9 columns (1 2 3 4 5 6 7 8 9)
93
+ """Class to represent the 54 vial tray.
94
+
95
+ :param plate: one of the two, (P1 or P2)
96
+ :param letter: one of the rows, (A B C D E F)
97
+ :param num: one of the columns, (1 2 3 4 5 6 7 8 9)
98
98
 
99
- valid vial locations: P1-A2, P2-F9
100
- invalid vial locations: P3-A1, P1-Z3, P2-B10
99
+ Examples:
100
+ >>> from pychemstation.utils.tray_types import FiftyFourVialPlate
101
+ >>> FiftyFourVialPlate.from_str("P1-A2")
102
+ >>> FiftyFourVialPlate(plate=Plate.TWO, letter=Letter.A, num=Num.THREE)
101
103
  """
102
104
 
103
105
  plate: Plate
@@ -120,12 +122,15 @@ class FiftyFourVialPlate:
120
122
 
121
123
  @classmethod
122
124
  def from_str(cls, loc: str):
123
- """
124
- Converts a string representing the vial location into numerical representation for Chemstation.
125
+ """Converts a string representing the vial location into numerical representation for Chemstation.
125
126
 
126
127
  :param loc: vial location
127
128
  :return: `FiftyFourVialPlate` object representing the vial location
128
129
  :raises: ValueError if string is invalid tray location
130
+
131
+ Examples:
132
+ >>> from pychemstation.utils.tray_types import FiftyFourVialPlate
133
+ >>> vial_location = FiftyFourVialPlate.from_str("P2-F4")
129
134
  """
130
135
  if len(loc) != 5:
131
136
  raise ValueError(
@@ -147,15 +152,17 @@ class FiftyFourVialPlate:
147
152
 
148
153
  @classmethod
149
154
  def from_int(cls, num: int) -> Tray:
150
- """
151
- Converts an integer representation of a vial location to a `FiftyFourVialPlate` or `TenVialColumn` object
155
+ """Converts an integer representation of a vial location to a `FiftyFourVialPlate` object
152
156
 
153
157
  :param num: numerical representation of a vial location
154
158
  :return: the proper vial location object
155
159
  :raises: ValueError no matching can be made
160
+
161
+ Examples:
162
+ >>> vial_location = FiftyFourVialPlate.from_int(4097)
156
163
  """
157
164
  if num in range(1, 11):
158
- return TenVialColumn(num)
165
+ return VialBar(num)
159
166
 
160
167
  row_starts = [
161
168
  # plate 1
@@ -200,9 +207,12 @@ class FiftyFourVialPlate:
200
207
  raise ValueError("Number didn't match any location. " + str(num))
201
208
 
202
209
 
203
- class TenVialColumn(Enum):
204
- """
205
- Class to represent the 10 vial locations.
210
+ class VialBar(Enum):
211
+ """Class to represent the vial bar, has 10 locations.
212
+
213
+ Examples:
214
+ >>> vial_bar_2 = VialBar(2)
215
+ >>> vial_bar_10 = VialBar.TEN
206
216
  """
207
217
 
208
218
  ONE = 1
@@ -219,10 +229,12 @@ class TenVialColumn(Enum):
219
229
 
220
230
  @dataclass
221
231
  class LocationPlus:
232
+ """Not sure what location refers to, but part the `Draw` function for specifying an `InjectorTable`"""
233
+
222
234
  unit: int
223
235
  tray: int
224
236
  row: int
225
237
  col: int
226
238
 
227
239
 
228
- Tray = Union[FiftyFourVialPlate, TenVialColumn, LocationPlus]
240
+ Tray = Union[FiftyFourVialPlate, VialBar, LocationPlus]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pychemstation
3
- Version: 0.10.7
3
+ Version: 0.10.8.dev1
4
4
  Summary: Library to interact with Chemstation software, primarily used in Hein lab
5
5
  Project-URL: Documentation, https://pychemstation-e5a086.gitlab.io/pychemstation.html
6
6
  Project-URL: Repository, https://gitlab.com/heingroup/device-api/pychemstation
@@ -13,19 +13,13 @@ Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Python: >=3.10
15
15
  Requires-Dist: aghplctools==4.8.6
16
- Requires-Dist: coverage>=7.6.1
17
16
  Requires-Dist: matplotlib>=3.7.5
18
17
  Requires-Dist: pandas>=2.0.3
19
18
  Requires-Dist: pdoc>=14.7.0
20
19
  Requires-Dist: polling>=0.3.2
21
- Requires-Dist: pre-commit>=3.5.0
22
- Requires-Dist: pytest>=7.3.5
23
20
  Requires-Dist: rainbow-api>=1.0.10
24
21
  Requires-Dist: result>=0.17.0
25
22
  Requires-Dist: scipy>=1.10.1
26
- Requires-Dist: seabreeze>=2.9.2
27
- Requires-Dist: setuptools>=75.3.2
28
- Requires-Dist: twine>=6.1.0
29
23
  Requires-Dist: xsdata>=24.9
30
24
  Description-Content-Type: text/markdown
31
25
 
@@ -0,0 +1,41 @@
1
+ pychemstation/__init__.py,sha256=Sc4z8LRVFMwJUoc_DPVUriSXTZ6PO9MaJ80PhRbKyB8,34
2
+ pychemstation/analysis/__init__.py,sha256=mPNnp0TmkoUxrTGcT6wNKMyCiOar5vC0cTPmFLrDU1Q,313
3
+ pychemstation/analysis/base_spectrum.py,sha256=HjbTPoueR7XB1_puCcmx7zbQmeT5SH6_HVwHrYhNXhA,16537
4
+ pychemstation/analysis/chromatogram.py,sha256=Jk6xOMHA6kSV597fJDZgrFRlvVorldvK4zerPASZrug,3969
5
+ pychemstation/analysis/process_report.py,sha256=aTsW6u5-0iwsH3jQtkoKE9jbsy5NAUG6l7O-I49B8kY,14650
6
+ pychemstation/control/README.md,sha256=ohPn3xhgjFyPraQqR4x9aZhurQVAOYuYHv-E8sj0eK4,3124
7
+ pychemstation/control/__init__.py,sha256=7lSkY7Qa7Ikdz82-2FESc_oqktv7JndsjltCkiMqnMI,147
8
+ pychemstation/control/hplc.py,sha256=Evmo_D6X2RDmPBFmo3vsKE9kxJzy36Ptz4MyF2IKNzA,13146
9
+ pychemstation/control/controllers/README.md,sha256=S5cd4NJmPjs6TUH98BtPJJhiS1Lu-mxLCNS786ogOrQ,32
10
+ pychemstation/control/controllers/__init__.py,sha256=q2TUEie3J-OLlxcGLkG7vIy8fazCEhHm61OGzJPbhD0,179
11
+ pychemstation/control/controllers/comm.py,sha256=ySjgMBIfJ11sygXiZSPp9Rf6ABM4t6JhZRONRj1u2Cc,6652
12
+ pychemstation/control/controllers/data_aq/__init__.py,sha256=w-Zgbit10niOQfz780ZmRHjUFxV1hMkdui7fOMPqeLA,132
13
+ pychemstation/control/controllers/data_aq/method.py,sha256=hfLU5bnlmqKc1DPnK-HNpe-S2DollXyNx89hiLwhKWI,18251
14
+ pychemstation/control/controllers/data_aq/sequence.py,sha256=zhilGZXUEttqrux8OI2ieAWktINsrD98fm_b6guZKlo,17209
15
+ pychemstation/control/controllers/devices/__init__.py,sha256=QpgGnLXyWiB96KIB98wMccEi8oOUUaLxvBCyevJzcOg,75
16
+ pychemstation/control/controllers/devices/injector.py,sha256=LyubM-fqf5ruseGx32deTDK-yevmaTOvdo6YKg2PF7I,4029
17
+ pychemstation/generated/__init__.py,sha256=xnEs0QTjeuGYO3tVUIy8GDo95GqTV1peEjosGckpOu0,977
18
+ pychemstation/generated/dad_method.py,sha256=xTUiSCvkXcxBUhjVm1YZKu-tHs16k23pF-0xYrQSwWA,8408
19
+ pychemstation/generated/pump_method.py,sha256=s3MckKDw2-nZUC5lHrJVvXYdneWP8-9UvblNuGryPHY,12092
20
+ pychemstation/utils/__init__.py,sha256=GZJyDzkhzrlMguxZTUpgthq72pA3YV23DJIR2Q63PCk,449
21
+ pychemstation/utils/injector_types.py,sha256=z2iWwTklGm0GRDCL9pnPCovQrwyRwxv8w5w5Xh7Pj3U,1152
22
+ pychemstation/utils/macro.py,sha256=n2CcvB7MY4fl8Ds909K41aqqH7_6DlKK5R4aemLhOdM,3300
23
+ pychemstation/utils/method_types.py,sha256=pXfZWmIPnZu3kIdGPxSPJMhL4WSt-u00If1JDUaLaMQ,1555
24
+ pychemstation/utils/num_utils.py,sha256=OpqZwMPoxTYkpjpinA1CcoQAXDY_0sie6d-hTU547uo,2087
25
+ pychemstation/utils/parsing.py,sha256=mzdpxrH5ux4-_i4CwZvnIYnIwAnRnOptKb3fZyYJcx0,9307
26
+ pychemstation/utils/sequence_types.py,sha256=JLGL7kCkPouHN7iBsnZfWe-nSjzF8XqFKzBPyF4SulE,2724
27
+ pychemstation/utils/spec_utils.py,sha256=BtXgQndZy4kVKsrgEDxwNd0HctypnAt5upB9SOk1D9w,9700
28
+ pychemstation/utils/table_types.py,sha256=obQrnwDNmy-7r1IDD3N6wY7gUPKfpcM6D9Ow0IN-T48,3609
29
+ pychemstation/utils/tray_types.py,sha256=UeHM0hUYaNc9giT96ZiGpyWBPQwG-SyLA0rVGzDDAJk,6618
30
+ pychemstation/utils/abc_tables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ pychemstation/utils/abc_tables/abc_comm.py,sha256=rTrnfyTdqRSiBfBW1_460KsHER5vpfhv7JYwObBgBZc,5501
32
+ pychemstation/utils/abc_tables/device.py,sha256=v8MNFvymbKe4hWsqzO6Z_qsVvju_rISYtnPgaftecyE,919
33
+ pychemstation/utils/abc_tables/run.py,sha256=FPwGuWIS4BLTS-aZqBLWoHvgev4qsAnUdPVjVPnFWVU,9842
34
+ pychemstation/utils/abc_tables/table.py,sha256=4mfmegCdMppxgpxVDt7oULoxTBVia8_JTxYPjlWq8VE,7743
35
+ pychemstation/utils/mocking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ pychemstation/utils/mocking/mock_comm.py,sha256=4DcKmUxp-LYNXjywT_za1_GpqKa4sFTj7F2V3r_qsA0,156
37
+ pychemstation/utils/mocking/mock_hplc.py,sha256=Hx6127C7d3miYGCZYxbN-Q3PU8kpMgXYX2n6we2Twgw,25
38
+ pychemstation-0.10.8.dev1.dist-info/METADATA,sha256=kACFfqsEpvT70MVDKx6KYzmgSjmPXe6pDcwhoj82ZIQ,5757
39
+ pychemstation-0.10.8.dev1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
40
+ pychemstation-0.10.8.dev1.dist-info/licenses/LICENSE,sha256=9bdF75gIf1MecZ7oymqWgJREVz7McXPG-mjqrTmzzD8,18658
41
+ pychemstation-0.10.8.dev1.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- from dataclasses import dataclass
2
-
3
-
4
- @dataclass
5
- class Pump:
6
- solvent: str
7
- in_use: bool
@@ -1,42 +0,0 @@
1
- pychemstation/__init__.py,sha256=Sc4z8LRVFMwJUoc_DPVUriSXTZ6PO9MaJ80PhRbKyB8,34
2
- pychemstation/analysis/__init__.py,sha256=mPNnp0TmkoUxrTGcT6wNKMyCiOar5vC0cTPmFLrDU1Q,313
3
- pychemstation/analysis/base_spectrum.py,sha256=t_VoxAtBph1V7S4fOsziERHiOBkYP0_nH7LTwbTEvcE,16529
4
- pychemstation/analysis/chromatogram.py,sha256=cHxPd5-miA6L3FjwN5cSFyq4xEeZoHWFFk8gU6tCgg4,3946
5
- pychemstation/analysis/process_report.py,sha256=xckcpqnYfzFTIo1nhgwP5A4GPJsW3PQ_qzuy5Z1KOuI,14714
6
- pychemstation/control/README.md,sha256=yVMhIOq3YL-8EzqZDWGXt36GzSjzqiI4fwkJ35bAzD0,3130
7
- pychemstation/control/__init__.py,sha256=7lSkY7Qa7Ikdz82-2FESc_oqktv7JndsjltCkiMqnMI,147
8
- pychemstation/control/hplc.py,sha256=PY6P_GTnVxL3rAwPHtJmiAm5iTw9X6xjYghyKpBpYFM,13063
9
- pychemstation/control/controllers/README.md,sha256=S5cd4NJmPjs6TUH98BtPJJhiS1Lu-mxLCNS786ogOrQ,32
10
- pychemstation/control/controllers/__init__.py,sha256=EWvvITwY6RID5b1ilVsPowP85uzmIt3LYW0rvyN-3x0,146
11
- pychemstation/control/controllers/comm.py,sha256=a3qp_u2vm_UO3VTDwKEEkJfHIWgF4Gxne0h03dQe0A8,5878
12
- pychemstation/control/controllers/abc_tables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- pychemstation/control/controllers/abc_tables/abc_comm.py,sha256=G2JSCNwLrLYPYBdcf_WuIl6dvJORmmQe5wih6TdvPiU,5226
14
- pychemstation/control/controllers/abc_tables/device.py,sha256=ZJQID_M53bUwVSleBL5MjFJFrExZO1xdYKRFn5VToug,641
15
- pychemstation/control/controllers/abc_tables/run.py,sha256=L958yy3vBxN0qxHVfMb7wgxxHAvSQq4zggWlon6vPs4,9294
16
- pychemstation/control/controllers/abc_tables/table.py,sha256=4c4W_9OzrY-SfH_oV6oBZkfn1Vp5XvNYbWUvbGY3G2s,7699
17
- pychemstation/control/controllers/data_aq/__init__.py,sha256=w-Zgbit10niOQfz780ZmRHjUFxV1hMkdui7fOMPqeLA,132
18
- pychemstation/control/controllers/data_aq/method.py,sha256=BqAW2XdlJJQj08P282h_NPTJofdBKiNJgdis9j0c9lc,18183
19
- pychemstation/control/controllers/data_aq/sequence.py,sha256=here444uwwIH9m08ls8_wapA9088uvqX5DYCHFsarcU,17422
20
- pychemstation/control/controllers/devices/__init__.py,sha256=QpgGnLXyWiB96KIB98wMccEi8oOUUaLxvBCyevJzcOg,75
21
- pychemstation/control/controllers/devices/injector.py,sha256=OxrF-SbV006bCh_j9o-clavc_d8Loh3myhFerbvjLg4,4033
22
- pychemstation/generated/__init__.py,sha256=xnEs0QTjeuGYO3tVUIy8GDo95GqTV1peEjosGckpOu0,977
23
- pychemstation/generated/dad_method.py,sha256=xTUiSCvkXcxBUhjVm1YZKu-tHs16k23pF-0xYrQSwWA,8408
24
- pychemstation/generated/pump_method.py,sha256=s3MckKDw2-nZUC5lHrJVvXYdneWP8-9UvblNuGryPHY,12092
25
- pychemstation/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- pychemstation/utils/injector_types.py,sha256=z2iWwTklGm0GRDCL9pnPCovQrwyRwxv8w5w5Xh7Pj3U,1152
27
- pychemstation/utils/macro.py,sha256=4Tn__0EeoDT3exbzTKde5epd7Oj-rhUh-l9EkXTHn7c,3242
28
- pychemstation/utils/method_types.py,sha256=_2djFz_uWFc9aoZcyPMIjC5KYBs003WPoQGx7ZhMiOg,1649
29
- pychemstation/utils/num_utils.py,sha256=dDs8sLZ_SdtvDKhyhF3IkljiVf16IYqpMTO5tEk9vMk,2079
30
- pychemstation/utils/parsing.py,sha256=mzdpxrH5ux4-_i4CwZvnIYnIwAnRnOptKb3fZyYJcx0,9307
31
- pychemstation/utils/pump_types.py,sha256=HWQHxscGn19NTrfYBwQRCO2VcYfwyko7YfBO5uDhEm4,93
32
- pychemstation/utils/sequence_types.py,sha256=Bf_oGm-adRejDUmYrzV2GEx16NIO6jlH_ZMIYVKl8gg,1981
33
- pychemstation/utils/spec_utils.py,sha256=lS27Xi4mFNDWBfmBqOoxTcVchPAkLK2mSdoaWDOfaPI,10211
34
- pychemstation/utils/table_types.py,sha256=I5xy7tpmMWOMb6tFfWVE1r4wnSsgky5sZU9oNtHU9BE,3451
35
- pychemstation/utils/tray_types.py,sha256=FUjCUnozt5ZjCl5Vg9FioPHGTdKa43SQI1QPVkoBmV0,6078
36
- pychemstation/utils/mocking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- pychemstation/utils/mocking/mock_comm.py,sha256=4DcKmUxp-LYNXjywT_za1_GpqKa4sFTj7F2V3r_qsA0,156
38
- pychemstation/utils/mocking/mock_hplc.py,sha256=Hx6127C7d3miYGCZYxbN-Q3PU8kpMgXYX2n6we2Twgw,25
39
- pychemstation-0.10.7.dist-info/METADATA,sha256=oDYpd4ohtIgRyHstF4Pdnn-EP5YSN0ozESFeAQLu_CE,5939
40
- pychemstation-0.10.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
41
- pychemstation-0.10.7.dist-info/licenses/LICENSE,sha256=9bdF75gIf1MecZ7oymqWgJREVz7McXPG-mjqrTmzzD8,18658
42
- pychemstation-0.10.7.dist-info/RECORD,,