{ "info": { "author": "Sean Clark", "author_email": "sclark@northrobotics.com", "bugtrack_url": null, "classifiers": [], "description": "# North Devices (`north_devices`)\n\nThe `north_devices` library contains drivers and utilities for third-party devices that can be used in the North \nRobotics ecosystem.\n\n## Installation\n\nRun `pip install north_devices` to install, or add `north_devices` to your `requirements.txt` file.\n\n## Pumps (`north_devices.pumps`)\n\n### Tecan Cavro (`tecan_cavro`)\n\nThere is a driver for the Tecan Cavro series of pumps available that uses the binary protocol to communicate with \nCavro pumps on a network.\n\n#### Usage\n\n```python\nfrom ftdi_serial import Serial\nfrom north_devices.pumps.tecan_cavro import TecanCavro\n\nserial = Serial(baudrate=38400) # Cavro pumps default to 9600\ncavro = TecanCavro(serial, address=0, syringe_volume_ml=1000)\n\nTecanCavro.home_all() # Homes all TecanCavro pump instances\n\n# you can perform absolute and relative moves in counts or mL, with optional velocity\ncavro.move_absolute_counts(500)\ncavro.move_absolute_ml(1000, velocity_counts=500)\ncavro.move_relative_counts(100, velocity_counts=1000)\ncavro.move_relative_ml(500)\n\n# you can change valve positions with `move_valve`\ncavro.move_valve(1) # moves valve to port 1\n\n# there is also a higher-level dispense method that pumps from a port to a port\ncavro.dispense_ml(2000, from_port=1, to_port=2)\n\n# you can also batch a series of commands to be sent at once\ncavro.start_batch()\ncavro.move_valve(1)\ncavro.move_absolute_ml(500)\ncavro.move_valve(2)\ncavro.move_absolute_ml(0)\ncavro.execute() # you can use the `broadcast=True` flag to execute batch commands for all pumps at once\n\n# there is also a basic loop command that can be used in a batch command\ncavro.loop_start()\ncavro.move_valve(1)\ncavro.move_absolute_ml(500)\ncavro.move_valve(2)\ncavro.move_absolute_ml(0)\ncavro.loop_end(10) # loop 10 times\n\ncavro.execute()\n\n# multiple cavro instances can share the same serial connection if they are on a network\nnetwork = Serial(baudrate=9600)\ncavro1 = TecanCavro(network, 0)\ncavro2 = TecanCavro(network, 1)\n\n# you can send batch commands to multiple cavros then execture them simultaneously\ncavro1.start_batch()\ncavro1.move_relative_ml(100)\n\ncavro2.start_batch()\ncavro2.move_absolute_ml(100)\n\nTecanCavro.broadcast_execute(cavro1, cavro2) # this will broadcast to all pumps if none given\n\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/north-robotics/north_devices", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "north-devices", "package_url": "https://pypi.org/project/north-devices/", "platform": "", "project_url": "https://pypi.org/project/north-devices/", "project_urls": { "Homepage": "https://gitlab.com/north-robotics/north_devices" }, "release_url": "https://pypi.org/project/north-devices/0.3.5/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Drivers and utilities for third-party North Robotics devices", "version": "0.3.5", "yanked": false, "yanked_reason": null }, "last_serial": 7298662, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "08de3c214bc71718da997330b7f5e93d", "sha256": "655d6069074dcd4379ab58321bb53fa8263e46ec09cb364e0807cc611a1833dd" }, "downloads": -1, "filename": "north_devices-0.0.1.tar.gz", "has_sig": false, "md5_digest": "08de3c214bc71718da997330b7f5e93d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6741, "upload_time": "2019-07-19T17:16:34", "upload_time_iso_8601": "2019-07-19T17:16:34.052907Z", "url": "https://files.pythonhosted.org/packages/6a/d4/a07a8210385ba93d0df93edff4fa868e861329bfec9a265d38fe27ec9141/north_devices-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "bfd8ed8317f7c055c0d382336213699b", "sha256": "d227e2845ea33638720f9d976e98467ae10889d82072275315d9b4c1cb39babd" }, "downloads": -1, "filename": "north_devices-0.0.2.tar.gz", "has_sig": false, "md5_digest": "bfd8ed8317f7c055c0d382336213699b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6789, "upload_time": "2019-07-19T19:44:41", "upload_time_iso_8601": "2019-07-19T19:44:41.498554Z", "url": "https://files.pythonhosted.org/packages/e9/e7/c9cd15fbf20124bdb8ab703e129077775177560b4622acd1979b48ee992f/north_devices-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a741bf9a16d05e2f792409d92f8974e6", "sha256": "a43b8911e91d67432b0537c30747581a3fec1f1ce8e2808c825bbcb84ab435a0" }, "downloads": -1, "filename": "north_devices-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a741bf9a16d05e2f792409d92f8974e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6724, "upload_time": "2019-07-22T20:58:44", "upload_time_iso_8601": "2019-07-22T20:58:44.841787Z", "url": "https://files.pythonhosted.org/packages/d5/f6/e6e98f65dcf483e147c6ff2c7db6f0291540e19b69f7871689f5c58185c3/north_devices-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "bd86a5dfe1aad5ce4995805383031899", "sha256": "2e67ce29a58bb87a8eb08faa0b43f0ab6affc5410bfd834c48649e3339d32e25" }, "downloads": -1, "filename": "north_devices-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bd86a5dfe1aad5ce4995805383031899", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7568, "upload_time": "2019-08-22T18:18:52", "upload_time_iso_8601": "2019-08-22T18:18:52.687389Z", "url": "https://files.pythonhosted.org/packages/f6/48/5221dab27185bd31ad0b43c61fa3a98b798dce976c6811850d565dc3c4a2/north_devices-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0e3f51aa111d8209d85a971cc73a01d3", "sha256": "dc3945db76c9e9a2e378e541b6158ce8e60d2368b17053abfd673b8b2128da12" }, "downloads": -1, "filename": "north_devices-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0e3f51aa111d8209d85a971cc73a01d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7571, "upload_time": "2019-08-22T23:55:43", "upload_time_iso_8601": "2019-08-22T23:55:43.698360Z", "url": "https://files.pythonhosted.org/packages/7d/fb/51a0be9537f50c09e1ab86be90c12176560d44c1de9595543e499195ce32/north_devices-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "611c45a83fd92f4f46f27f6dccaadf8c", "sha256": "d9c7c6ed9bfdc2af2d593bbbc2a320fd69a51abff229fc2c15818023f49a4d35" }, "downloads": -1, "filename": "north_devices-0.1.2.tar.gz", "has_sig": false, "md5_digest": "611c45a83fd92f4f46f27f6dccaadf8c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7574, "upload_time": "2019-08-23T00:06:08", "upload_time_iso_8601": "2019-08-23T00:06:08.125414Z", "url": "https://files.pythonhosted.org/packages/88/ea/ff4779d55d434f4bde6b0ae18ed5ec3f93aae2a060b93deb6f2513d1675c/north_devices-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "604d85ed741052840e47f0f484afa728", "sha256": "2f30ddaba499cfbad6dd9da7399daf7ca6c8f0f4ed0686ab60d003e0d0548b31" }, "downloads": -1, "filename": "north_devices-0.1.3.tar.gz", "has_sig": false, "md5_digest": "604d85ed741052840e47f0f484afa728", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7661, "upload_time": "2019-08-23T00:21:18", "upload_time_iso_8601": "2019-08-23T00:21:18.606426Z", "url": "https://files.pythonhosted.org/packages/89/fe/2cb2a2681988e870127149ebac5656bc6c523979d92d4c8e0e678127222f/north_devices-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ae75f85bedea70226e08ba24780f0824", "sha256": "6600d795a2be60072db458aab7e39d44854fe8b17c142ad7c4ab3dc2cff684b4" }, "downloads": -1, "filename": "north_devices-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ae75f85bedea70226e08ba24780f0824", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7657, "upload_time": "2019-08-23T00:49:28", "upload_time_iso_8601": "2019-08-23T00:49:28.955873Z", "url": "https://files.pythonhosted.org/packages/55/eb/3a9fa354d8908ad0243eedd5f7ecdb8c11457d5f84431ce59e80763f30a9/north_devices-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f35b9da6cb43122f9f61872a038650fd", "sha256": "375a33f43f8902696f34f2a1473bb22ad7c8af5af6bcb5bd82ef5d0f81629075" }, "downloads": -1, "filename": "north_devices-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f35b9da6cb43122f9f61872a038650fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8486, "upload_time": "2019-10-25T18:05:48", "upload_time_iso_8601": "2019-10-25T18:05:48.419202Z", "url": "https://files.pythonhosted.org/packages/27/a2/622d758b0fa3a781d19a556b1100aa01355b349d983b16897e37105e52e5/north_devices-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7a3f2f861fcbf6909dee8301f56cee4f", "sha256": "3fc5da8dda0bf665a2a80b7417a3d94c199405b936a483c0c33ca4d4daf40fc0" }, "downloads": -1, "filename": "north_devices-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7a3f2f861fcbf6909dee8301f56cee4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8828, "upload_time": "2019-11-07T17:53:12", "upload_time_iso_8601": "2019-11-07T17:53:12.634485Z", "url": "https://files.pythonhosted.org/packages/7c/6b/6f44a09806f8679ccae2103496105754792fee296059db7c2c8fe543f282/north_devices-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ed8951d52c54c21ca9d6025b76fa46b0", "sha256": "bb1a0c0be4c05ce4836c55606d180902a4a82cfeb6cc3625d36907a34635a296" }, "downloads": -1, "filename": "north_devices-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ed8951d52c54c21ca9d6025b76fa46b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 27182, "upload_time": "2019-12-05T16:39:36", "upload_time_iso_8601": "2019-12-05T16:39:36.903362Z", "url": "https://files.pythonhosted.org/packages/ca/f2/ec2c791b824876e5606ddb7946dd2b4fe59ada876a3a4b17d55ba9c8d695/north_devices-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "4293160701dc8ccc5982b35f43ea28f7", "sha256": "88f179c5f40de3fd35817cbd09c855af8b386e8261129f3fd4d0d447c50ef39a" }, "downloads": -1, "filename": "north_devices-0.2.4.tar.gz", "has_sig": false, "md5_digest": "4293160701dc8ccc5982b35f43ea28f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 27239, "upload_time": "2020-02-12T00:12:58", "upload_time_iso_8601": "2020-02-12T00:12:58.468675Z", "url": "https://files.pythonhosted.org/packages/21/69/f061b4eb268a16fbc96020ca76edab6d93527b5193018bf2f612f5455034/north_devices-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9b840c9ecc822cf9f4109b14f82da192", "sha256": "951b4438b84b6ebf3524cbf6e3ff9e956d9eb9478cac45e7db20f39dfdfbbad0" }, "downloads": -1, "filename": "north_devices-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9b840c9ecc822cf9f4109b14f82da192", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 27260, "upload_time": "2020-02-14T20:07:29", "upload_time_iso_8601": "2020-02-14T20:07:29.484390Z", "url": "https://files.pythonhosted.org/packages/94/de/24074b853ec6866ad9ed18fbadd9140a3daf8fc8c571815b1ab5505904b8/north_devices-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4522acc61ba95bb96d40e0c7ddee68c4", "sha256": "f48f9de9de2bc3c7787e43e58d1a569585c04a1f130368a200804bafb3486839" }, "downloads": -1, "filename": "north_devices-0.3.1.tar.gz", "has_sig": false, "md5_digest": "4522acc61ba95bb96d40e0c7ddee68c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 28719, "upload_time": "2020-03-03T23:21:17", "upload_time_iso_8601": "2020-03-03T23:21:17.197371Z", "url": "https://files.pythonhosted.org/packages/60/b1/46c120f3b85c63d134879baf10f23efb900396006149264c57366ba425be/north_devices-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "730a121558ceacd343ff9747ac55ccad", "sha256": "f3474c7c54e0400963fb689a49e1c1abc0fc7b0bb19cd074a76c240a2f7026ee" }, "downloads": -1, "filename": "north_devices-0.3.2.tar.gz", "has_sig": false, "md5_digest": "730a121558ceacd343ff9747ac55ccad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 28913, "upload_time": "2020-03-09T20:01:45", "upload_time_iso_8601": "2020-03-09T20:01:45.398230Z", "url": "https://files.pythonhosted.org/packages/d7/87/cbbb0ac155f8c10519aa3fd064eea7e34006c64f470a25248a302d94429c/north_devices-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "5533fbded5f2d57ec8929c7f7a335f34", "sha256": "c2390a88b092c9fa65d0cb67f2926894ca663f1a7f1b9c2db099456767e44f76" }, "downloads": -1, "filename": "north_devices-0.3.3.tar.gz", "has_sig": false, "md5_digest": "5533fbded5f2d57ec8929c7f7a335f34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 29739, "upload_time": "2020-05-20T20:32:41", "upload_time_iso_8601": "2020-05-20T20:32:41.770786Z", "url": "https://files.pythonhosted.org/packages/89/fd/298f393335bd61b3359b9e4202a8efe88a996647a9629d4960fb65baae83/north_devices-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "fde9f42b104c59a361f04c0032279d1b", "sha256": "c74c0e733e92cdfb7df68263a4b57915320c4048fae2fde5a3a9171ee49037f0" }, "downloads": -1, "filename": "north_devices-0.3.4.tar.gz", "has_sig": false, "md5_digest": "fde9f42b104c59a361f04c0032279d1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 29753, "upload_time": "2020-05-20T22:41:17", "upload_time_iso_8601": "2020-05-20T22:41:17.978793Z", "url": "https://files.pythonhosted.org/packages/69/b9/6f86604695f0949c90ef31bdfaad053791516c45ad863f0ad3b4117d0e90/north_devices-0.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "baeb6cb74dab59ba73077d33a0c57db0", "sha256": "961168e349e0196f47c8c3fad8d9bc895c78afc26a99d660f57114dfa03ea7b5" }, "downloads": -1, "filename": "north_devices-0.3.5.tar.gz", "has_sig": false, "md5_digest": "baeb6cb74dab59ba73077d33a0c57db0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 29775, "upload_time": "2020-05-22T01:07:42", "upload_time_iso_8601": "2020-05-22T01:07:42.058034Z", "url": "https://files.pythonhosted.org/packages/f4/f2/8b53b4c6bd360c7872da4d114f088b3c0c51041984344380f7bb0bcf813c/north_devices-0.3.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "baeb6cb74dab59ba73077d33a0c57db0", "sha256": "961168e349e0196f47c8c3fad8d9bc895c78afc26a99d660f57114dfa03ea7b5" }, "downloads": -1, "filename": "north_devices-0.3.5.tar.gz", "has_sig": false, "md5_digest": "baeb6cb74dab59ba73077d33a0c57db0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 29775, "upload_time": "2020-05-22T01:07:42", "upload_time_iso_8601": "2020-05-22T01:07:42.058034Z", "url": "https://files.pythonhosted.org/packages/f4/f2/8b53b4c6bd360c7872da4d114f088b3c0c51041984344380f7bb0bcf813c/north_devices-0.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }