
# DO NOT EDIT THIS FILE -- AUTOGENERATED BY PANTS
# Target: src/python/arcor2_3d_mouse:arcor2_3d_mouse_dist

from setuptools import setup

setup(**{
    'author': 'Robo@FIT',
    'author_email': 'imaterna@fit.vut.cz',
    'classifiers': [
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
        'Programming Language :: Python :: 3.11',
        'Natural Language :: English',
        'Topic :: Scientific/Engineering',
    ],
    'description': 'ARCOR2 library for manipulation with 3D mouse',
    'entry_points': {
        'console_scripts': [
            'arcor2_3d_mouse = arcor2_3d_mouse.scripts.mouse_launcher:main',
        ],
    },
    'install_requires': (
        'arcor2_arserver_data~=1.1.0',
        'arcor2_calibration_data~=1.1.0',
        'arcor2_execution_data~=1.2.0',
        'arcor2_runtime~=1.2.0',
        'arcor2~=1.3.0',
        'gTTS~=2.5.1',
        'pydub-stubs==0.25.1.1',
        'pydub~=0.25.1',
        'pyspacemouse~=1.1.1',
    ),
    'license': 'LGPL',
    'long_description': """# arcor2_3D_mouse

## Structure 
##### mouse_controller.py
- contains classes necessary to read inputs from the 3D mouse
##### mouse_program.py
- contains main body of the program

## Usage

### For users

The application is used for fast and intuitive programming with arcor2 system.

Upon opening the application it goes to the waiting mode. In waiting mode it reads messages from the server, waiting for a project to be opened and started. In this state, the user can exit the application by pressing the right mouse button. 

If a project has been opened and the scene started, the app is in a robot-choosing state, in this state user chooses which robot should be doing new action. User can move through a list of robots by moving the mouse to the left and to the right. To select a robot the user has to press the left mouse button. To exit the app the user has to press the right mouse button.

When a robot has been selected, the app goes to the action-choosing state. In this state, the user chooses which action should be added. User can move through a list of actions by moving the mouse to the left and to the right. To select an action the user has to press the left mouse button. To choose a different robot the user has to press the right mouse button.

When action has been selected, the app goes to the movement state. In this state, all movements done by the mouse are directly sent to the chosen robot. To select a place, where new action has to be added, the user has to press the left mouse button. To choose different action, the user has to press the right mouse button.

When the place for new action is chosen, new action is added and the program goes back to the action-choosing state. Previously selected robot stays selected.

### For developers
The program is prepared by making an instance of mouse_program.MouseProgram class. Optional parameters are connecton_string and timeout. The Connection string is in the following format "ws://ip:port". Ip and port are of active arcor2 server running on a connected network. Timeout chooses the time, in which the app expects a response from the server. It is recommended to keep it under 1 sec.

After init user is expected to call class method register_user, with a chosen user name. If a username, that is already used is picked, the program will raise an exception.

The program itself starts after calling class method program_loop.

Because the program uses multiple threads, it is recommended to set interrupt and termination signals to class method close_program.
## [1.1.0] - 2024-04-11

### Changed

- Updated dependencies, switched to Python 3.11.

## [1.0.0] - 2023-05-05
### Release
- First version of application""",
    'long_description_content_type': 'text/markdown',
    'name': 'arcor2_3d_mouse',
    'namespace_packages': (
    ),
    'package_data': {
        'arcor2_3d_mouse': (
            'VERSION',
            'py.typed',
        ),
    },
    'packages': (
        'arcor2_3d_mouse',
        'arcor2_3d_mouse.scripts',
    ),
    'python_requires': '==3.11.*',
    'version': '1.1.0',
})
