ephys-link 2.0.0b9__py3-none-any.whl → 2.0.1__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.
ephys_link/__about__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.0.0b9"
1
+ __version__ = "2.0.1"
@@ -127,7 +127,7 @@ class MPMBinding(BaseBinding):
127
127
  manipulator_data: dict[str, float] = await self._manipulator_data(manipulator_id)
128
128
 
129
129
  # Apply PosteriorAngle to Polar to get the correct angle.
130
- adjusted_polar: int = manipulator_data["Polar"] - (await self._query_data())["PosteriorAngle"]
130
+ adjusted_polar: int = manipulator_data["Polar"] - (await self._query_data())["PosteriorAngle"] # pyright: ignore [reportAny]
131
131
 
132
132
  return Vector3(
133
133
  x=adjusted_polar if adjusted_polar > 0 else 360 + adjusted_polar,
@@ -299,7 +299,7 @@ class MPMBinding(BaseBinding):
299
299
  return self.cache
300
300
 
301
301
  async def _manipulator_data(self, manipulator_id: str) -> dict[str, Any]: # pyright: ignore [reportExplicitAny]
302
- probe_data: list[dict[str, Any]] = (await self._query_data())["ProbeArray"] # pyright: ignore [reportExplicitAny]
302
+ probe_data: list[dict[str, Any]] = (await self._query_data())["ProbeArray"] # pyright: ignore [reportExplicitAny, reportAny]
303
303
  for probe in probe_data:
304
304
  if probe["Id"] == manipulator_id:
305
305
  return probe
@@ -100,7 +100,7 @@ class Ump4Binding(BaseBinding):
100
100
  raise RuntimeError(error_message)
101
101
 
102
102
  # Handle empty end position.
103
- if not movement.last_pos: # pyright: ignore [reportUnknownMemberType]
103
+ if movement.last_pos is None or len(movement.last_pos) == 0: # pyright: ignore [reportUnknownMemberType, reportUnknownArgumentType]
104
104
  error_message = f"Manipulator {manipulator_id} did not reach target position"
105
105
  raise RuntimeError(error_message)
106
106
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ephys-link
3
- Version: 2.0.0b9
3
+ Version: 2.0.1
4
4
  Summary: A Python Socket.IO server that allows any Socket.IO-compliant application to communicate with manipulators used in electrophysiology experiments.
5
5
  Project-URL: Documentation, https://virtualbrainlab.org/ephys_link/installation_and_use.html
6
6
  Project-URL: Issues, https://github.com/VirtualBrainLab/ephys-link/issues
@@ -17,34 +17,31 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
17
17
  Classifier: Operating System :: Microsoft :: Windows
18
18
  Classifier: Programming Language :: Python
19
19
  Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Programming Language :: Python :: 3.12
23
20
  Classifier: Programming Language :: Python :: 3.13
24
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
25
22
  Classifier: Programming Language :: Python :: Implementation :: PyPy
26
23
  Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
27
- Requires-Python: <3.14,>=3.10
28
- Requires-Dist: aiohttp==3.11.11
24
+ Requires-Python: >=3.13
25
+ Requires-Dist: aiohttp==3.11.16
29
26
  Requires-Dist: colorama==0.4.6
30
27
  Requires-Dist: keyboard==0.13.5
31
28
  Requires-Dist: packaging==24.2
32
- Requires-Dist: platformdirs==4.3.6
29
+ Requires-Dist: platformdirs==4.3.7
33
30
  Requires-Dist: pyserial==3.5
34
31
  Requires-Dist: python-socketio[asyncio-client]==5.12.1
35
32
  Requires-Dist: requests==2.32.3
36
- Requires-Dist: rich==13.9.4
33
+ Requires-Dist: rich==14.0.0
37
34
  Requires-Dist: sensapex==1.400.3
38
- Requires-Dist: vbl-aquarium==1.0.0b3
35
+ Requires-Dist: vbl-aquarium==1.0.0
39
36
  Description-Content-Type: text/markdown
40
37
 
41
38
  # Electrophysiology Manipulator Link
42
39
 
43
40
  [![PyPI version](https://badge.fury.io/py/ephys-link.svg)](https://badge.fury.io/py/ephys-link)
44
- [![Deploy Documentation](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/deploy-docs.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/deploy-docs.yml)
45
- [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev)
46
41
  [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
42
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
47
43
  [![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)
44
+ [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev)
48
45
  [![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
49
46
 
50
47
  <!-- [![Build](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml/badge.svg)](https://github.com/VirtualBrainLab/ephys-link/actions/workflows/build.yml) -->
@@ -59,22 +56,23 @@ to communicate with manipulators used in electrophysiology experiments.
59
56
 
60
57
  # Installation
61
58
 
62
- ## Launch from Pinpoint (Recommended)
59
+ ## Pinpoint (Recommended)
63
60
 
64
61
  Pinpoint comes bundled with the correct version of Ephys Link. If you are using Pinpoint on the same computer your
65
- manipulators are connected to, you can launch the server from within Pinpoint. Follow the instructions in
66
- the [Pinpoint documentation](https://virtualbrainlab.org/pinpoint/tutorials/tutorial_ephys_link.html#configure-and-launch-ephys-link).
62
+ manipulators are connected to, you can launch the server from within Pinpoint. See the documentation
63
+ on [connecting from Pinpoint](../usage/using_ephys_link.md#connecting-to-pinpoint).
64
+
65
+ ## Install as a Standalone Executable
67
66
 
68
- ## Install as Standalone Executable
67
+ Download the latest standalone executable or zip from
68
+ the [releases page](https://github.com/VirtualBrainLab/ephys-link/releases/latest).
69
69
 
70
- 1. Download the latest standalone executable or zip from
71
- the [releases page](https://github.com/VirtualBrainLab/ephys-link/releases/latest).
72
- 2. Double-click the executable file to start.
70
+ Then see the [usage documentation](../usage/starting_ephys_link.md) for how to run the server.
73
71
 
74
72
  # Documentation and More Information
75
73
 
76
- Complete documentation including API usage and development installation can be
77
- found on the [Virtual Brain Lab Documentation page][docs] for Ephys Link.
74
+ Complete documentation including how to add manipulators and API usage can be
75
+ found on [Ephys Link's Documentation Website][docs].
78
76
 
79
77
  # Citing
80
78
 
@@ -88,4 +86,4 @@ through the issues tab.
88
86
 
89
87
  [Pinpoint]: https://github.com/VirtualBrainLab/Pinpoint
90
88
 
91
- [docs]: https://virtualbrainlab.github.io/ephys-link/
89
+ [docs]: https://ephys-link.virtualbrainlab.org
@@ -1,4 +1,4 @@
1
- ephys_link/__about__.py,sha256=fcPPQ4XJ4PzvYjX6RTK2dC_L1a9gTZZrtLk8mryO2C0,24
1
+ ephys_link/__about__.py,sha256=wAxkK8w13vqoF47A8iqWdSlIgRRXmZiQ0R4wePZfzhs,22
2
2
  ephys_link/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  ephys_link/__main__.py,sha256=sbFdC6KJjTfXDgRraU_fmGRPcF4I1Ur9PRDiD86dkRI,1449
4
4
  ephys_link/back_end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -6,8 +6,8 @@ ephys_link/back_end/platform_handler.py,sha256=PSlBa2_jM073uaF3MvCd-_a7XXEeTfn5K
6
6
  ephys_link/back_end/server.py,sha256=mb3K3pXSO-gHaSj1CGJ0v3CSOW5YCi-p0EOKoySRzKQ,10322
7
7
  ephys_link/bindings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  ephys_link/bindings/fake_binding.py,sha256=VCmKZha113kiHSmOZzKLfbaa8iXobefJFQPI3eCzuZE,2343
9
- ephys_link/bindings/mpm_binding.py,sha256=UdrWXiz16zJ7PSQBnYNtpTXs_1chbE_v1tvzeP7PrPk,10681
10
- ephys_link/bindings/ump_4_binding.py,sha256=_ZEMT6B4aEqJHdwSElnkOnaXxG7wwKeUgsHZ5T6ekgg,5345
9
+ ephys_link/bindings/mpm_binding.py,sha256=5xYhZbDPNZNrhlizdi5OuVJ5bQkfp4kB-1ONBww_N_Y,10723
10
+ ephys_link/bindings/ump_4_binding.py,sha256=zwAUo2wYBGq3NKa0zxdb5Jh_FMBAhf5yHdfKBP3m4dk,5407
11
11
  ephys_link/front_end/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  ephys_link/front_end/cli.py,sha256=isIJs_sZbz7VbNvLgi-HyDlE-TyKD12auDhMTxAkWQU,3099
13
13
  ephys_link/front_end/gui.py,sha256=MDcrTS_Xz9bopAgamh4HknqRC10W8E6eOS3Kss_2ZKQ,6864
@@ -18,8 +18,8 @@ ephys_link/utils/console.py,sha256=52SYvXv_7Fx8QDL3RMFQoggQ1n5W93Yu5aU7uuJQgfg,3
18
18
  ephys_link/utils/constants.py,sha256=1aML7zBNTM5onVSf6NDrYIR33VJy-dIHd1lFORVBGbM,725
19
19
  ephys_link/utils/converters.py,sha256=ZdVmIX-LHCwM__F0SpjN_mfNGGetr1U97xvHd0hf8T0,2038
20
20
  ephys_link/utils/startup.py,sha256=jZVed78tuWjUuZqWVgii_zumDr87T-ikEtOFa6KTE_E,2500
21
- ephys_link-2.0.0b9.dist-info/METADATA,sha256=IGGp1Wq6pI7YrTJKx71biBGNTrSaf8Vsk1Lg6p_647Y,4868
22
- ephys_link-2.0.0b9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
- ephys_link-2.0.0b9.dist-info/entry_points.txt,sha256=o8wV3AdnJ9o47vg9ymKxPNVq9pMdPq8UZHE_iyAJx-k,124
24
- ephys_link-2.0.0b9.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
25
- ephys_link-2.0.0b9.dist-info/RECORD,,
21
+ ephys_link-2.0.1.dist-info/METADATA,sha256=3HXNRu1dIUb1BieBaUJtwm_f_yoqjQcI5fqi3N84rkY,4607
22
+ ephys_link-2.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
+ ephys_link-2.0.1.dist-info/entry_points.txt,sha256=o8wV3AdnJ9o47vg9ymKxPNVq9pMdPq8UZHE_iyAJx-k,124
24
+ ephys_link-2.0.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
25
+ ephys_link-2.0.1.dist-info/RECORD,,