Package: eva-sdk
Eva Python SDKThe Eva Python SDK provides convenient access to the Automata Eva API from applications written in Python 3.* This SDK is currently in betaInstallationExamplesVersioningLoggingBugs and feature requestsLicenseInstallationRequires Python 3, not compatible with Python 2PipMake sure you have Python3 and pip installed, then run the following command:$pipinstalleva-sdk# Or for a specific version, i.e the lastest compatible version 2.x.x:$pipinstalleva-sdk~=2.0.0PipenvMake sure you have Python3 and Pipenv installed, then run the following command:$pipenvinstalleva-sdk# Or for a specific version, i.e the lastest compatible version 2.x.x:$pipenvinstalleva-sdk~=2.0.0Detail InstructionsIf your not familiar with Python or for more detailed instructions please refer to our wiki:Windows installation instructionsMac installation instructionsExamplesThe Eva object allows you to directly control an Eva robot. It provides lots of useful helper function for interacting with the robot.EvaConnectinghost='<your_eva_IP_here>'token='<your_token_here>'eva=Eva(host,token)GoTo movementeva=Eva(host_ip,token)witheva.lock():eva.control_wait_for_ready()eva.control_go_to([0,0,0,0,0,0])Toolpath create and runtoolpath={"metadata":{"default_velocity":0.7,"next_label_id":5,"analog_modes":{"i0":"voltage","i1":"voltage","o0":"voltage","o1":"voltage"}},"waypoints":[{"joints":[-0.68147224,0.3648368,-1.0703622,9.354615e-05,-2.4358354,-0.6813218],"label_id":3},{"joints":[-0.6350288,0.25192022,-1.0664424,0.030407501,-2.2955494,-0.615318],"label_id":2},{"joints":[-0.13414459,0.5361486,-1.280493,-6.992453e-08,-2.3972468,-0.13414553],"label_id":1},{"joints":[-0.4103904,0.33332264,-1.5417944,-5.380291e-06,-1.9328799,-0.41031334],"label_id":4}],"timeline":[{"type":"home","waypoint_id":2},{"type":"trajectory","trajectory":"joint_space","waypoint_id":1},{"type":"trajectory","trajectory":"joint_space","waypoint_id":0},{"type":"trajectory","trajectory":"joint_space","waypoint_id":2}]}eva=Eva(host,token)witheva.lock():eva.control_wait_for_ready()eva.toolpaths_use(toolpath)eva.control_home()eva.control_run(loop=1)Please refer to the examples directory for more SDK usage examples.eva-sdk.eva_http and eva-sdk.eva_wsThese can be used to interact directly with the HTTP and Websocket APIs. Useful when you don't want the managed websocket connection provided by the eva-sdk.Eva object.VersioningTo determine which version of the SDK works with your Eva's software version number (found on the Choreograph config page), please use the following chart:SDK VersionSupported Eva Version1.x.x2.0.0 - 2.1.22.x.x3.x.xFor more information on how to install a particular version of the SDK, please refer to theInstallationsection. We use theSemverversion numbering stratergy.LoggingThe SDK uses Debug and Error level logging exclusively. Each Eva instance will log using the nameeva-sdk.Eva:<host_name_here>. If you wish to enable the debug logging:logging.basicConfig(level=logging.DEBUG)Bugs and feature requestsPlease raise any bugs or feature requests as a Github issues. We also gratefully accept pull requests for features and bug fixes.Testing$pipenvshell
$python-mpytesteva-sdk/<name-of-file-to-test># some test require supplying ip and token via the `--ip` and `--token` arguements$python-mpytesteva-sdk/<name-of-file-to-test>--ip172.16.16.2--tokenabc-123-def-456LicenseThis code is free to use under the terms of the Apache 2 license. Please refer to LICENSE for more information.