{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "Trunklucator is a python module for data scientists and ML practitioners for quick creating annotation projects and testing your ideas. It acts like a python's native input() function, but support displaying rich content and advance interaction with the user (using a web browser). Trunklucator lets you easily plug interaction with a human to your model prototype.\n\n## Example\n```python\nfrom trunklucator import WebUI\n\nwith WebUI() as webui: # start http server in background\n for item in data: \n y = webui.ask(item) #<- wait for user action on web page\n print(y) \n```\n\nFor full example see `examples/images` directory\n\nTrunklucator is the best when you need to represent complex data like image, formatted text, video or sound to the user and ask the user to label/annotate this data. After a user's action, you immediately are able to use this data in your pipeline. Trunklucator works well together with active learning (see `examples/active_learning`).\n\n## Installation\n\n```\npip install trunklucator\n```\n\n## Settings\n\nYou can use environmet variable to change default parameters\n* HOST - bind to host (default 127.0.0.1)\n* PORT - use port number (default 8086)\n* DATA_DIR - directory will be available through HTTP by path /data \n* FRONTEND_DIR - directory path to your custom frontend\n\n```bash\nPORT=8080 python3 main.py\n```\n\nAlso, you can use similar parameters in code then instanciate trunklucator.WebUI class.\n\n```bash\nwith WebUI(host='192.168.0.30', port=8080, data_dir='./data', fronend_dir='./myfront')\n```\n\n## API methods\n\nFor instance of WebUI class:\n\n* `.ask(data, meta(optional))` - by calling this method you will stop the execution of your code until the user action in a web browser. \n* `.update(data)` - asynchronously publish information to the frontend part.\n\n## Running examples\n\n1. clone github repo\n1. cd to examples/\n1. run start.sh, open browser on http://localhost:8086\n\n\n## How to display complex data\n\nTrunklucator contains two parts: python module which runs a small HTTP server in the background thread and simple javascript single page application (frontend). These parts interact with each other using WebSocket. You don't need to change the python part it's ready to use abstraction.\nJavaScript part designed like hackable part, you can adjust it for your specific data format. The default implementation of frontend can load arbitrary HTML code. UI controls can be configured in python code. \n\nTo customize frontend part: \n\n1. clone github repo\n1. Make a copy of trunklucator/frontend/html_field directory. Implementation is simple and doesn't use tools like npm, webpack, etc.\n1. You can edit it on disk and after refreshing web page, you will see the results. Use FRONTEND_DIR environment variable to setup path to your custom frontend.\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": "https://github.com/Dumbris/trunklucator", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "trunklucator", "package_url": "https://pypi.org/project/trunklucator/", "platform": "any", "project_url": "https://pypi.org/project/trunklucator/", "project_urls": { "Homepage": "https://github.com/Dumbris/trunklucator" }, "release_url": "https://pypi.org/project/trunklucator/1.0.7/", "requires_dist": [ "aiohttp" ], "requires_python": ">3.6.0", "summary": "Easy plugable UI for your experiments with data and machine learning", "version": "1.0.7" }, "last_serial": 4991348, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "25771cd3764d66110c686f9fba28b249", "sha256": "db49c10165d6277942ffb4db7eb543ecc65565d2e2fde62d2a67f42e8af17d62" }, "downloads": -1, "filename": "trunklucator-1.0.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "25771cd3764d66110c686f9fba28b249", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 5550, "upload_time": "2019-03-26T15:13:43", "url": "https://files.pythonhosted.org/packages/87/92/6f96dbb35d1092375e123e16209cc5aafe51ffd6a8ef400641e579098c1b/trunklucator-1.0.1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "fe3169500aecb000a299167d50517b5a", "sha256": "efeef4501278a1f917936c733169fa8d44e506ab2259e5c3ffd36798262ce6f6" }, "downloads": -1, "filename": "trunklucator-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fe3169500aecb000a299167d50517b5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 10824, "upload_time": "2019-03-27T06:15:11", "url": "https://files.pythonhosted.org/packages/36/8b/69a54d1a9083ca8d1261da564936ea4b285a43818d0750541448d72f2cc9/trunklucator-1.0.1-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "066404667a255c28f7a0a04704973068", "sha256": "8b4f5f695ff56929ecef7f8adc71fed8736aa5f5338f5822b23b55cfc5e60478" }, "downloads": -1, "filename": "trunklucator-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "066404667a255c28f7a0a04704973068", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 10823, "upload_time": "2019-03-27T06:17:58", "url": "https://files.pythonhosted.org/packages/8a/a0/b4be83b0b418f595e4d01e9928a9ab479d236876ee697896a93c5e178dff/trunklucator-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df3b7ea0ba4014144486dbd61d03f011", "sha256": "7cb3aa32c53c215c6e49db98a76e27f90ec058f7fc4d0fae0ea1c2ff71b503ad" }, "downloads": -1, "filename": "trunklucator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "df3b7ea0ba4014144486dbd61d03f011", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7113, "upload_time": "2019-03-27T06:17:59", "url": "https://files.pythonhosted.org/packages/93/f2/e4266be9886fe5acf376c815d166172c0423afbd37e1ee6220e1d28a65a2/trunklucator-1.0.2.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "59de3ff4d9b9ac1df07a83203f29be4a", "sha256": "8f0cc4aa832b749aae7e70000bf91f8931c3d52aa732df74391a4b838a282bab" }, "downloads": -1, "filename": "trunklucator-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "59de3ff4d9b9ac1df07a83203f29be4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 14277, "upload_time": "2019-03-27T06:33:21", "url": "https://files.pythonhosted.org/packages/73/4e/c12bbc10757de57f31f50a205ab10fe74971c8d6b8ca3f3879740b812059/trunklucator-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "174130401fd0fa19e75cee5ae9615ed1", "sha256": "32080e18a1809333bb8c81bdc73c954426bd5ddf7c7b8d5ee2eaa3a9fc5f85c3" }, "downloads": -1, "filename": "trunklucator-1.0.4.tar.gz", "has_sig": false, "md5_digest": "174130401fd0fa19e75cee5ae9615ed1", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9844, "upload_time": "2019-03-27T06:33:22", "url": "https://files.pythonhosted.org/packages/ae/39/7ce665002c41f512051157c8d974f9bbb8c7108907d44422cd93598b1ab7/trunklucator-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "23d3b6696f1be7fb197535852e239bfe", "sha256": "6a78bf0c9dc9a668769dac388d0b698ff6ce319653ac815320724d9f15a2dc7d" }, "downloads": -1, "filename": "trunklucator-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "23d3b6696f1be7fb197535852e239bfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 18829, "upload_time": "2019-03-27T06:43:46", "url": "https://files.pythonhosted.org/packages/61/f5/a0ea28d08d5c3135ccc93cf3bf6d9ee17b89375546e01f9935cf6e48beca/trunklucator-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6463b781c3785615f9a985df8815e7d4", "sha256": "4136dbfff1fc47369a213a02fbfcca0394f9af240b2de63d67599328a6d1abbf" }, "downloads": -1, "filename": "trunklucator-1.0.5.tar.gz", "has_sig": false, "md5_digest": "6463b781c3785615f9a985df8815e7d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9875, "upload_time": "2019-03-27T06:43:48", "url": "https://files.pythonhosted.org/packages/45/cf/1d921f6b36f3b98271c66de800f527de04ccd9b7e5dd6265ab00693f18c3/trunklucator-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "1407eddcb2a22844c0c80a3a696eef41", "sha256": "92bdb1ddcc2a42b4a60320869dd4d38942d558e006b253aa83727db1c5e925f3" }, "downloads": -1, "filename": "trunklucator-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "1407eddcb2a22844c0c80a3a696eef41", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 18884, "upload_time": "2019-03-27T06:59:29", "url": "https://files.pythonhosted.org/packages/41/53/3c3fec57a4e6bf22953056ac671b05797161c9b4dcac0ce0b1408acc4c01/trunklucator-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acb85e32623e3eb2acf158561416f6cc", "sha256": "eaca60b58066a016bdc307e52ebbf7fb38c0cc0cc417e960a9ef5315c5f28953" }, "downloads": -1, "filename": "trunklucator-1.0.6.tar.gz", "has_sig": false, "md5_digest": "acb85e32623e3eb2acf158561416f6cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 10010, "upload_time": "2019-03-27T06:59:30", "url": "https://files.pythonhosted.org/packages/21/80/058d78cb19e8407ac37144b75d7bdc94691fde996944d3d78b93f913ffbe/trunklucator-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "0e51a4160943ada616e9b14dd8099ec7", "sha256": "a17568bdbea7e10d6705d6aa4f1538ed3a9ed47ca7dc917a0295960e13d2af0c" }, "downloads": -1, "filename": "trunklucator-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0e51a4160943ada616e9b14dd8099ec7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 20192, "upload_time": "2019-03-27T08:26:18", "url": "https://files.pythonhosted.org/packages/76/b6/6060689e5c75a7ce31e835402960869323ad4fe7fd60756a53470df598bc/trunklucator-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30ed94977d074735a725f1e0ce578fb7", "sha256": "6779d9329a9b2631a2c5539afbc96108728e7bb70dc7405e7ae4d70c70c070e8" }, "downloads": -1, "filename": "trunklucator-1.0.7.tar.gz", "has_sig": false, "md5_digest": "30ed94977d074735a725f1e0ce578fb7", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 12558, "upload_time": "2019-03-27T08:26:19", "url": "https://files.pythonhosted.org/packages/62/b3/c9270e6db8828ee6835559ec15a016b7d5055bb9b21397fe9153560b5473/trunklucator-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0e51a4160943ada616e9b14dd8099ec7", "sha256": "a17568bdbea7e10d6705d6aa4f1538ed3a9ed47ca7dc917a0295960e13d2af0c" }, "downloads": -1, "filename": "trunklucator-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0e51a4160943ada616e9b14dd8099ec7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6.0", "size": 20192, "upload_time": "2019-03-27T08:26:18", "url": "https://files.pythonhosted.org/packages/76/b6/6060689e5c75a7ce31e835402960869323ad4fe7fd60756a53470df598bc/trunklucator-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30ed94977d074735a725f1e0ce578fb7", "sha256": "6779d9329a9b2631a2c5539afbc96108728e7bb70dc7405e7ae4d70c70c070e8" }, "downloads": -1, "filename": "trunklucator-1.0.7.tar.gz", "has_sig": false, "md5_digest": "30ed94977d074735a725f1e0ce578fb7", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 12558, "upload_time": "2019-03-27T08:26:19", "url": "https://files.pythonhosted.org/packages/62/b3/c9270e6db8828ee6835559ec15a016b7d5055bb9b21397fe9153560b5473/trunklucator-1.0.7.tar.gz" } ] }