ephys-link 2.0.0__py3-none-any.whl → 2.0.0b1__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,166 @@
1
+ Metadata-Version: 2.3
2
+ Name: ephys-link
3
+ Version: 2.0.0b1
4
+ Summary: A Python Socket.IO server that allows any Socket.IO-compliant application to communicate with manipulators used in electrophysiology experiments.
5
+ Project-URL: Documentation, https://virtualbrainlab.org/ephys_link/installation_and_use.html
6
+ Project-URL: Issues, https://github.com/VirtualBrainLab/ephys-link/issues
7
+ Project-URL: Source, https://github.com/VirtualBrainLab/ephys-link
8
+ Author-email: Kenneth Yang <kjy5@uw.edu>
9
+ Maintainer-email: Kenneth Yang <kjy5@uw.edu>
10
+ License-Expression: GPL-3.0-only
11
+ License-File: LICENSE
12
+ Keywords: electrophysiology,ephys,manipulator,neuroscience,neurotech,new-scale,sensapex,socket-io,virtualbrainlab
13
+ Classifier: Intended Audience :: End Users/Desktop
14
+ Classifier: Intended Audience :: Healthcare Industry
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: Implementation :: CPython
26
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
27
+ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
28
+ Requires-Python: <3.13,>=3.10
29
+ Requires-Dist: aiohttp==3.9.5
30
+ Requires-Dist: colorama==0.4.6
31
+ Requires-Dist: platformdirs==4.2.2
32
+ Requires-Dist: pyserial==3.5
33
+ Requires-Dist: python-socketio[asyncio-client]==5.11.3
34
+ Requires-Dist: pythonnet==3.0.3
35
+ Requires-Dist: requests==2.32.3
36
+ Requires-Dist: sensapex==1.400.1
37
+ Requires-Dist: vbl-aquarium==0.0.19
38
+ Description-Content-Type: text/markdown
39
+
40
+ # Electrophysiology Manipulator Link
41
+
42
+ [![PyPI version](https://badge.fury.io/py/ephys-link.svg)](https://badge.fury.io/py/ephys-link)
43
+ [![CodeQL](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/codeql-analysis.yml)
44
+ [![Dependency Review](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/dependency-review.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/dependency-review.yml)
45
+ [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
46
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
47
+
48
+ <!-- [![Build](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml) -->
49
+
50
+ <img width="100%" src="https://github.com/VirtualBrainLab/ephys-link/assets/82800265/0c7c60b1-0926-4697-a461-221554f82de1" alt="Manipulator and probe in pinpoint moving in sync">
51
+
52
+ The [Electrophysiology Manipulator Link](https://github.com/VirtualBrainLab/ephys-link)
53
+ (or Ephys Link for short) is a Python [Socket.IO](https://socket.io/docs/v4/#what-socketio-is) server that allows any
54
+ Socket.IO-compliant application (such
55
+ as [Pinpoint](https://github.com/VirtualBrainLab/Pinpoint))
56
+ to communicate with manipulators used in electrophysiology experiments.
57
+
58
+ **Supported Manipulators:**
59
+
60
+ | Manufacturer | Model |
61
+ |--------------|-------------------------------------------------------------------------|
62
+ | Sensapex | <ul> <li>uMp-4</li> <li>uMp-3</li> </ul> |
63
+ | New Scale | <ul> <li>Pathfinder MPM Control v2.8+</li> <li>M3-USB-3:1-EP</li> </ul> |
64
+
65
+ Ephys Link is an open and extensible platform. It is designed to easily support integration with other manipulators.
66
+
67
+ For more information regarding the server's implementation and how the code is organized, see
68
+ the [package's development documentation](https://virtualbrainlab.org/ephys_link/development.html).
69
+
70
+ For detailed descriptions of the server's API, see
71
+ the [API reference](https://virtualbrainlab.org/api_reference_ephys_link.html).
72
+
73
+ # Installation
74
+
75
+ ## Prerequisites
76
+
77
+ 1. An **x86 Windows PC is required** to run the server.
78
+ 2. For Sensapex devices, the controller unit must be connected via an ethernet
79
+ cable and powered. A USB-to-ethernet adapter is acceptable. For New Scale manipulators,
80
+ the controller unit must be connected via USB and be powered by a 6V power
81
+ supply.
82
+ 3. To use the emergency stop feature, ensure an Arduino with
83
+ the [StopSignal](https://github.com/VirtualBrainLab/StopSignal) sketch is
84
+ connected to the computer. Follow the instructions on that repo for how to
85
+ set up the Arduino.
86
+
87
+ **NOTE:** Ephys Link is an HTTP server without cross-origin support. The server
88
+ is currently designed to interface with local/desktop instances of Pinpoint. It
89
+ will not work with the web browser versions of Pinpoint at this time.
90
+
91
+ ## Launch from Pinpoint (Recommended)
92
+
93
+ Pinpoint comes bundled with the correct version of Ephys Link. If you are using Pinpoint on the same computer your
94
+ manipulators are connected to, you can launch the server from within Pinpoint. Follow the instructions in
95
+ the [Pinpoint documentation](https://virtualbrainlab.org/pinpoint/tutorials/tutorial_ephys_link.html#configure-and-launch-ephys-link).
96
+
97
+ ## Install as Standalone Executable
98
+
99
+ 1. Download the latest executable from
100
+ the [releases page](https://github.com/VirtualBrainLab/ephys-link/releases/latest).
101
+ 2. Double-click the executable file to launch the configuration window.
102
+ 1. Take note of the IP address and port. **Copy this information into Pinpoint to connect**.
103
+ 3. Select the desired configuration and click "Launch Server".
104
+
105
+ The configuration window will close and the server will launch. Your configurations will be saved for future use.
106
+
107
+ To connect to the server from Pinpoint, provide the IP address and port. For example, if the server is running on the
108
+ same computer that Pinpoint is, use
109
+
110
+ - Server: `localhost`
111
+ - Port: `8081`
112
+
113
+ If the server is running on a different (local) computer, use the IP address of that computer as shown in the startup
114
+ window instead of `localhost`.
115
+
116
+ ## Install as a Python package
117
+
118
+ ```bash
119
+ pip install ephys-link
120
+ ```
121
+
122
+ Import the modules you need and launch the server.
123
+
124
+ ```python
125
+ from ephys_link.server import Server
126
+
127
+ server = Server()
128
+ server.launch("sensapex", args.proxy_address, 8081)
129
+ ```
130
+
131
+ ## Install for Development
132
+
133
+ 1. Clone the repository.
134
+ 2. Install [Hatch](https://hatch.pypa.io/latest/install/)
135
+ 3. In a terminal, navigate to the repository's root directory and run
136
+
137
+ ```bash
138
+ hatch shell
139
+ ```
140
+
141
+ This will create a virtual environment, install Python 12 (if not found), and install the package in editable mode.
142
+
143
+ If you encounter any dependency issues (particularly with `aiohttp`), try installing the latest Microsoft Visual C++
144
+ (MSVC v143+ x86/64) and the Windows SDK (10/11)
145
+ via [Visual Studio Build Tools Installer](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
146
+
147
+ # Documentation and More Information
148
+
149
+ Complete documentation including API usage and development installation can be
150
+ found on the [Virtual Brain Lab Documentation page][docs] for Ephys Link.
151
+
152
+ # Citing
153
+
154
+ If this project is used as part of a research project you should cite
155
+ the [Pinpoint repository][Pinpoint]. Please email
156
+ Dan ([dbirman@uw.edu](mailto:dbirman@uw.edu)) if you have questions.
157
+
158
+ Please reach out to Kenneth ([kjy5@uw.edu](mailto:kjy5@uw.edu)) for questions
159
+ about the Electrophysiology Manipulator Link server. Bugs may be reported
160
+ through the issues tab.
161
+
162
+ [Pinpoint]: https://github.com/VirtualBrainLab/Pinpoint
163
+
164
+ [StopSignal]: https://github.com/VirtualBrainLab/StopSignal
165
+
166
+ [docs]: https://virtualbrainlab.org/ephys_link/installation_and_use.html
@@ -0,0 +1,25 @@
1
+ ephys_link/__about__.py,sha256=QUUi7DnZ0lfA8ZZUdMrPNiqXewCSfYtIqTvB6q6NnGQ,25
2
+ ephys_link/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ ephys_link/__main__.py,sha256=pu7QLmS_30qWpgzeibMVD5FsVhICiK0wi7QkzX6F0qU,1373
4
+ ephys_link/back_end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ ephys_link/back_end/platform_handler.py,sha256=5GfyLz8rX8VYypuT9JJokV12mnyUksriFOzRgp6H4W8,12939
6
+ ephys_link/back_end/server.py,sha256=WP5NLJnIKtkVImdRgtZKxWEghd17FjsmpuczYpoFs3Q,7965
7
+ ephys_link/bindings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ ephys_link/bindings/fake_bindings.py,sha256=_ZpXx4whztbO5jNGNqwoJFdqhIIbZ0VMx4mHkMge1r0,1726
9
+ ephys_link/bindings/ump_4_bindings.py,sha256=1V_bQzq7xVX1qGxbK11nxX7X3L3cfh9RTdhbVJwBKg8,4651
10
+ ephys_link/front_end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ ephys_link/front_end/cli.py,sha256=KJBSWqdz4T5z0Zor1tJSHTJKZeMcHAJf5gXXu38wQPU,3105
12
+ ephys_link/front_end/gui.py,sha256=_gE6zFhFnzHPSyYd9MBvfK5xmDZHsUXcETDHzH66QzU,7518
13
+ ephys_link/resources/CP210xManufacturing.dll,sha256=aM9k_XABjkq0TOMiIw8HeteB40zqEkUDNO8wo91EdYI,810232
14
+ ephys_link/resources/NstMotorCtrl.dll,sha256=Xtpr3vBcxhcsOUGvgVEwYtGPvKEqDctIUGCK36GfU2Q,155136
15
+ ephys_link/resources/SiUSBXp.dll,sha256=187zlclZNNezCkU1o1CbICRAmKWJxbh8ahP6L6wo-_Y,469752
16
+ ephys_link/resources/libum.dll,sha256=YaD4dwiSNohx-XxHjx2eQWPOBEVvUIXARvx37e_yqNw,316316
17
+ ephys_link/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ ephys_link/util/base_bindings.py,sha256=FNqhB7kJf2n9g4wYHEBbQ2wEiZscR5sKCnIEZ6yujgE,4808
19
+ ephys_link/util/common.py,sha256=IgmTpXRU2z7jfYV2zB4RGgjV34IaYa2s3TYpzKZkpao,3519
20
+ ephys_link/util/console.py,sha256=kD4LLehdA1xLiGwdvjt5KxImDSyDkcoC2CQVOxTv8T4,3560
21
+ ephys_link-2.0.0b1.dist-info/METADATA,sha256=j_XqMK_IK955IOE0ikj_JhqschZGCOKpgMiWdGzTrQQ,7975
22
+ ephys_link-2.0.0b1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
23
+ ephys_link-2.0.0b1.dist-info/entry_points.txt,sha256=o8wV3AdnJ9o47vg9ymKxPNVq9pMdPq8UZHE_iyAJx-k,124
24
+ ephys_link-2.0.0b1.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
25
+ ephys_link-2.0.0b1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.25.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any