{ "info": { "author": "Lorenzo Busoni", "author_email": "lorenzo.busoni@inaf.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# TIPICO: Test Inutile per Provare Inutilmente pliCO\n\n| [![Build Status][travis]][travislink] | [![Coverage Status][coveralls]][coverallslink] | \n\ntipico is a useless application to test the [plico][plico] environment.\n\n\n\n[plico]: https://github.com/lbusoni/plico\n[travis]: https://travis-ci.com/lbusoni/tipico.svg?branch=master \"go to travis\"\n[travislink]: https://travis-ci.com/lbusoni/tipico\n[coveralls]: https://coveralls.io/repos/github/lbusoni/tipico/badge.svg?branch=master \"go to coveralls\"\n[coverallslink]: https://coveralls.io/github/lbusoni/tipico\n\n\n## Installation\n\nOn the client \n\n```\npip install tipico\n```\n\n\nOn the server \n\n```\npip install tipico-server\n```\n\nThe tipico-server package installs also the client package.\n\n\n### Config files\n\nThe server requires to be configured \n\nThe application uses `appdirs` to locate configurations, calibrations \nand log folders: the path varies as it is OS specific. \nTypical paths for config files are: \n + On OS X `$HOME/Library/Application Support/inaf.arcetri.ao.tipico_server/tipico_server.conf`\n + On Ubuntu `$HOME/.config/inaf.arcetri.ao.tipico_server/tipico_server.conf`\n\nThe configuration files are copied when the application is first used\nfrom their original location in the python package to the final\ndestination, where they are supposed to be modified by the user.\nThe application never touches an installed file (no delete, no overwriting)\n\nThe easiest way of checking which config file is used by the server is to start it (see below) and check for the config file name written in the standard output.\n\nAnother way of querying the system for config file location is to run python on the server and type:\n\n```\nimport tipico_server\ntipico_server.defaultConfigFilePath\n```\n\n\nThe user can specify customized conf/calib/log file path for both\nservers and client (how? ask!)\n\n\n## Usage\n\n### Starting Servers\n\nStarts the 2 servers that control one device each.\n\n```\ntipico_start\n```\n\n\n### Using client \n\nIn a Python / IPython shell:\n\n\nCreate a client of the device (suppose the server is running on localhost on port 60010)\n\n```\nIn [1]: import tipico\n\nIn [2]: instr= tipico.instrument('localhost', 60010)\n```\n\nGet position and move actuator\n\n\n```\nIn [3]: instr.getPosition()\nOut[3]: 0\n\nIn [6]: instr.moveTo(np.array([42, 3.14]))\n\nIn [7]: instr.getPosition()\nOut[7]: array([42. , 3.14])\n\n```\n\n\nGet position and move actuator\n\n\n```\n\nIn [8]: status=instr.getStatus()\n\nIn [9]: status.actuatorCommands()\nOut[9]: array([42. , 3.14])\n\nIn [10]: status.commandCounter()\nOut[10]: 1\n\nIn [11]: instr.moveTo(np.array([1, 2]))\n\nIn [12]: status=instr.getStatus()\n\nIn [13]: status.commandCounter()\nOut[13]: 2\n\nIn [14]: status.actuatorCommands()\nOut[14]: array([1, 2])\n\nIn [15]: instr.getPosition()\nOut[15]: array([1, 2])\n\nIn [16]: instr.getSnapshot('tux')\nOut[16]: {'tux.COMMAND_COUNTER': 2, 'tux.SERIAL_NUMBER': '1', 'tux.STEP_COUNTER': 17065}\n\nIn [17]: instr.getSnapshot('tux')\nOut[17]: {'tux.COMMAND_COUNTER': 2, 'tux.SERIAL_NUMBER': '1', 'tux.STEP_COUNTER': 21225}\n```\n\n\n### Stopping Tipico\n\nTo kill the servers run\n\n```\ntipico_stop\n```\n\nMore hard:\n\n```\ntipico_kill_all\n```\n\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "plico,laboratory,instrumentation control", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tipico", "package_url": "https://pypi.org/project/tipico/", "platform": "", "project_url": "https://pypi.org/project/tipico/", "project_urls": null, "release_url": "https://pypi.org/project/tipico/0.15.0/", "requires_dist": [ "plico (>=0.15)", "numpy", "psutil", "configparser", "six", "appdirs", "pyfits", "futures", "pyside2", "Qt.py", "pathlib2; python_version < \"3\"" ], "requires_python": "", "summary": "useless client of a simulated device with PLICO", "version": "0.15.0" }, "last_serial": 4284241, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "bbaaa4212c5f8780d20366f3b721e5dd", "sha256": "112c28ff215a9407ae95c227d631679aaea89cb4541c02011acff8d2a2adf2c3" }, "downloads": -1, "filename": "tipico-0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bbaaa4212c5f8780d20366f3b721e5dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12143, "upload_time": "2018-09-17T17:08:06", "url": "https://files.pythonhosted.org/packages/b9/fd/724d2ce567221de2d6dd0c3a6cc9c2e798558abc00753d47df9818dcd0cf/tipico-0.10-py2.py3-none-any.whl" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "bf393e04cdca52ef48ef4d2c69b39804", "sha256": "5119e09d2543374946bca28328c4d0e8a1c2e01b808599fe21e87b2340f8f085" }, "downloads": -1, "filename": "tipico-0.15.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf393e04cdca52ef48ef4d2c69b39804", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12456, "upload_time": "2018-09-18T16:11:51", "url": "https://files.pythonhosted.org/packages/ef/21/8ba2a36c53d34156cea483c1ab44ce599de138ef51b500bc3846bf909a46/tipico-0.15.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efbe3f2d268207f29d045748ec7ad112", "sha256": "64c17eda595c2dae88abbe6866dd3c26c3d0bd067d75908b0dbe699fd01b8310" }, "downloads": -1, "filename": "tipico-0.15.0.tar.gz", "has_sig": false, "md5_digest": "efbe3f2d268207f29d045748ec7ad112", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33202, "upload_time": "2018-09-18T16:11:52", "url": "https://files.pythonhosted.org/packages/da/b0/997dbd9013ca3b6c79932eb57d378249ac0ea7cff12447b8513c1941672b/tipico-0.15.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf393e04cdca52ef48ef4d2c69b39804", "sha256": "5119e09d2543374946bca28328c4d0e8a1c2e01b808599fe21e87b2340f8f085" }, "downloads": -1, "filename": "tipico-0.15.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf393e04cdca52ef48ef4d2c69b39804", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12456, "upload_time": "2018-09-18T16:11:51", "url": "https://files.pythonhosted.org/packages/ef/21/8ba2a36c53d34156cea483c1ab44ce599de138ef51b500bc3846bf909a46/tipico-0.15.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efbe3f2d268207f29d045748ec7ad112", "sha256": "64c17eda595c2dae88abbe6866dd3c26c3d0bd067d75908b0dbe699fd01b8310" }, "downloads": -1, "filename": "tipico-0.15.0.tar.gz", "has_sig": false, "md5_digest": "efbe3f2d268207f29d045748ec7ad112", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33202, "upload_time": "2018-09-18T16:11:52", "url": "https://files.pythonhosted.org/packages/da/b0/997dbd9013ca3b6c79932eb57d378249ac0ea7cff12447b8513c1941672b/tipico-0.15.0.tar.gz" } ] }