makcu 2.1.2__tar.gz → 2.2.0__tar.gz

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 (36) hide show
  1. {makcu-2.1.2/makcu.egg-info → makcu-2.2.0}/PKG-INFO +3 -29
  2. {makcu-2.1.2 → makcu-2.2.0/makcu}/README.md +2 -28
  3. makcu-2.2.0/makcu/__init__.py +22 -0
  4. {makcu-2.1.2 → makcu-2.2.0}/makcu/__main__.py +388 -387
  5. {makcu-2.1.2 → makcu-2.2.0}/makcu/conftest.py +33 -33
  6. {makcu-2.1.2 → makcu-2.2.0}/makcu/connection.py +553 -459
  7. {makcu-2.1.2 → makcu-2.2.0}/makcu/controller.py +410 -376
  8. {makcu-2.1.2 → makcu-2.2.0}/makcu/enums.py +7 -7
  9. {makcu-2.1.2 → makcu-2.2.0}/makcu/errors.py +13 -13
  10. {makcu-2.1.2 → makcu-2.2.0}/makcu/makcu.pyi +10 -10
  11. {makcu-2.1.2 → makcu-2.2.0}/makcu/mouse.py +249 -249
  12. {makcu-2.1.2 → makcu-2.2.0}/makcu/test_suite.py +141 -144
  13. {makcu-2.1.2 → makcu-2.2.0/makcu.egg-info}/PKG-INFO +3 -29
  14. makcu-2.2.0/makcu.egg-info/SOURCES.txt +19 -0
  15. {makcu-2.1.2 → makcu-2.2.0}/pyproject.toml +2 -2
  16. makcu-2.1.2/MANIFEST.in +0 -11
  17. makcu-2.1.2/makcu/__init__.py +0 -60
  18. makcu-2.1.2/makcu.egg-info/SOURCES.txt +0 -32
  19. makcu-2.1.2/tests/test_button_mask.py +0 -7
  20. makcu-2.1.2/tests/test_capture_right_clicks.py +0 -21
  21. makcu-2.1.2/tests/test_controller_behavior.py +0 -7
  22. makcu-2.1.2/tests/test_device_info.py +0 -8
  23. makcu-2.1.2/tests/test_firmware_version.py +0 -7
  24. makcu-2.1.2/tests/test_get_button_states.py +0 -7
  25. makcu-2.1.2/tests/test_get_raw_mask.py +0 -5
  26. makcu-2.1.2/tests/test_is_button_pressed.py +0 -6
  27. makcu-2.1.2/tests/test_lock_state.py +0 -22
  28. makcu-2.1.2/tests/test_middle_click.py +0 -6
  29. makcu-2.1.2/tests/test_port_connection.py +0 -4
  30. makcu-2.1.2/tests/test_press_and_release.py +0 -7
  31. {makcu-2.1.2 → makcu-2.2.0}/LICENSE +0 -0
  32. {makcu-2.1.2 → makcu-2.2.0}/makcu/py.typed +0 -0
  33. {makcu-2.1.2 → makcu-2.2.0}/makcu.egg-info/dependency_links.txt +0 -0
  34. {makcu-2.1.2 → makcu-2.2.0}/makcu.egg-info/requires.txt +0 -0
  35. {makcu-2.1.2 → makcu-2.2.0}/makcu.egg-info/top_level.txt +0 -0
  36. {makcu-2.1.2 → makcu-2.2.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: makcu
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: Python library for Makcu hardware device control
5
5
  Author: SleepyTotem
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -708,7 +708,7 @@ Requires-Dist: twine>=4.0
708
708
  Requires-Dist: rich>=14.0
709
709
  Dynamic: license-file
710
710
 
711
- # 🖱️ Makcu Python Library v2.1.2
711
+ # 🖱️ Makcu Python Library v2.2.0
712
712
 
713
713
  [![PyPI Version](https://img.shields.io/pypi/v/makcu.svg)](https://pypi.org/project/makcu/)
714
714
  [![Python Support](https://img.shields.io/pypi/pyversions/makcu.svg)](https://pypi.org/project/makcu/)
@@ -716,16 +716,6 @@ Dynamic: license-file
716
716
 
717
717
  Makcu Py Lib is a high-performance Python library for controlling Makcu devices — now with **async/await support**, **zero-delay command execution**, and **automatic reconnection**!
718
718
 
719
- ## What's New in v2.0
720
-
721
- - **Async/Await Support**: Full async API for modern Python applications
722
- - **Zero-Delay Commands**: Removed all `sleep()` calls with proper command tracking
723
- - **Auto-Reconnection**: Automatic device reconnection on disconnect
724
- - **Parallel Operations**: Execute multiple commands simultaneously
725
- - **Enhanced Debugging**: Better logging and error tracking
726
- - **Gaming-Optimized**: Sub-3ms command execution for 240Hz+ gaming
727
- - **Ultra-Fast Performance**: 10-50x faster than >=v1.4
728
-
729
719
  ---
730
720
 
731
721
  ## 📦 Installation
@@ -950,17 +940,6 @@ python -m makcu --runtest
950
940
 
951
941
  ---
952
942
 
953
- ## ⚠️ Sync vs Async Limitations
954
-
955
- Some methods such as `lock()`, `unlock()`, and `click_human_like()` are currently only implemented in synchronous form. To use them in async workflows, run via thread executor:
956
-
957
- ```python
958
- loop = asyncio.get_running_loop()
959
- await loop.run_in_executor(None, makcu.lock, MouseButton.LEFT)
960
- ```
961
-
962
- > Note: `drag` and `get_all_lock_states` are supported only in the synchronous interface as of v2.0.
963
-
964
943
  ### Test Suite
965
944
 
966
945
  - File: `test_suite.py`
@@ -1027,9 +1006,6 @@ Based on the measured test suite, v2.0 is on average **~17× faster** than v1.3
1027
1006
  ### Tips for Maximum Performance
1028
1007
 
1029
1008
  ```python
1030
- # Use gaming profile for fastest clicks
1031
- makcu.click_human_like(MouseButton.LEFT, profile="gaming")
1032
-
1033
1009
  # Disable debug mode in production
1034
1010
  makcu = create_controller(debug=False)
1035
1011
 
@@ -1126,11 +1102,9 @@ GPL License © SleepyTotem
1126
1102
 
1127
1103
  ---
1128
1104
 
1129
- ## 🙋 Support & Contributing
1105
+ ## 🙋 Support
1130
1106
 
1131
1107
  - **Issues**: [GitHub Issues](https://github.com/SleepyTotem/makcu-py-lib/issues)
1132
- - **Discussions**: [GitHub Discussions](https://github.com/SleepyTotem/makcu-py-lib/discussions)
1133
- - **Pull Requests**: Welcome! Please read CONTRIBUTING.md
1134
1108
 
1135
1109
  ---
1136
1110
 
@@ -1,4 +1,4 @@
1
- # 🖱️ Makcu Python Library v2.1.2
1
+ # 🖱️ Makcu Python Library v2.2.0
2
2
 
3
3
  [![PyPI Version](https://img.shields.io/pypi/v/makcu.svg)](https://pypi.org/project/makcu/)
4
4
  [![Python Support](https://img.shields.io/pypi/pyversions/makcu.svg)](https://pypi.org/project/makcu/)
@@ -6,16 +6,6 @@
6
6
 
7
7
  Makcu Py Lib is a high-performance Python library for controlling Makcu devices — now with **async/await support**, **zero-delay command execution**, and **automatic reconnection**!
8
8
 
9
- ## What's New in v2.0
10
-
11
- - **Async/Await Support**: Full async API for modern Python applications
12
- - **Zero-Delay Commands**: Removed all `sleep()` calls with proper command tracking
13
- - **Auto-Reconnection**: Automatic device reconnection on disconnect
14
- - **Parallel Operations**: Execute multiple commands simultaneously
15
- - **Enhanced Debugging**: Better logging and error tracking
16
- - **Gaming-Optimized**: Sub-3ms command execution for 240Hz+ gaming
17
- - **Ultra-Fast Performance**: 10-50x faster than >=v1.4
18
-
19
9
  ---
20
10
 
21
11
  ## 📦 Installation
@@ -240,17 +230,6 @@ python -m makcu --runtest
240
230
 
241
231
  ---
242
232
 
243
- ## ⚠️ Sync vs Async Limitations
244
-
245
- Some methods such as `lock()`, `unlock()`, and `click_human_like()` are currently only implemented in synchronous form. To use them in async workflows, run via thread executor:
246
-
247
- ```python
248
- loop = asyncio.get_running_loop()
249
- await loop.run_in_executor(None, makcu.lock, MouseButton.LEFT)
250
- ```
251
-
252
- > Note: `drag` and `get_all_lock_states` are supported only in the synchronous interface as of v2.0.
253
-
254
233
  ### Test Suite
255
234
 
256
235
  - File: `test_suite.py`
@@ -317,9 +296,6 @@ Based on the measured test suite, v2.0 is on average **~17× faster** than v1.3
317
296
  ### Tips for Maximum Performance
318
297
 
319
298
  ```python
320
- # Use gaming profile for fastest clicks
321
- makcu.click_human_like(MouseButton.LEFT, profile="gaming")
322
-
323
299
  # Disable debug mode in production
324
300
  makcu = create_controller(debug=False)
325
301
 
@@ -416,11 +392,9 @@ GPL License © SleepyTotem
416
392
 
417
393
  ---
418
394
 
419
- ## 🙋 Support & Contributing
395
+ ## 🙋 Support
420
396
 
421
397
  - **Issues**: [GitHub Issues](https://github.com/SleepyTotem/makcu-py-lib/issues)
422
- - **Discussions**: [GitHub Discussions](https://github.com/SleepyTotem/makcu-py-lib/discussions)
423
- - **Pull Requests**: Welcome! Please read CONTRIBUTING.md
424
398
 
425
399
  ---
426
400
 
@@ -0,0 +1,22 @@
1
+ from .controller import (
2
+ MakcuController,
3
+ create_controller,
4
+ create_async_controller,
5
+ maybe_async
6
+ )
7
+ from .enums import MouseButton
8
+ from .errors import MakcuConnectionError
9
+
10
+ # Version info
11
+ __version__ = "2.2.0"
12
+ __author__ = "SleepyTotem"
13
+
14
+ # Main exports
15
+ __all__ = [
16
+ 'MakcuController',
17
+ 'MouseButton',
18
+ 'MakcuConnectionError',
19
+ 'create_controller',
20
+ 'create_async_controller',
21
+ 'maybe_async'
22
+ ]