{ "info": { "author": "Pupil Labs GmbH", "author_email": "pypi@pupil-labs.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pupil-apriltags: Python bindings for the apriltags3 library\n\n[![Build Status](https://travis-ci.org/pupil-labs/apriltags.svg?branch=master)](https://travis-ci.org/pupil-labs/apriltags)\n\nThese are Python bindings for the [Apriltags3](https://github.com/AprilRobotics/apriltags) library developed by [AprilRobotics](https://april.eecs.umich.edu/), specifically adjusted to work with the pupil-labs software. The original bindings were provided by [duckietown](https://github.com/duckietown/apriltags3-py) and were inspired by the [Apriltags2 bindings](https://github.com/swatbotics/apriltag) by [Matt Zucker](https://github.com/mzucker).\n\n## How to get started:\n\n### Install from PyPI\n\nThis is the recommended and easiest way to install pupil-apriltags.\n\n```sh\npip install pupil-apriltags\n```\n\nWe offer pre-built binary wheels for common operating systems.\nIn case your system does not match, the installation might take some time, since the native library (apriltags-source) will be compiled first.\n\n### Manual installation from source (for development)\n\nYou can of course clone the repository and build from there. For development you should install the development requirements as well. This project uses the new python build system configuration from [PEP 517](https://www.python.org/dev/peps/pep-0517/) and [PEP 518](https://www.python.org/dev/peps/pep-0518/).\n\n```sh\n# clone the repository\ngit clone https://github.com/pupil-labs/apriltags.git\ncd apriltags\n\n# install apriltags in editable mode with development requirements\npip install -e .[dev]\n\n# run tests\ntox\n```\n\n## Usage\nSome examples of usage can be seen in the `src/pupil_apriltags/bindings.py` file.\n\nThe `Detector` class is a wrapper around the Apriltags functionality. You can initialize it as following:\n\n```python\nfrom pupil_apriltags import Detector\n\nat_detector = Detector(searchpath=['apriltags'],\n families='tag36h11',\n nthreads=1,\n quad_decimate=1.0,\n quad_sigma=0.0,\n refine_edges=1,\n decode_sharpening=0.25,\n debug=0)\n```\n\nThe options are:\n\n| **Option** \t| **Default** \t| **Explanation** \t|\n|-------------------\t|---------------\t|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| families \t| 'tag36h11' \t| Tag families, separated with a space \t|\n| nthreads \t| 1 \t| Number of threads \t|\n| quad_decimate \t| 2.0 \t| Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in detection rate. Decoding the binary payload is still done at full resolution. Set this to 1.0 to use the full resolution. \t|\n| quad_sigma \t| 0.0 \t| What Gaussian blur should be applied to the segmented image. Parameter is the standard deviation in pixels. Very noisy images benefit from non-zero values (e.g. 0.8) \t|\n| refine_edges \t| 1 \t| When non-zero, the edges of the each quad are adjusted to \"snap to\" strong gradients nearby. This is useful when decimation is employed, as it can increase the quality of the initial quad estimate substantially. Generally recommended to be on (1). Very computationally inexpensive. Option is ignored if quad_decimate = 1 \t|\n| decode_sharpening \t| 0.25 \t| How much sharpening should be done to decoded images? This can help decode small tags but may or may not help in odd lighting conditions or low light conditions \t|\n| searchpath \t| ['apriltags'] \t| Where to look for the Apriltag 3 library, must be a list \t|\n| debug \t| 0 \t| If 1, will save debug images. Runs very slow \n\nDetection of tags in images is done by running the `detect` method of the detector:\n\n```python\ntags = at_detector.detect(img, estimate_tag_pose=False, camera_params=None, tag_size=None)\n```\n\nIf you also want to extract the tag pose, `estimate_tag_pose` should be set to `True` and `camera_params` (`[fx, fy, cx, cy]`) and `tag_size` (in meters) should be supplied. The `detect` method returns a list of `Detection` objects each having the following attributes (note that the ones with an asterisks are computed only if `estimate_tag_pose=True`):\n\n| **Attribute** \t| **Explanation** \t|\n|-----------------\t|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| tag_family \t| The family of the tag. \t|\n| tag_id \t| The decoded ID of the tag. \t|\n| hamming \t| How many error bits were corrected? Note: accepting large numbers of corrected errors leads to greatly increased false positive rates. NOTE: As of this implementation, the detector cannot detect tags with a Hamming distance greater than 2. \t|\n| decision_margin \t| A measure of the quality of the binary decoding process: the average difference between the intensity of a data bit versus the decision threshold. Higher numbers roughly indicate better decodes. This is a reasonable measure of detection accuracy only for very small tags-- not effective for larger tags (where we could have sampled anywhere within a bit cell and still gotten a good detection.) \t|\n| homography \t| The 3x3 homography matrix describing the projection from an \"ideal\" tag (with corners at (-1,1), (1,1), (1,-1), and (-1, -1)) to pixels in the image. \t|\n| center \t| The center of the detection in image pixel coordinates. \t|\n| corners \t| The corners of the tag in image pixel coordinates. These always wrap counter-clock wise around the tag. \t|\n| pose_R* \t| Rotation matrix of the pose estimate. \t|\n| pose_t* \t| Translation of the pose estimate. \t|\n| pose_err* \t| Object-space error of the estimation. \t|\n\n## Custom layouts\nIf you want to use a custom layout, you need to create the C source and header files for it and then build the library again. Then use the new `libapriltag.so` library. You can find more information on the original [Apriltags repository](https://github.com/AprilRobotics/apriltags).\n\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://github.com/pupil-labs/apriltags", "keywords": "apriltags", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pupil-apriltags", "package_url": "https://pypi.org/project/pupil-apriltags/", "platform": "", "project_url": "https://pypi.org/project/pupil-apriltags/", "project_urls": { "Homepage": "https://github.com/pupil-labs/apriltags" }, "release_url": "https://pypi.org/project/pupil-apriltags/1/", "requires_dist": [ "numpy", "pytest ; extra == 'dev'", "tox ; extra == 'dev'" ], "requires_python": "", "summary": "Python bindings for apriltags v3", "version": "1" }, "last_serial": 5879578, "releases": { "0.dev0": [ { "comment_text": "", "digests": { "md5": "74b121543a10b118e1e1c9dd62bbd2ef", "sha256": "76f78652178286e713169a3d3dd20b9dd812139812d292235357983c140df1ea" }, "downloads": -1, "filename": "pupil_apriltags-0.dev0-cp36-cp36m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "74b121543a10b118e1e1c9dd62bbd2ef", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 8124765, "upload_time": "2019-09-24T12:06:38", "url": "https://files.pythonhosted.org/packages/2b/59/b274b5a9f3555bf4e031da82d340f4152ffa91816f811cb56e9f2add76ea/pupil_apriltags-0.dev0-cp36-cp36m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "793a8c87da47f41d6c9175cf46520d5f", "sha256": "7e81bb4da42d278595dab814dc930825dfe261bba30c2be5ffc1769a75bb13de" }, "downloads": -1, "filename": "pupil_apriltags-0.dev0-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "793a8c87da47f41d6c9175cf46520d5f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 6952044, "upload_time": "2019-09-24T12:00:49", "url": "https://files.pythonhosted.org/packages/45/78/8b03e08dd1075912871c3015684e652bc4e876de5cd6bd62a74f0df44871/pupil_apriltags-0.dev0-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cbecd29c97b9ddccaadaa3b433c580ae", "sha256": "71d0500678e11162f8a7988d918bf0b2569547ae69f576e11d6d33a106e1da29" }, "downloads": -1, "filename": "pupil_apriltags-0.dev0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "cbecd29c97b9ddccaadaa3b433c580ae", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3675060, "upload_time": "2019-09-24T12:01:48", "url": "https://files.pythonhosted.org/packages/98/56/96e9568fa07077feb7af2cdbd7d1c801309fd9af07935780846918399f37/pupil_apriltags-0.dev0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "ae9060d3846822eb168ba400bc83c212", "sha256": "9a1dbcf28183b3d7b296e78fc3ebd3571ff55ea74cbcd521358b8743bd30efb0" }, "downloads": -1, "filename": "pupil_apriltags-0.dev0-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "ae9060d3846822eb168ba400bc83c212", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 6952047, "upload_time": "2019-09-24T12:05:26", "url": "https://files.pythonhosted.org/packages/39/d7/1483c579b835b5423cc6a4cfc2f9428bded677894a3d41a986f35ac36d32/pupil_apriltags-0.dev0-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0e1867643938268c8b17e3cfdc724691", "sha256": "fcb2645b6f80ba87d15a836578419705f64bde0490c4f346b16868ec812ca9a8" }, "downloads": -1, "filename": "pupil_apriltags-0.dev0-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "0e1867643938268c8b17e3cfdc724691", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3675061, "upload_time": "2019-09-24T12:02:54", "url": "https://files.pythonhosted.org/packages/a5/37/67309f9bd23af73c8b7f10488e83bbc4a0e9bd9ab3788f7faf57fc0bed9d/pupil_apriltags-0.dev0-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "15a3f3bde867e2b156d958628e542744", "sha256": "72688a8bcaa1c5ecf6597e9ed1ba420f9a0fe7a59b2105c45caaf3dd43bbfedc" }, "downloads": -1, "filename": "pupil-apriltags-0.dev0.tar.gz", "has_sig": false, "md5_digest": "15a3f3bde867e2b156d958628e542744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1912959, "upload_time": "2019-09-24T12:00:51", "url": "https://files.pythonhosted.org/packages/f9/48/32e53abeb1744bec9f24aaac629001e77f0aed5ee9697f49c2799f2abd20/pupil-apriltags-0.dev0.tar.gz" } ], "1": [ { "comment_text": "", "digests": { "md5": "69c6b9f8a55848070a7cde66715796d0", "sha256": "d059380c2a91213b797f5f208af36ac863cc08576b4663411f89d357a753583e" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "69c6b9f8a55848070a7cde66715796d0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 8123959, "upload_time": "2019-09-24T13:04:55", "url": "https://files.pythonhosted.org/packages/c3/2f/0d12931de91f604bccff761b235a629adf8716804ef43b7aa6e0367342dd/pupil_apriltags-1-cp36-cp36m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9c7cb630781293df9cd386ef0a2f171f", "sha256": "b8eda86bb481f0f37214a9d9afbbf8bfbeeb08291c76bac626968ba7fc8f6110" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "9c7cb630781293df9cd386ef0a2f171f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 6951228, "upload_time": "2019-09-24T12:57:53", "url": "https://files.pythonhosted.org/packages/27/0a/ca5690d500a258acd1644a232b9eeefcafb9caedd2e521e29878a0bd1ef2/pupil_apriltags-1-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3a1af844aea09d26a63082f94b8450f7", "sha256": "50ed47d3e2fa7424a6bdf0df1ee39a708d59d1611436887151b3eae83eef17f0" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "3a1af844aea09d26a63082f94b8450f7", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3674245, "upload_time": "2019-09-24T12:58:42", "url": "https://files.pythonhosted.org/packages/53/3a/a2ba96f52cece5f11541d2f6a92b2494052552563b37c91025eb0b4b6f6e/pupil_apriltags-1-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "29e3b69f00b3d737905ebbd8399d6a92", "sha256": "d0d1850cfe1e0edb7a2573ed82c05d95d69630800188a85847f2b48cdf378ba5" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "29e3b69f00b3d737905ebbd8399d6a92", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 8123961, "upload_time": "2019-09-24T13:04:49", "url": "https://files.pythonhosted.org/packages/d6/fc/3a2925f05be860e57be58449159f0b73523e44b9d715bb75c68d3b727fcf/pupil_apriltags-1-cp37-cp37m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "95d19addca973b2bf96146ba993150e3", "sha256": "7bfb799fed59c09be818578badc4ac7fb7553c1cc492f7060299a86a35024f16" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "95d19addca973b2bf96146ba993150e3", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 6951238, "upload_time": "2019-09-24T13:02:21", "url": "https://files.pythonhosted.org/packages/ec/94/82b5c1a705caa34deef848912f02848d5c06918a77de211de15c611a34fc/pupil_apriltags-1-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5d8641b8b6ad1df2948c3b220863d8fd", "sha256": "f4a5145dfe27388873e7a0486ddd140c5eb7e35b228b866fb2a32ef501d8edd3" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "5d8641b8b6ad1df2948c3b220863d8fd", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3674246, "upload_time": "2019-09-24T12:58:45", "url": "https://files.pythonhosted.org/packages/26/47/44a0541fa92ba93f9fad533b6ec67f9bb187d4dea909ac0a19f8913cf84c/pupil_apriltags-1-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "4f1f7c27d3af89d853e6ddd9d59c32db", "sha256": "106fe1862fb61f5eea2ef9d462f8b50bdeb5a491cdb73c666e87279353786a96" }, "downloads": -1, "filename": "pupil-apriltags-1.tar.gz", "has_sig": false, "md5_digest": "4f1f7c27d3af89d853e6ddd9d59c32db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1913091, "upload_time": "2019-09-24T12:57:57", "url": "https://files.pythonhosted.org/packages/75/1d/592037acdb0b09f005e6063b02843cfcc1802f5c2042c5c88daeea2f7c4e/pupil-apriltags-1.tar.gz" } ], "1.dev0": [ { "comment_text": "", "digests": { "md5": "caa3b84b96901762b0e124304dab9d83", "sha256": "d25ae7b2ad078031f535c403bc6a61c006472e86841485fa0ae85a047e1ba074" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp36-cp36m-macosx_10_10_x86_64.whl", "has_sig": false, "md5_digest": "caa3b84b96901762b0e124304dab9d83", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 8152564, "upload_time": "2019-08-23T09:47:19", "url": "https://files.pythonhosted.org/packages/15/9d/a37da6fbf006fb6c7bd87ff98cdb537dd22f295ad6140f93d2e6131a48b0/pupil_apriltags-1.dev0-cp36-cp36m-macosx_10_10_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a23eaa155053137661d0a31e3613f070", "sha256": "6ac30e168d5029f21aed53889bde7d340ae8799b2810ec651256d29bfc8b82f3" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "a23eaa155053137661d0a31e3613f070", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 6968236, "upload_time": "2019-08-23T09:36:20", "url": "https://files.pythonhosted.org/packages/87/63/890013fb5866c773fa194c762a4db7c7c91531a2751d56c14fb25101e6ce/pupil_apriltags-1.dev0-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0b5a248650f9c1bd410dd8e2ec0cf13e", "sha256": "749128a0d0511867dc63c8654c4b09d4b2c5c5f9385b64706bfa7b9576624a3a" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "0b5a248650f9c1bd410dd8e2ec0cf13e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3706623, "upload_time": "2019-08-23T09:41:40", "url": "https://files.pythonhosted.org/packages/3e/e3/7a7e1f23d1a421013c4f40cf54be1e5d2bbde8467b90fffb1d8da3ab8eba/pupil_apriltags-1.dev0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "52349e4ae7aaf35ddc787f940b285e87", "sha256": "4df4258e7530ccaed530fc6506162cdd935609ff9c47a8541406dd9811c15fd6" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp37-cp37m-macosx_10_10_x86_64.whl", "has_sig": false, "md5_digest": "52349e4ae7aaf35ddc787f940b285e87", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 8152565, "upload_time": "2019-08-23T09:47:29", "url": "https://files.pythonhosted.org/packages/45/85/08c0cd892de1ebab5a30b93a4be78ee7dd58edca5dff767e7e1f123d365d/pupil_apriltags-1.dev0-cp37-cp37m-macosx_10_10_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "dbf5d468ee3e6cb160edee0619b47cee", "sha256": "85887f792f2c26e74ab1cee24d9e91e3d0820cbb213c2ec204800c7f67e84b7f" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "dbf5d468ee3e6cb160edee0619b47cee", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 6968242, "upload_time": "2019-08-23T09:43:24", "url": "https://files.pythonhosted.org/packages/20/61/8a6bca78059a1a980e74994a9b90f65b189246796887e3a5e664c0da3e13/pupil_apriltags-1.dev0-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c68dad27b7b5ecd3a9f2fa6fb0d9098a", "sha256": "79d3417438aaa2bdc7923f94c3d9034be42c5a8b467b8227d2dbc146860e734e" }, "downloads": -1, "filename": "pupil_apriltags-1.dev0-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "c68dad27b7b5ecd3a9f2fa6fb0d9098a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3706622, "upload_time": "2019-08-23T09:44:20", "url": "https://files.pythonhosted.org/packages/db/15/b19f3ed142ed60fc3e762c52b1f7d5786b2de87de80af2d1776d122ea72d/pupil_apriltags-1.dev0-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "3b6f6173d7278bdf0020a8ad6bf90e5f", "sha256": "4ef092bd95adff63af89de0412278f82bf6385a68698c5af04f0e1a4db0e7962" }, "downloads": -1, "filename": "pupil-apriltags-1.dev0.tar.gz", "has_sig": false, "md5_digest": "3b6f6173d7278bdf0020a8ad6bf90e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1933323, "upload_time": "2019-08-23T09:41:41", "url": "https://files.pythonhosted.org/packages/10/b9/d3c3a1a871a3047109c429a718f12b33c695346e2ac7f7cf6792381eaadf/pupil-apriltags-1.dev0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69c6b9f8a55848070a7cde66715796d0", "sha256": "d059380c2a91213b797f5f208af36ac863cc08576b4663411f89d357a753583e" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "69c6b9f8a55848070a7cde66715796d0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 8123959, "upload_time": "2019-09-24T13:04:55", "url": "https://files.pythonhosted.org/packages/c3/2f/0d12931de91f604bccff761b235a629adf8716804ef43b7aa6e0367342dd/pupil_apriltags-1-cp36-cp36m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9c7cb630781293df9cd386ef0a2f171f", "sha256": "b8eda86bb481f0f37214a9d9afbbf8bfbeeb08291c76bac626968ba7fc8f6110" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "9c7cb630781293df9cd386ef0a2f171f", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 6951228, "upload_time": "2019-09-24T12:57:53", "url": "https://files.pythonhosted.org/packages/27/0a/ca5690d500a258acd1644a232b9eeefcafb9caedd2e521e29878a0bd1ef2/pupil_apriltags-1-cp36-cp36m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3a1af844aea09d26a63082f94b8450f7", "sha256": "50ed47d3e2fa7424a6bdf0df1ee39a708d59d1611436887151b3eae83eef17f0" }, "downloads": -1, "filename": "pupil_apriltags-1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "3a1af844aea09d26a63082f94b8450f7", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3674245, "upload_time": "2019-09-24T12:58:42", "url": "https://files.pythonhosted.org/packages/53/3a/a2ba96f52cece5f11541d2f6a92b2494052552563b37c91025eb0b4b6f6e/pupil_apriltags-1-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "29e3b69f00b3d737905ebbd8399d6a92", "sha256": "d0d1850cfe1e0edb7a2573ed82c05d95d69630800188a85847f2b48cdf378ba5" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-macosx_10_12_x86_64.whl", "has_sig": false, "md5_digest": "29e3b69f00b3d737905ebbd8399d6a92", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 8123961, "upload_time": "2019-09-24T13:04:49", "url": "https://files.pythonhosted.org/packages/d6/fc/3a2925f05be860e57be58449159f0b73523e44b9d715bb75c68d3b727fcf/pupil_apriltags-1-cp37-cp37m-macosx_10_12_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "95d19addca973b2bf96146ba993150e3", "sha256": "7bfb799fed59c09be818578badc4ac7fb7553c1cc492f7060299a86a35024f16" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "95d19addca973b2bf96146ba993150e3", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 6951238, "upload_time": "2019-09-24T13:02:21", "url": "https://files.pythonhosted.org/packages/ec/94/82b5c1a705caa34deef848912f02848d5c06918a77de211de15c611a34fc/pupil_apriltags-1-cp37-cp37m-manylinux2010_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "5d8641b8b6ad1df2948c3b220863d8fd", "sha256": "f4a5145dfe27388873e7a0486ddd140c5eb7e35b228b866fb2a32ef501d8edd3" }, "downloads": -1, "filename": "pupil_apriltags-1-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "5d8641b8b6ad1df2948c3b220863d8fd", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3674246, "upload_time": "2019-09-24T12:58:45", "url": "https://files.pythonhosted.org/packages/26/47/44a0541fa92ba93f9fad533b6ec67f9bb187d4dea909ac0a19f8913cf84c/pupil_apriltags-1-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "4f1f7c27d3af89d853e6ddd9d59c32db", "sha256": "106fe1862fb61f5eea2ef9d462f8b50bdeb5a491cdb73c666e87279353786a96" }, "downloads": -1, "filename": "pupil-apriltags-1.tar.gz", "has_sig": false, "md5_digest": "4f1f7c27d3af89d853e6ddd9d59c32db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1913091, "upload_time": "2019-09-24T12:57:57", "url": "https://files.pythonhosted.org/packages/75/1d/592037acdb0b09f005e6063b02843cfcc1802f5c2042c5c88daeea2f7c4e/pupil-apriltags-1.tar.gz" } ] }