{ "info": { "author": "RobotPy Development Team", "author_email": "robotpy@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Topic :: Scientific/Engineering" ], "description": "pynetworktables2js\n==================\n\nA cross platform library that forwards NetworkTables key/values over a WebSocket,\nso that you can easily write a Driver Station Dashboard for your robot in HTML5 +\nJavaScript.\n\nThis library does not provide a full dashboard solution, but is intended to\nprovide the necessary plumbing for one to create one with only knowledge\nof HTML/JavaScript. Because the communications layer uses NetworkTables, you\ncan connect to all FRC languages (C++, Java, LabVIEW, Python).\n\n.. note:: NetworkTables is a protocol used for robot communication in the\n FIRST Robotics Competition, and can be used to talk to\n Shuffleboard/SmartDashboard. It does not have any security, and should never\n be used on untrusted networks.\n\nDocumentation\n=============\n\nDocumentation can be found at http://pynetworktables2js.readthedocs.org/\n\nInstallation\n============\n\nEasy install (Windows only)\n---------------------------\n\n1. Download the latest pynetworktables2js.exe from GitHub at\n https://github.com/robotpy/pynetworktables2js/releases .\n2. Extract the exe from the zipfile, and copy it to your directory of HTML/JS\n files.\n3. Double click the exe to run it!\n\n.. note:: By default, it will connect to 127.0.0.1. To connect to a robot,\n you will need to pass the exe arguments to tell it where the robot is.\n Use ``--help`` to see the available options.\n\nManual install\n--------------\n\nMake sure to install python 3 on your computer, and on Windows you can\nexecute::\n\n py -3 -m pip install pynetworktables2js\n \nOn Linux/OSX you can execute::\n\n pip install pynetworktables2js\n\n.. note:: Technically, there's nothing stopping you from installing this on\n your robot, as there is a python interpreter available on the \n roboRIO (RobotPy). However, due to FRC bandwidth limitations,\n it's probably best to run the UI + server on your driver station\n laptop.\n\nWhy make an HTML/Javascript dashboard?\n======================================\n\n**TL;DR**: It's simpler.\n\npynetworktables2js lowers the barrier of entry for teams that want an\nadditional way to tune/control their robot with a minimal amount of\nprogramming.\n\nLots of students and mentors know how to create simple web pages to display\ncontent, and there's lots of resources out there for creating dynamic content\nfor webpages that use javascript. There is a lot of visually appealing\ncontent that others have created using web technologies -- why not leverage\nthose resources to make something cool to control your robot?\n\nUsage\n=====\n\nYou can just distribute your HTML files, and run a pynetworktables server\nusing the following command from inside the directory::\n\n python3 -m pynetworktables2js\n\nOr on Windows::\n\n py -3 -m pynetworktables2js\n\nThis will start a pynetworktables2js server using Tornado (which is installed\nby default) and it will serve the current directory. You can navigate your\nbrowser (I recommend Chrome) to http://127.0.0.1:8888 and see your website.\n\nYou will want to also pass either the ``--robot`` or ``--team`` switch::\n\n py -3 -m pynetworktables2js --robot roborio-XXXX-frc.local\n py -3 -m pynetworktables2js --team XXXX\n\nDashboard mode currently doesn't work, as the underlying support in\npynetworktables hasn't been implemented yet for the newer FRC Driver Station.\n\nCustomized python server\n------------------------\n\nThere are two example servers distributed with pynetworktables2js, one that\nuses `tornado `_, and one that uses\n`aiohttp `_. Either one should work.\n\nGo to the 'example' directory distributed with pynetworktables2js, and run::\n\n python3 tornado_server.py --robot 127.0.0.1\n\nIf you want to try this out with your current robot, you can do::\n\n python3 tornado_server.py --robot roborio-XXX.local\n \nIf you are running pynetworktables2js on your driver station laptop, you can\nreceive robot IP information directly from the Driver Station (handy during\nactual competitions)::\n\n python3 tornado_server.py --dashboard\n\nIf you navigate your browser (I recommend Chrome) to http://127.0.0.1:8888, all\nof the current NetworkTables values will be shown as they change.\n\nOne way of testing this out is use FIRST's TableViewer application (you can\nlaunch it using the \"Outline Viewer\" WPILib menu item in Eclipse), and start\nit in server mode.\n\nFeel free to copy the example directory to create your own customized\ndashboard. Just add your custom files to the www directory.\n\nContributing new changes\n========================\n\npynetworktables2js is intended to be a project that all members of the `FIRST`\ncommunity can quickly and easily contribute to. If you find a bug, or have an\nidea that you think others can use:\n\n1. `Fork this git repository `_\n to your GitHub account\n2. Create your feature branch (``git checkout -b my-new-feature``)\n3. Commit your changes (``git commit -am 'Add some feature'``)\n4. Push to the branch (``git push -u origin my-new-feature``)\n5. Create new Pull Request on GitHub\n\nOne place in particular I would love to see contributions is in adding useful\nJavaScript functions/objects that make creating dashboards even easier!\n\nAuthors\n=======\n\nLeon Tan of FRC Team 1418 did the initial research/work to get this working,\nand created an initial working prototype for Team 1418's 2015 Dashboard, which\nwas instrumental to winning an Innovation In Control award at the 2015 Greater\nDC Regional.\n\nDustin Spicuzza cleaned stuff up, rewrote things, added more functionality,\nwrote documentation, and packaged it so other teams could use it.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/robotpy/pynetworktables2js", "keywords": "frc first robotics networktables", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "pynetworktables2js", "package_url": "https://pypi.org/project/pynetworktables2js/", "platform": "", "project_url": "https://pypi.org/project/pynetworktables2js/", "project_urls": { "Homepage": "https://github.com/robotpy/pynetworktables2js" }, "release_url": "https://pypi.org/project/pynetworktables2js/2019.0.0/", "requires_dist": null, "requires_python": "", "summary": "Forwards NetworkTables traffic to a web page via a Websocket", "version": "2019.0.0" }, "last_serial": 4664839, "releases": { "2015.0.1": [ { "comment_text": "", "digests": { "md5": "dc4a982dffbd3ff75cd5ec946ea34e79", "sha256": "f7a24f7802243addad3bf47f2ffdd4fa331722576adde80f3396a02709cf7dcd" }, "downloads": -1, "filename": "pynetworktables2js-2015.0.1.tar.gz", "has_sig": false, "md5_digest": "dc4a982dffbd3ff75cd5ec946ea34e79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7434, "upload_time": "2015-03-22T08:06:30", "url": "https://files.pythonhosted.org/packages/eb/d8/bb5d034c430a9300a470d714e33f68786e868784f576070b99926755b06f/pynetworktables2js-2015.0.1.tar.gz" } ], "2015.0.2": [ { "comment_text": "", "digests": { "md5": "47f404335104dac5e76689e15d520381", "sha256": "0fb552f83d69f89ba0368b65fb96f50be7711d45549540e52929005356291e89" }, "downloads": -1, "filename": "pynetworktables2js-2015.0.2.tar.gz", "has_sig": false, "md5_digest": "47f404335104dac5e76689e15d520381", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7505, "upload_time": "2015-03-24T05:51:56", "url": "https://files.pythonhosted.org/packages/8b/c1/1c9fcf64091b6aad85b19f259b6906834eb1a7aa6866c6b09f128ca7789a/pynetworktables2js-2015.0.2.tar.gz" } ], "2015.1.0": [ { "comment_text": "", "digests": { "md5": "5bb847aeb706e452dc7333a1529ffbe6", "sha256": "e2c1daa14be723c133ec372689d24d24a98858d9af9f62d3a744595c664e8f34" }, "downloads": -1, "filename": "pynetworktables2js-2015.1.0.tar.gz", "has_sig": false, "md5_digest": "5bb847aeb706e452dc7333a1529ffbe6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10602, "upload_time": "2015-03-29T05:50:14", "url": "https://files.pythonhosted.org/packages/2b/c5/f5684f5e04bb597173377cdaa9c8c70d3ec919e448fbda8e1ee2614c3c9b/pynetworktables2js-2015.1.0.tar.gz" } ], "2015.1.1": [ { "comment_text": "", "digests": { "md5": "3f4f8fea77f22230a7cf2d39d54a0694", "sha256": "4fe85cd789ccc4f200671df1bd68bd386ff2d70375fe738dbfa0a6d9e44a3386" }, "downloads": -1, "filename": "pynetworktables2js-2015.1.1.tar.gz", "has_sig": false, "md5_digest": "3f4f8fea77f22230a7cf2d39d54a0694", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10560, "upload_time": "2015-04-01T14:57:37", "url": "https://files.pythonhosted.org/packages/dc/74/e7954bddf17e15735fcb82d7159c9d3a7d63703e3048350ffb4ea115208b/pynetworktables2js-2015.1.1.tar.gz" } ], "2015.2.0": [ { "comment_text": "", "digests": { "md5": "3bd1b1825094c89356baed54c4f68730", "sha256": "6e63f4a85783c0ed9d44b229955ae83093eee03e4111eaeb3fda264c5ea51234" }, "downloads": -1, "filename": "pynetworktables2js-2015.2.0.tar.gz", "has_sig": false, "md5_digest": "3bd1b1825094c89356baed54c4f68730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12302, "upload_time": "2015-11-18T05:06:05", "url": "https://files.pythonhosted.org/packages/0c/1a/e02b71f40eddaff66cab78dbafc1532f3b64c1c21cf57e3028f930a9ba26/pynetworktables2js-2015.2.0.tar.gz" } ], "2015.2.1": [ { "comment_text": "", "digests": { "md5": "0e6624f0c9541fd9b295a63917790cd6", "sha256": "847eb4e532050c62cc9a993cf4f84ef7d748efbf56549821f45c1f306fb08179" }, "downloads": -1, "filename": "pynetworktables2js-2015.2.1.tar.gz", "has_sig": false, "md5_digest": "0e6624f0c9541fd9b295a63917790cd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12634, "upload_time": "2016-02-07T07:44:53", "url": "https://files.pythonhosted.org/packages/4e/8f/ad62dd45d006c779303473590eb9551ca36e4d9a703cd085d38c2b5d545d/pynetworktables2js-2015.2.1.tar.gz" } ], "2015.2.2": [ { "comment_text": "", "digests": { "md5": "61251b0e2fa5252cae748662b6c5803b", "sha256": "f3ecf5905de6dae4fb9880060308a4887239e50f7a6e2e8163c1dc61a489272b" }, "downloads": -1, "filename": "pynetworktables2js-2015.2.2.tar.gz", "has_sig": false, "md5_digest": "61251b0e2fa5252cae748662b6c5803b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13011, "upload_time": "2016-03-29T06:31:37", "url": "https://files.pythonhosted.org/packages/4e/04/273338afbc6f5330b4feb6026e2821b7cf93779abd054e69bd260280033e/pynetworktables2js-2015.2.2.tar.gz" } ], "2015.2.3": [ { "comment_text": "", "digests": { "md5": "8be49b12f8a7bfc0e02ad9d9314be80e", "sha256": "5c66767dc05c8e4e8bf3698559984435799c9c26f54e33f5bee53a18ad7dff5c" }, "downloads": -1, "filename": "pynetworktables2js-2015.2.3.tar.gz", "has_sig": false, "md5_digest": "8be49b12f8a7bfc0e02ad9d9314be80e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17134, "upload_time": "2016-04-01T16:52:09", "url": "https://files.pythonhosted.org/packages/80/d3/f116bfa42ca33cbf3b9da1f74b5cf68b462b87314f4380f8a999c5719c07/pynetworktables2js-2015.2.3.tar.gz" } ], "2015.2.4": [ { "comment_text": "", "digests": { "md5": "07b9e034148399c2778685ff381fd917", "sha256": "3c5abd214c680b4b0f1f2cb3dc3dac2508395b4f328a120804bf19088f252a49" }, "downloads": -1, "filename": "pynetworktables2js-2015.2.4.tar.gz", "has_sig": false, "md5_digest": "07b9e034148399c2778685ff381fd917", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19062, "upload_time": "2016-04-06T07:05:33", "url": "https://files.pythonhosted.org/packages/e5/7a/17bce989b2d6a9c3d8cc8718913fb8aad8eae0da23b6d9fe62727a4ff5c0/pynetworktables2js-2015.2.4.tar.gz" } ], "2017.0.0": [ { "comment_text": "", "digests": { "md5": "223b42583273a6b4a27baec81640001d", "sha256": "2991c3e61ada0f5b0c6105a712250e7f09e193bf9286c472fb09dfc2920ce7a0" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.0.tar.gz", "has_sig": false, "md5_digest": "223b42583273a6b4a27baec81640001d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17714, "upload_time": "2017-01-07T09:38:09", "url": "https://files.pythonhosted.org/packages/29/c8/a4b3d83bfe70b8435040fa324acb56e92ab09828da644f7927e359b11e5f/pynetworktables2js-2017.0.0.tar.gz" } ], "2017.0.0a1": [ { "comment_text": "", "digests": { "md5": "ce874cd99937ba63480971f30c825724", "sha256": "a882e8c59a46bb544f8a1b342d401c2d79b00a4c7b001f517f3530cb2c7486e6" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.0a1.tar.gz", "has_sig": false, "md5_digest": "ce874cd99937ba63480971f30c825724", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17716, "upload_time": "2016-10-28T04:31:46", "url": "https://files.pythonhosted.org/packages/ae/94/2fc182ed0e5d987c3835a501fc4f31b05dade4a4a5ebd3bac93f38694016/pynetworktables2js-2017.0.0a1.tar.gz" } ], "2017.0.1": [ { "comment_text": "", "digests": { "md5": "41fea0af7723e6b4afae68f362a35592", "sha256": "77e95e99794921decc9c1c60d2883ed091d038b52cda6472678d4d3e8d8a9669" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.1.tar.gz", "has_sig": false, "md5_digest": "41fea0af7723e6b4afae68f362a35592", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17926, "upload_time": "2017-02-12T04:42:03", "url": "https://files.pythonhosted.org/packages/70/26/17e8bde72ee9cacaa1e3e2261dfb0a0f5d95e8dc37dd470d8dc5db151cb7/pynetworktables2js-2017.0.1.tar.gz" } ], "2017.0.2": [ { "comment_text": "", "digests": { "md5": "d2a96d0fa7811fb0f07fb370e0755cc2", "sha256": "f87b8bf9b946ef72761a762d1d1d5ca26815e4295e6de5f91d5c4f184f83bc60" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.2.tar.gz", "has_sig": false, "md5_digest": "d2a96d0fa7811fb0f07fb370e0755cc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18001, "upload_time": "2017-02-13T16:14:37", "url": "https://files.pythonhosted.org/packages/7b/58/1db974be8bd64f484ab246d4d14090ea4ff4803c3908947adae7b1311220/pynetworktables2js-2017.0.2.tar.gz" } ], "2017.0.3": [ { "comment_text": "", "digests": { "md5": "6daf92dd32bb631144c6944941235bf3", "sha256": "5dae07b99efeb1feb5504f4e211d430b27fae26fbb2de8e5b9c61eeffe604873" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.3.tar.gz", "has_sig": false, "md5_digest": "6daf92dd32bb631144c6944941235bf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18007, "upload_time": "2017-03-25T06:10:47", "url": "https://files.pythonhosted.org/packages/ae/c8/177d2133918ef336fc9656f0187bd61efadef321e77b82f47df7110e4011/pynetworktables2js-2017.0.3.tar.gz" } ], "2017.0.4": [ { "comment_text": "", "digests": { "md5": "229e1fab70a38ea0215389d63fb22a26", "sha256": "dbddc7fecc619041d90d33d8f3fba0586f5b1e74df80792364d08fea23203982" }, "downloads": -1, "filename": "pynetworktables2js-2017.0.4.tar.gz", "has_sig": false, "md5_digest": "229e1fab70a38ea0215389d63fb22a26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19831, "upload_time": "2017-10-23T02:29:57", "url": "https://files.pythonhosted.org/packages/e5/12/52f553de5a97df8735fc79bf96ed48f5b36f6cac20c5a22132ffdbf1c8dc/pynetworktables2js-2017.0.4.tar.gz" } ], "2018.0.0": [ { "comment_text": "", "digests": { "md5": "f0411bc558b53e2bf3360ead6496ba97", "sha256": "0594a4308ef32b78f7dcd99da85d3ca5456ab811d32ca07fe46e580ed6540ad8" }, "downloads": -1, "filename": "pynetworktables2js-2018.0.0.tar.gz", "has_sig": false, "md5_digest": "f0411bc558b53e2bf3360ead6496ba97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19013, "upload_time": "2018-01-06T18:11:38", "url": "https://files.pythonhosted.org/packages/19/68/8fd6c5a3bf7010025babe02b286ba7c5f3d922974ff325a2b20191e6d067/pynetworktables2js-2018.0.0.tar.gz" } ], "2018.0.1": [ { "comment_text": "", "digests": { "md5": "4a52bd958bfdbd5c131b682a22f219e3", "sha256": "f79dc5cb59b22f1304bfa3dc910e08841c9eb5e7f454658222636d6f7b494245" }, "downloads": -1, "filename": "pynetworktables2js-2018.0.1.tar.gz", "has_sig": false, "md5_digest": "4a52bd958bfdbd5c131b682a22f219e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19111, "upload_time": "2018-01-16T10:35:16", "url": "https://files.pythonhosted.org/packages/c0/0a/fcad7d9b78d080b800544dacf51e6d04b45efcacdd6dd71843d46c11edaa/pynetworktables2js-2018.0.1.tar.gz" } ], "2018.0.2": [ { "comment_text": "", "digests": { "md5": "f6b0c7495bef5394b1fb0f1d5fe587e2", "sha256": "9567cfd243cf1203bc59c7afa2906330387e85141daa7093901272768e09553b" }, "downloads": -1, "filename": "pynetworktables2js-2018.0.2.tar.gz", "has_sig": false, "md5_digest": "f6b0c7495bef5394b1fb0f1d5fe587e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19338, "upload_time": "2018-02-21T21:03:32", "url": "https://files.pythonhosted.org/packages/1f/02/6170c3e8f3fbe85e9e8f3bfdf0845e18b7ca4a854887a09cb9219d9d52e9/pynetworktables2js-2018.0.2.tar.gz" } ], "2018.1.0": [ { "comment_text": "", "digests": { "md5": "4beff43ee327cae1c5fba3409f9c5a95", "sha256": "733209f63290ce05a0d10e61f2afdb01d91c23b5e8fc1c70fb13be78cbcda3ac" }, "downloads": -1, "filename": "pynetworktables2js-2018.1.0.tar.gz", "has_sig": false, "md5_digest": "4beff43ee327cae1c5fba3409f9c5a95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19321, "upload_time": "2018-06-02T22:07:27", "url": "https://files.pythonhosted.org/packages/c6/d0/32440e77f50544dc07b49db147ee0c3b710199fb320f8d59657ed6286af5/pynetworktables2js-2018.1.0.tar.gz" } ], "2019.0.0": [ { "comment_text": "", "digests": { "md5": "1548c29eb51f981f530807ebda291c7c", "sha256": "8978ecf3520a7c81ba8f4625d9ded642a034383e383daf88448fc31158b40580" }, "downloads": -1, "filename": "pynetworktables2js-2019.0.0.tar.gz", "has_sig": false, "md5_digest": "1548c29eb51f981f530807ebda291c7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19420, "upload_time": "2019-01-06T03:09:17", "url": "https://files.pythonhosted.org/packages/b9/ed/e1c8424976d82c103123da36eb6ace138a9c10e88db64e76fec1b960bf42/pynetworktables2js-2019.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1548c29eb51f981f530807ebda291c7c", "sha256": "8978ecf3520a7c81ba8f4625d9ded642a034383e383daf88448fc31158b40580" }, "downloads": -1, "filename": "pynetworktables2js-2019.0.0.tar.gz", "has_sig": false, "md5_digest": "1548c29eb51f981f530807ebda291c7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19420, "upload_time": "2019-01-06T03:09:17", "url": "https://files.pythonhosted.org/packages/b9/ed/e1c8424976d82c103123da36eb6ace138a9c10e88db64e76fec1b960bf42/pynetworktables2js-2019.0.0.tar.gz" } ] }