pigeon-transmission 0.0.2__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.
@@ -0,0 +1,116 @@
1
+ Metadata-Version: 2.4
2
+ Name: pigeon-transmission
3
+ Version: 0.0.2
4
+ Summary: This library provides a high-level interface for communicating with IMT Analytics devices via RS232
5
+ Author: Bachatero18, Dennis Schramm
6
+ License: GPL-3.0-or-later
7
+ Keywords: pigeon-transmission,pigeon,imt,imt-analytics,citrex,H4,H5,flow,analyser,serial,transmission
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: End Users/Desktop
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Operating System :: MacOS :: MacOS X
17
+ Classifier: Operating System :: Unix
18
+ Classifier: Operating System :: POSIX :: BSD
19
+ Classifier: Operating System :: POSIX :: BSD :: FreeBSD
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: 3.14
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: pyserial
29
+ Dynamic: license-file
30
+
31
+ # General information
32
+
33
+ pigeon‑transmission is an independently developed Python library that provides simple and reliable serial
34
+ communication with measurement devices from IMT Analytics. It is designed for users who want to
35
+ automate data acquisition, integrate measurement workflows, or control devices programmatically.
36
+
37
+ This is an unofficial project and is not developed, reviewed, or supported by IMT Analytics.
38
+ The development of this library was carried out entirely independently of IMT Analytics.
39
+
40
+ ## ⚙️ Installation
41
+ Python 3.10 or higher is required
42
+ ```
43
+ pip install pigeon-transmission
44
+ ```
45
+
46
+ ## 🚀 Example Usage
47
+
48
+ ### First Example - with statement
49
+ ```python
50
+ from pigeon_transmission import DeviceH4
51
+
52
+ with DeviceH4(port="com2") as device:
53
+ print(device.write_setting(operation_name="gas_type", value="air")) # WS
54
+ ```
55
+
56
+ ### Second Example - Explicit Resource Management
57
+ ```python
58
+ from pigeon_transmission import DeviceH4
59
+
60
+ device = DeviceH4()
61
+ device.open_serial_interface(port="com2") # open
62
+ print(device.write_setting(operation_name="gas_type", value="air")) # WS
63
+ device.close_serial_interface() # close
64
+ ```
65
+
66
+ ### Third Example - Manual Resource Management (The instance does not need to stay alive)
67
+ ```python
68
+ from pigeon_transmission import DeviceH4
69
+
70
+ device = DeviceH4()
71
+ serial_object = device.open_serial_interface(port="com2") # open
72
+ print(device.execute_command(operation_name="switch_echo", value="off", serial_object=serial_object)) # CM
73
+ device.close_serial_interface(serial_object=serial_object) # close
74
+ ```
75
+
76
+ ### Fast data mode
77
+ ```python
78
+ import queue # only for fast data
79
+ import threading # only for fast data
80
+ from pigeon_transmission import DeviceH4
81
+
82
+ device = DeviceH4()
83
+ device.open_serial_interface(port="com2") # open serial connection
84
+
85
+ data_queue, stop_queue = queue.Queue(), queue.Queue()
86
+
87
+ # Start background thread for fast data streaming
88
+ thread_stream = threading.Thread(
89
+ target=device.start_stream,
90
+ args=("high_flow", "differential_pressure", "temperature",
91
+ data_queue, stop_queue, 5),
92
+ daemon=True
93
+ )
94
+ thread_stream.start()
95
+
96
+ # Main loop: receive streamed measurement data
97
+ while stop_queue.empty():
98
+ try:
99
+ data = data_queue.get(timeout=1)
100
+ print(data)
101
+ # --- Handle incoming data here ---
102
+ # Process, log, visualize, or store the measurement values.
103
+ # To stop streaming, call:
104
+ # stop_queue.put(True)
105
+ # This will end the loop and signal the thread to stop.
106
+ # ---------------------------------
107
+ except queue.Empty:
108
+ pass
109
+
110
+ # Wait for the streaming thread to finish
111
+ thread_stream.join()
112
+ device.close_serial_interface() # close serial connection
113
+ ```
114
+
115
+ ## Notes
116
+ * Measurement of I:E ratio – Use Ti/Te if Ti > Te, otherwise Te/Ti
@@ -0,0 +1,8 @@
1
+ pigeon_transmission/__init__.py,sha256=2qyx71gqVPVtVpU2Q9w3GxkGlz_rfzFOkb9kIfJ6E_E,91
2
+ pigeon_transmission/device_h4.py,sha256=QwYGdwMHk6QyEGMY3G3QmJXgumddaa1GEzo82kaFGxE,61501
3
+ pigeon_transmission/device_h5.py,sha256=dR74vO3Q0GiUgeITQCoEG_jjp1SGnLRYyvBN2NgmoiQ,67672
4
+ pigeon_transmission-0.0.2.dist-info/licenses/LICENSE,sha256=-odym1eHF9U-H0I6b-cAIIOiTDGP6inBZxSpR-AZnFM,36607
5
+ pigeon_transmission-0.0.2.dist-info/METADATA,sha256=aockKra-UH6LbVnfiubooAgnYpPqYRW8cSmOLiUhl-k,4206
6
+ pigeon_transmission-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
7
+ pigeon_transmission-0.0.2.dist-info/top_level.txt,sha256=LPGlwjSdWjUnP8iU5_hcNvoqP7XIgJPdT4LTF1GotBc,20
8
+ pigeon_transmission-0.0.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+