{ "info": { "author": "Algoo Development Team", "author_email": "contact@algoo.fr", "bugtrack_url": null, "classifiers": [], "description": "[![Build Status](https://travis-ci.org/algoo/hapic.svg?branch=master)](https://travis-ci.org/algoo/hapic)\n[![Coverage Status](https://coveralls.io/repos/github/algoo/hapic/badge.svg?branch=master)](https://coveralls.io/github/algoo/hapic?branch=master)\n\n# hapic in a nutshell\n\nhapic is a framework-agnostic library for coding professionnal REST APIs.\n\n# Philosophy\n\nhapic as been developed by algoo in the context of a large service oriented project. The lack of a tool allowing real auto-documentation of Rest API has decided us to develop hapic.\n\ntarget usage is not for \"quick and dirty\" stuff but for professionnal, maintainable, long-term targeted projects.\n\nThe separation of concerns between REST APIs layer and business stuff layer is in the DNA of hapic.\n\nhapic is *just* the HTTP layer glue code over your business code.\n\n# Direct benefits of using hapic\n\nWhen you decide to base your development on hapic, you'll get direct benefits:\n\n## Ready-to-use\n\n- supports aiohttp, flask, pyramid and bottle \n- ready-to-use with your existing libraries\n- effortless mapping of exceptions to HTTP errors\n- serialisation based on marshmallow schemas or serpyco dataclasses\n\n## Full API documentation ready\n\n- your code *IS* the documentation\n- swagger generated documentation\n- embed the documentation in 1 line of code\n- supports python 3.5, 3.6 and 3.7 \n\n## Professionnal and maintanable source code\n\n- separation of concerns between business logic and HTTP stuff\n- very fast when used in conjunction with both aiohttp and serpyco\n- extensible framework for supporting other web framework and serialisation libraries\n\n# Licence\n\nhapic is licenced under the MIT licence. You can use it in your projects, closed or open sourced.\n\n## status, contributions\n\nhapic source code is ready for production. Some refactoring are identified and required for maintainability, but public APIs are stable so you can rely on hapic for your developments.\n\nhapic is under active development, based on different professional projects. we will answer your questions and accept merge requests if you find bugs or want to include features.\n\nhapic is automatically tested on python 3.5, 3.6 and 3.7\n\n## TODO references\n\nTODOs in the code can include some `#xxx` - these are github issues references.\n\n## Installation\n\nFor better performances with yaml module, you can install following (debian instruction):\n\n sudo apt-get install libyaml-dev\n\n`libyaml-dev` package can be removed after hapic install.\n\n## From source code\n\n``` bash\nvirtualenv -p /usr/bin/python3 venv\nsource venv/bin/activate\npython setup.py develop\n```\n\nTo work with Marshmallow schemas, install necessary dependencies:\n\n pip install -e \".[marshmallow]\"\n\nTo work with Serpyco dataclasses, install necessary dependencies:\n\n pip install -e \".[serpyco]\"\n\nTo have full environment (for developpers):\n\n pip install -e \".[dev\"]\n\n## From pypi\n\nTo work with Marshmallow schemas, install necessary dependencies:\n\n pip install hapic[marshmallow]\n\nTo work with Serpyco dataclasses, install necessary dependencies:\n\n pip install hapic[serpyco]\n \n## Give it a try\n\n### short Flask example\n\n``` python\nfrom datetime import datetime\nimport flask\nimport marshmallow\nimport hapic\nfrom hapic.ext.flask import FlaskContext\nimport json\n\nhapic = hapic.Hapic()\napp = flask.Flask(__name__)\n\n\nclass UriPathSchema(marshmallow.Schema): # schema describing the URI and allowed values\n name = marshmallow.fields.String(required=True)\n age = marshmallow.fields.Integer(required=False)\n\n\nclass HelloResponseSchema(marshmallow.Schema): # schema of the API response\n name = marshmallow.fields.String(required=True)\n now = marshmallow.fields.DateTime(required=False)\n greetings = marshmallow.fields.String(required=False)\n\n\n@app.route('/hello/') # flask route. must always be before hapic decorators\n@hapic.with_api_doc() # the first hapic decorator. Register the method for auto-documentation\n@hapic.input_path(UriPathSchema()) # validate the URI structure\n@hapic.output_body(HelloResponseSchema()) # define output structure\ndef hello(name='', hapic_data=None):\n return {\n 'name': name,\n 'now': datetime.now(),\n 'dummy': { 'some': 'dummy' } # will be ignored\n }\n\nclass UriPathSchemaWithAge(marshmallow.Schema): # schema describing the URI and allowed values\n name = marshmallow.fields.String(required=True)\n age = marshmallow.fields.Integer(required=False)\n\n\n@app.route('/hello//age/')\n@hapic.with_api_doc()\n@hapic.input_path(UriPathSchemaWithAge())\n@hapic.output_body(HelloResponseSchema())\ndef hello2(name='', age=42, hapic_data=None):\n return {\n 'name': name,\n 'age': age,\n 'greetings': 'Hello {name}, it looks like you are {age}'.format(\n name=name,\n age=age\n ),\n 'now': datetime.now(),\n 'dummy': { 'some': 'dummy' } # will be ignored\n }\n\n\nhapic.set_context(FlaskContext(app))\nprint(json.dumps(hapic.generate_doc(title='API Doc', description='doc desc.'))) # Generate the documentation\napp.run('127.0.0.1', 8080, debug=True)\n```\n\nHow to use it:\n\nNominal cases:\n\n``` bash\n$ curl \"http://127.0.0.1:8080/hello/michel\"\n# {\"now\": \"2017-12-18T12:37:10.751623+00:00\", \"name\": \"michel\"}\n```\n\n``` bash\n$ curl \"http://127.0.0.1:8080/hello/michel/age/17\"\n# {\"name\": \"damien\", \"greetings\": \"Hello damien, it looks like you are 17\", \"now\": \"2017-12-18T12:41:58.229679+00:00\"}\n```\n\nError case (returns a 400):\n\n``` bash\n$ curl \"http://127.0.0.1:8080/hello/michel/age/mistaken\"\n# {\"details\": {\"age\": [\"Not a valid integer.\"]}, \"message\": \"Validation error of input data\"}\n```\n\n\n### A complete user API\n\nIn the `example/usermanagement` directory you can find a complete example of an API allowing to manage users.\n\nFeatures are: \n\n- get list of all users\n- get detail of a given user\n- create a user\n- delete a user\n\nIn order to test it :\n\nInstall the required dependencies:\n\n``` bash\npip install bottle flask pyramid`\n```\n\nRun the instance you wan to test (one of the three following lines):\n\n``` bash\npython example/usermanagement/serve_bottle.py\npython example/usermanagement/serve_flask.py\npython example/usermanagement/serve_pyramid.py\n```\n\nFeatures shown :\n\n- auto-generation of the documentation\n- managing parameters in the uri path\n- managing input schemas\n- managing output schema\n- management of error cases (404, 500, etc)\n- nice exception handling\n- automatic dict/object serialization", "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/algoo/hapic", "keywords": "http api validation", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hapic", "package_url": "https://pypi.org/project/hapic/", "platform": "", "project_url": "https://pypi.org/project/hapic/", "project_urls": { "Homepage": "https://github.com/algoo/hapic" }, "release_url": "https://pypi.org/project/hapic/0.82/", "requires_dist": null, "requires_python": "", "summary": "HTTP api input/output manager", "version": "0.82" }, "last_serial": 5849118, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "ebc4cbb828de5d4634677bb44cb6f8a9", "sha256": "e64abcaa9ef25561b556d1cb0a705c94033e971aab51df13914be1f9dd04191b" }, "downloads": -1, "filename": "hapic-0.10.tar.gz", "has_sig": false, "md5_digest": "ebc4cbb828de5d4634677bb44cb6f8a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15134, "upload_time": "2017-11-13T15:50:02", "url": "https://files.pythonhosted.org/packages/b7/b0/d1a3813e57a0d3a07dd6efc283717451b76b429efd4cced1dad53d215227/hapic-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "9a0ab054fc83edfb66ef7f64c7d26c87", "sha256": "5434847d4ec63448504e803063e2d73ff50f2c04306ce82885a26f47e1262348" }, "downloads": -1, "filename": "hapic-0.11.tar.gz", "has_sig": false, "md5_digest": "9a0ab054fc83edfb66ef7f64c7d26c87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15275, "upload_time": "2017-11-14T10:42:50", "url": "https://files.pythonhosted.org/packages/7f/09/737d4b5475129ed28cc68a246079d0c7faa79587311081dc5823039fd047/hapic-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "b747cdfdb4219b3e0568f879501c090b", "sha256": "35100accbd464316712ef90423830a1e26b9e88b230102a42368cebfcbbe40ae" }, "downloads": -1, "filename": "hapic-0.12.tar.gz", "has_sig": false, "md5_digest": "b747cdfdb4219b3e0568f879501c090b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15309, "upload_time": "2017-11-14T14:44:34", "url": "https://files.pythonhosted.org/packages/ba/04/df18ccb8bdf5e58150ad49d7559e14668475ee5fb8a85138b9ca9698dff6/hapic-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "0d55d334cec3766acb02243775f783c1", "sha256": "43d082a7d0452f6e80277f72ee2b51b9614a304e262462eb699b7a951014f5c5" }, "downloads": -1, "filename": "hapic-0.13.tar.gz", "has_sig": false, "md5_digest": "0d55d334cec3766acb02243775f783c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15315, "upload_time": "2017-11-14T15:14:20", "url": "https://files.pythonhosted.org/packages/ae/a7/1cd3c55be91a61c0374fbebde6577e9c92647ec42ebc993c293749e765b7/hapic-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "b782e3a50e27073de86cb22b0a865e2e", "sha256": "4bfbbb2a2f9b8f5c93a02dbf199ea97fd2bbe5c4b28180ea48b43967f81af411" }, "downloads": -1, "filename": "hapic-0.14.tar.gz", "has_sig": false, "md5_digest": "b782e3a50e27073de86cb22b0a865e2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15311, "upload_time": "2017-11-14T15:19:36", "url": "https://files.pythonhosted.org/packages/67/a8/705f2cfb1920a122402e9f5369de74c7b81343459cf0303112c4886aaf9d/hapic-0.14.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "47bf845d154fe39721a040faef7878a0", "sha256": "9314527cf5ff05f480ee3669bb9587aa5637143642c02e87699cf4c06f79b205" }, "downloads": -1, "filename": "hapic-0.15.tar.gz", "has_sig": false, "md5_digest": "47bf845d154fe39721a040faef7878a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15287, "upload_time": "2017-11-30T14:21:56", "url": "https://files.pythonhosted.org/packages/b9/be/cee6a0f909f7a1acfd8acd7b1c807603364542d2de19bb7ee291ec50c7a1/hapic-0.15.tar.gz" } ], "0.16": [ { "comment_text": "", "digests": { "md5": "32574cdb7afcb8b2cfa58190da5d116d", "sha256": "c2eca8a5edb13dac2b319a991b4dd0e9013122b6110fb0b3e465e422eb10dafe" }, "downloads": -1, "filename": "hapic-0.16.tar.gz", "has_sig": false, "md5_digest": "32574cdb7afcb8b2cfa58190da5d116d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15298, "upload_time": "2017-12-04T10:40:16", "url": "https://files.pythonhosted.org/packages/f7/a6/924cb302ec9bdfb1f3086c7c6c808b084a4c94dfb3dea6b6d09f0f8269ce/hapic-0.16.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "89774cffb5cd31c3a99c23c1194e3899", "sha256": "0e6aa165a44f8421e832da1b91d7377c6c78c4048aabec070fd680c93cdaa7d1" }, "downloads": -1, "filename": "hapic-0.17.tar.gz", "has_sig": false, "md5_digest": "89774cffb5cd31c3a99c23c1194e3899", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15302, "upload_time": "2017-12-06T13:31:32", "url": "https://files.pythonhosted.org/packages/3a/ae/6f0b702254e4c350267f8562bd62a3cada3de3c82e020ba8f584af7e8874/hapic-0.17.tar.gz" } ], "0.18": [ { "comment_text": "", "digests": { "md5": "706d5b2b541c7de2099e9eb74c9aad85", "sha256": "a8b3af389136c7f51058f262f66650650c58e383da4ae3430219dd31ef586d74" }, "downloads": -1, "filename": "hapic-0.18.tar.gz", "has_sig": false, "md5_digest": "706d5b2b541c7de2099e9eb74c9aad85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15299, "upload_time": "2017-12-07T09:35:59", "url": "https://files.pythonhosted.org/packages/94/f0/d50c2340724fe29a7bc449d06c83d13ad6ded3594dc68d8b40b7e61351f3/hapic-0.18.tar.gz" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "ae38d06763db72a3265dc582ef1afda4", "sha256": "a4ca7690fa5d1709d7f074b9faed3a81ad0b325a4b0667ce48db5469fa777528" }, "downloads": -1, "filename": "hapic-0.19.tar.gz", "has_sig": false, "md5_digest": "ae38d06763db72a3265dc582ef1afda4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15294, "upload_time": "2017-12-07T10:37:39", "url": "https://files.pythonhosted.org/packages/b6/99/f1bf42bcd564a777cbf78799badce5c777b3a76c2ea2ad2479651e66efa2/hapic-0.19.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "c65a879f0c69a05235738ad0013c2bc2", "sha256": "a67cdcd53bfa2df070968d0e28b18b586254d7ab6662027e552364653d1ab495" }, "downloads": -1, "filename": "hapic-0.20.tar.gz", "has_sig": false, "md5_digest": "c65a879f0c69a05235738ad0013c2bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15308, "upload_time": "2017-12-08T10:06:13", "url": "https://files.pythonhosted.org/packages/fe/bf/ce8954c70549487b8e5e05c07e726d7471ecd218e0422ff37e578917c29b/hapic-0.20.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "25e7b694b26ddfb794b2b19591b85900", "sha256": "0d4dc51a25e9d0a470cf6084dfd8efd153d94ae005f06c5c66c89cae7cdab971" }, "downloads": -1, "filename": "hapic-0.21.tar.gz", "has_sig": false, "md5_digest": "25e7b694b26ddfb794b2b19591b85900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18610, "upload_time": "2017-12-14T15:38:00", "url": "https://files.pythonhosted.org/packages/b6/8b/8437f5b20748f0e2f12323f6d812da5e59472502f4d2c44bf17c9eb96d98/hapic-0.21.tar.gz" } ], "0.22": [ { "comment_text": "", "digests": { "md5": "a6064224328cdf5bcce532188f1ce2a9", "sha256": "62489f4ba39e6fa673b39c93ccba505d2b0f11e5ca84d070a8f9fa05a9d52f05" }, "downloads": -1, "filename": "hapic-0.22.tar.gz", "has_sig": false, "md5_digest": "a6064224328cdf5bcce532188f1ce2a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19646, "upload_time": "2017-12-18T11:35:55", "url": "https://files.pythonhosted.org/packages/51/ae/9d62f989cbcc6cef4fe04d27c7b98086f06054567d8e3fbaa1a8322b6f00/hapic-0.22.tar.gz" } ], "0.23": [ { "comment_text": "", "digests": { "md5": "2a7a9f86e01b1e131511f8900a2be0af", "sha256": "4030e1936a449161f372c7ba0891fb440f49200bc6c4e48e95d02eb825dc2f80" }, "downloads": -1, "filename": "hapic-0.23.tar.gz", "has_sig": false, "md5_digest": "2a7a9f86e01b1e131511f8900a2be0af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20559, "upload_time": "2017-12-18T15:20:57", "url": "https://files.pythonhosted.org/packages/6c/1a/46609c3dbbc2da00ad1c523918c9580268033b9f8fbfd5774b814bd35857/hapic-0.23.tar.gz" } ], "0.24": [ { "comment_text": "", "digests": { "md5": "b4b0ca4269968fdb21fd3d718ed2ce29", "sha256": "b0a87395d3b55c2041cc60025ec1313d31ab491151321c4865c4dbf24a7ad43a" }, "downloads": -1, "filename": "hapic-0.24.tar.gz", "has_sig": false, "md5_digest": "b4b0ca4269968fdb21fd3d718ed2ce29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20581, "upload_time": "2017-12-27T15:59:45", "url": "https://files.pythonhosted.org/packages/f2/a6/b88b2f27632279c3c825e53a259c99bc5359a53f991767d819d443ade3b6/hapic-0.24.tar.gz" } ], "0.25": [ { "comment_text": "", "digests": { "md5": "830f88938344d63e65284e39e96f6022", "sha256": "0313bf57dee6b731177b4f0aed72564ea26c73f25fce3690d30e7baaca665280" }, "downloads": -1, "filename": "hapic-0.25.tar.gz", "has_sig": false, "md5_digest": "830f88938344d63e65284e39e96f6022", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20782, "upload_time": "2017-12-28T09:35:25", "url": "https://files.pythonhosted.org/packages/9d/d8/256a0253beebd8572441d22ea26cd33a6c46e4405835813830fa95c85032/hapic-0.25.tar.gz" } ], "0.26": [ { "comment_text": "", "digests": { "md5": "3a253462afb3ef75116ba9ff4e8c1bce", "sha256": "8c5caee0c524ec3e4d617c98a31e146ff08d7272139c5b439a32df8ebc9db5b0" }, "downloads": -1, "filename": "hapic-0.26.tar.gz", "has_sig": false, "md5_digest": "3a253462afb3ef75116ba9ff4e8c1bce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21940, "upload_time": "2017-12-28T16:02:03", "url": "https://files.pythonhosted.org/packages/ab/a8/df42ca8c2b16f04f98d6a2f68bae2b5ede67c7e007164e5830169b26619b/hapic-0.26.tar.gz" } ], "0.27": [ { "comment_text": "", "digests": { "md5": "d86fbb882b89c321c9701c94b7103668", "sha256": "700c6b7a8d50f357675d2773e8a25f48dd1ff6ed8ec8839346d053624b748d5e" }, "downloads": -1, "filename": "hapic-0.27.tar.gz", "has_sig": false, "md5_digest": "d86fbb882b89c321c9701c94b7103668", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22019, "upload_time": "2017-12-29T08:30:45", "url": "https://files.pythonhosted.org/packages/2f/7c/c0ba691ad7b8bc38af177dde7206477077ec39cc5cc7d132d573b7d34b4d/hapic-0.27.tar.gz" } ], "0.28": [ { "comment_text": "", "digests": { "md5": "4249528b0b8071b10ce626681b35bba5", "sha256": "055ac09b692097647d6f2c4b47ed648085a06ab70123a9964a97bbb3629828bd" }, "downloads": -1, "filename": "hapic-0.28.tar.gz", "has_sig": false, "md5_digest": "4249528b0b8071b10ce626681b35bba5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22030, "upload_time": "2017-12-29T09:33:59", "url": "https://files.pythonhosted.org/packages/3a/75/98b1a7ee775c8ec4ea098aa3a317b5669059b5063d30532b701f61fdc3b1/hapic-0.28.tar.gz" } ], "0.29": [ { "comment_text": "", "digests": { "md5": "b889f73d7669736657bb4ae49f6178ce", "sha256": "dc2aebb585111130b9a08ef1a69f16e827d84733d3cc2756d3bf0f5d9b791fd3" }, "downloads": -1, "filename": "hapic-0.29.tar.gz", "has_sig": false, "md5_digest": "b889f73d7669736657bb4ae49f6178ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23061, "upload_time": "2018-02-06T10:55:28", "url": "https://files.pythonhosted.org/packages/51/00/6312c85fcff1422ec4e8c695108c552b3241190b64fa82901fccff9eedb5/hapic-0.29.tar.gz" } ], "0.30": [ { "comment_text": "", "digests": { "md5": "edaceeffe8c3d92a44e91e5a0a87501f", "sha256": "d03b03ef58cba6a760af06f356b403f77b508af8d339aa7b1cf5a4e2aac27fe3" }, "downloads": -1, "filename": "hapic-0.30.tar.gz", "has_sig": false, "md5_digest": "edaceeffe8c3d92a44e91e5a0a87501f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 578211, "upload_time": "2018-02-06T10:58:26", "url": "https://files.pythonhosted.org/packages/60/1d/dc3fd108d6aef17fd8514a403b80dcbc6d180b25b37cf61d0f50e1b2b458/hapic-0.30.tar.gz" } ], "0.31": [ { "comment_text": "", "digests": { "md5": "7e350caf6f303acb49d64226713a7431", "sha256": "8bf8c30d2b5cdc09edc1a47d9e314469a6aca56d6e0f79b504f4f48ae1823d60" }, "downloads": -1, "filename": "hapic-0.31.tar.gz", "has_sig": false, "md5_digest": "7e350caf6f303acb49d64226713a7431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 578265, "upload_time": "2018-02-06T13:26:21", "url": "https://files.pythonhosted.org/packages/83/a8/306a455044783ba234834fe65ed6130b7a6a4014955992f2648185b572cc/hapic-0.31.tar.gz" } ], "0.32": [ { "comment_text": "", "digests": { "md5": "d3d40392b1790ebbc208df7bb727dd2c", "sha256": "a08f050a75d4a9880c3ab6e9eaa24ea2b9ce9430fcb89df3a281f49fdfb0d5e8" }, "downloads": -1, "filename": "hapic-0.32.tar.gz", "has_sig": false, "md5_digest": "d3d40392b1790ebbc208df7bb727dd2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 577824, "upload_time": "2018-02-06T13:58:47", "url": "https://files.pythonhosted.org/packages/1f/cf/18602ef01911fab7a9d0d6abd14a31837e6a982b8acc0f0af314c5679124/hapic-0.32.tar.gz" } ], "0.33": [ { "comment_text": "", "digests": { "md5": "9dcf1496058fa2074e5d60f35d306b61", "sha256": "9355c4cb73423c410485fdf6fadecdc821b2c8c2d6e5384ea08ceb0e8aadf4d5" }, "downloads": -1, "filename": "hapic-0.33.tar.gz", "has_sig": false, "md5_digest": "9dcf1496058fa2074e5d60f35d306b61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 577831, "upload_time": "2018-02-06T14:09:56", "url": "https://files.pythonhosted.org/packages/4f/a4/350331f0cec40b2aaebad60638ab24777aa0a3fc660fff7f01356d3a9f94/hapic-0.33.tar.gz" } ], "0.34": [ { "comment_text": "", "digests": { "md5": "ba7e61684956a26185f6cbad2f421281", "sha256": "01e38ed357d220be671ca0a41b7a2c366dac1bef84c9c0a5b943f903a3d4f034" }, "downloads": -1, "filename": "hapic-0.34.tar.gz", "has_sig": false, "md5_digest": "ba7e61684956a26185f6cbad2f421281", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 577835, "upload_time": "2018-04-06T10:15:38", "url": "https://files.pythonhosted.org/packages/9f/5e/ce92a479f3157b4a0408ae0cf49fe29603101448ad9d98611748303cd6d9/hapic-0.34.tar.gz" } ], "0.35": [ { "comment_text": "", "digests": { "md5": "ec192a9914009072b60ec9352a43d049", "sha256": "71f35cfcf9b36e3d710775bae7549cdbc725b8d391199330a9edd655fe3d1513" }, "downloads": -1, "filename": "hapic-0.35.tar.gz", "has_sig": false, "md5_digest": "ec192a9914009072b60ec9352a43d049", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 576465, "upload_time": "2018-04-27T15:50:28", "url": "https://files.pythonhosted.org/packages/85/45/7d31ebfc1b9980772b51f6c3e55ccba3c3ce15e5244068a873db040157ff/hapic-0.35.tar.gz" } ], "0.36": [ { "comment_text": "", "digests": { "md5": "c5ed393e737b59830a28096ffcc72484", "sha256": "9673a8255eb9547858f1d7e17a16fa3d7d8a698f84eaf576c198b35863c9c84b" }, "downloads": -1, "filename": "hapic-0.36.tar.gz", "has_sig": false, "md5_digest": "c5ed393e737b59830a28096ffcc72484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 576462, "upload_time": "2018-04-27T22:46:55", "url": "https://files.pythonhosted.org/packages/ab/00/db9292c7ef06de1b798c9fd81b1269e33cc113a69423ecde36fa4da7285b/hapic-0.36.tar.gz" } ], "0.37": [ { "comment_text": "", "digests": { "md5": "55e214136be461af348d3c9fac3bc624", "sha256": "0236c67e6aba65bfda5c0cd09aa80815d03215148e5e558fb0a20c3f125c36cc" }, "downloads": -1, "filename": "hapic-0.37.tar.gz", "has_sig": false, "md5_digest": "55e214136be461af348d3c9fac3bc624", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 576468, "upload_time": "2018-05-14T15:54:08", "url": "https://files.pythonhosted.org/packages/57/53/a298aa595174ee4b96309131715c46ac60895cdcad9cf9ed70526ce57860/hapic-0.37.tar.gz" } ], "0.38": [ { "comment_text": "", "digests": { "md5": "0d9d3aa99299e854764c9364310e855a", "sha256": "69085d6789b86c2c5a1a4d7564f75755553eccdc5916319c7d6948f927ae77fb" }, "downloads": -1, "filename": "hapic-0.38.tar.gz", "has_sig": false, "md5_digest": "0d9d3aa99299e854764c9364310e855a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 580030, "upload_time": "2018-05-15T09:08:51", "url": "https://files.pythonhosted.org/packages/4c/a7/02ace07adf0b5555188880998905242d0a781843ef5318663489b024fdad/hapic-0.38.tar.gz" } ], "0.39": [ { "comment_text": "", "digests": { "md5": "765501ab6904fb39b1ac080dd2a8b5c0", "sha256": "18c0b448329366146f7666ff6cbecc33525c92a4630327b523a65390df16e33b" }, "downloads": -1, "filename": "hapic-0.39.tar.gz", "has_sig": false, "md5_digest": "765501ab6904fb39b1ac080dd2a8b5c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 579995, "upload_time": "2018-05-17T08:45:47", "url": "https://files.pythonhosted.org/packages/45/01/d031799fc14c5b04576cc875817ae93bbb3ecd17307f937aaba0b45b6ee0/hapic-0.39.tar.gz" } ], "0.40": [ { "comment_text": "", "digests": { "md5": "1b63f8b036c89f27fd49815a421b5e4b", "sha256": "f7b3fbeea8f43574e618db7b7de70aadcb3051d4810e441c802adf4aaac02636" }, "downloads": -1, "filename": "hapic-0.40.tar.gz", "has_sig": false, "md5_digest": "1b63f8b036c89f27fd49815a421b5e4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 580456, "upload_time": "2018-05-24T08:25:59", "url": "https://files.pythonhosted.org/packages/27/64/09f0fd8812cf9508825ef544caa47331721cfa4d715a743a659da2272d23/hapic-0.40.tar.gz" } ], "0.41": [ { "comment_text": "", "digests": { "md5": "fd050e6c68cb78601e8db42a94e585eb", "sha256": "c928a76778706c86e82b4110675852edd63fa3ae49e1b37030a5fe2c15f70365" }, "downloads": -1, "filename": "hapic-0.41.tar.gz", "has_sig": false, "md5_digest": "fd050e6c68cb78601e8db42a94e585eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 581020, "upload_time": "2018-05-24T14:21:35", "url": "https://files.pythonhosted.org/packages/f3/da/536b99200df40f74ad6dd0bc696402960ad87b62a42a742ac29fcb333f74/hapic-0.41.tar.gz" } ], "0.42": [ { "comment_text": "", "digests": { "md5": "b5d910f8a7d331e2c0b68f9bd9d0843d", "sha256": "44da08cc89cf865ac37d265820b081ee262aa1ef57d8e2e9b1b951fe07c6c4b6" }, "downloads": -1, "filename": "hapic-0.42.tar.gz", "has_sig": false, "md5_digest": "b5d910f8a7d331e2c0b68f9bd9d0843d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 581336, "upload_time": "2018-06-01T13:47:53", "url": "https://files.pythonhosted.org/packages/3c/48/d8ed62ac9d41cba09f20de340e06109c8ab394a892c7420b5dc466800d24/hapic-0.42.tar.gz" } ], "0.43": [ { "comment_text": "", "digests": { "md5": "b45812976cd19ee3056d773735170c34", "sha256": "b03b92a89bbd43a40e5afb5250b6a80b717df3c9fe33a31b848406ee4bcc107d" }, "downloads": -1, "filename": "hapic-0.43.tar.gz", "has_sig": false, "md5_digest": "b45812976cd19ee3056d773735170c34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 582907, "upload_time": "2018-07-04T06:33:10", "url": "https://files.pythonhosted.org/packages/f3/f4/7d65c2275f4ebafe62a5ead43422016698382f93ecb1c331daed7334977c/hapic-0.43.tar.gz" } ], "0.44": [ { "comment_text": "", "digests": { "md5": "d9b457008c2ff3c25e308f445c2bbb79", "sha256": "4d48031c9b1ab2af25b29562d0dfa8ed4fe0506df48e3ab89991caf7dff718e9" }, "downloads": -1, "filename": "hapic-0.44.tar.gz", "has_sig": false, "md5_digest": "d9b457008c2ff3c25e308f445c2bbb79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583680, "upload_time": "2018-07-04T09:27:31", "url": "https://files.pythonhosted.org/packages/0b/a6/3851b5a6ffce7ada69e2497b3bd0ad66b7d326229eec6576bd4cd4723ec2/hapic-0.44.tar.gz" } ], "0.45": [ { "comment_text": "", "digests": { "md5": "e7b89ce03bbdad0d226f56e3c471fd59", "sha256": "059728ed105d823bbb403844a5a771fa1f28adefc2110368e289e43651b469c9" }, "downloads": -1, "filename": "hapic-0.45.tar.gz", "has_sig": false, "md5_digest": "e7b89ce03bbdad0d226f56e3c471fd59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583689, "upload_time": "2018-07-04T09:33:54", "url": "https://files.pythonhosted.org/packages/77/49/588707f932fd91d531e000bc28e3a3e3ae6c71fc2ec854d69c29cf7c1e48/hapic-0.45.tar.gz" } ], "0.46": [ { "comment_text": "", "digests": { "md5": "a611b59157981034cd64507fa190d8e5", "sha256": "62b46de230ff807f7f90eb06d880e772b53c9cdf764568a07ee8e982e3ac3dd5" }, "downloads": -1, "filename": "hapic-0.46.tar.gz", "has_sig": false, "md5_digest": "a611b59157981034cd64507fa190d8e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583686, "upload_time": "2018-07-04T09:57:38", "url": "https://files.pythonhosted.org/packages/f0/e0/28da701bcd916a1abde3f1359b3cde88ecb986a01bd28c1512bfe2deaef9/hapic-0.46.tar.gz" } ], "0.47": [ { "comment_text": "", "digests": { "md5": "4f6964a4c839841d8c3fc12d85f714ea", "sha256": "f1c50c7998df5cf4619a9a06a0871d470a6c7bae0db8d9c60fd2674212b3b5d6" }, "downloads": -1, "filename": "hapic-0.47.tar.gz", "has_sig": false, "md5_digest": "4f6964a4c839841d8c3fc12d85f714ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583291, "upload_time": "2018-07-09T18:15:04", "url": "https://files.pythonhosted.org/packages/87/58/8a63e815b44dd125fddffa0e069a294fcc3320d26b43153acd6ab8577c94/hapic-0.47.tar.gz" } ], "0.48": [ { "comment_text": "", "digests": { "md5": "f80e46c18cde32e352536c5b5b3278bf", "sha256": "cfccc141963271300e0e94bf63cac4bc6e5107f5b3d103e4bd0bf949cf477414" }, "downloads": -1, "filename": "hapic-0.48.tar.gz", "has_sig": false, "md5_digest": "f80e46c18cde32e352536c5b5b3278bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583319, "upload_time": "2018-07-10T16:45:26", "url": "https://files.pythonhosted.org/packages/8a/0b/fdc8dd395ef8a947d447493db4de0cbdc4bf2432b7d24dd5170e59d2610f/hapic-0.48.tar.gz" } ], "0.49": [ { "comment_text": "", "digests": { "md5": "1c9c679d55050e825706b0ea314cb9aa", "sha256": "371db58205861d53c410880ac7109c035690400d90957408aa9c3c39a572d891" }, "downloads": -1, "filename": "hapic-0.49.tar.gz", "has_sig": false, "md5_digest": "1c9c679d55050e825706b0ea314cb9aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 587935, "upload_time": "2018-08-03T14:21:54", "url": "https://files.pythonhosted.org/packages/5a/e3/6194871c7746af9885d9728e379a83985ee897466fdef35f7ce2cb7dc76d/hapic-0.49.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "96c491c4b7f4591835cfccf6b2c1e58d", "sha256": "21ddfdb2885389b083f6532b3e7259ff68f7daf120e9a2fcb761e27ac7d7fe04" }, "downloads": -1, "filename": "hapic-0.5.tar.gz", "has_sig": false, "md5_digest": "96c491c4b7f4591835cfccf6b2c1e58d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14240, "upload_time": "2017-11-10T09:37:01", "url": "https://files.pythonhosted.org/packages/33/e0/e14dd5573855459dbbb569d891a8ea7fb65424826256e1e2c3c96b613d7a/hapic-0.5.tar.gz" } ], "0.50": [ { "comment_text": "", "digests": { "md5": "e0d6f4e70d69def67561d5a5f6c37924", "sha256": "295b412d66914ae2118b6a823145a55fc8a3de2eb04e6aaa074aae19373c3aa8" }, "downloads": -1, "filename": "hapic-0.50.tar.gz", "has_sig": false, "md5_digest": "e0d6f4e70d69def67561d5a5f6c37924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 587936, "upload_time": "2018-09-05T09:37:09", "url": "https://files.pythonhosted.org/packages/c5/76/3c01fc3d6f9f1931642e0bc88dd12c6954fd83611e368b2622fc358f78ef/hapic-0.50.tar.gz" } ], "0.51": [ { "comment_text": "", "digests": { "md5": "49497360bda45905cab953534f63bd20", "sha256": "834bfe6adab72741f6159a8489612fe64a6ea687c872c7832541682d95fa40c0" }, "downloads": -1, "filename": "hapic-0.51.tar.gz", "has_sig": false, "md5_digest": "49497360bda45905cab953534f63bd20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 589063, "upload_time": "2018-09-14T12:20:02", "url": "https://files.pythonhosted.org/packages/11/35/aaeb6fb53eb4561afeca283d5a666eb8240ef707236456a9eebd9b537d2b/hapic-0.51.tar.gz" } ], "0.52": [ { "comment_text": "", "digests": { "md5": "79bf54940cf18eb511a6beaffada77e7", "sha256": "a0b6ad2f7585590813e032c614c94220db5c09621cacff6d9c9421dc70fb3a28" }, "downloads": -1, "filename": "hapic-0.52.tar.gz", "has_sig": false, "md5_digest": "79bf54940cf18eb511a6beaffada77e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590090, "upload_time": "2018-09-14T12:28:15", "url": "https://files.pythonhosted.org/packages/27/cc/904fd7cdc13850fd7d1d6aeb1511bc3bb4e0b167b59e506311a8eea734c2/hapic-0.52.tar.gz" } ], "0.53": [ { "comment_text": "", "digests": { "md5": "13eb1e2e91017cdde6f2f59f254cbc57", "sha256": "9a8e841d84a3eba47d3a7a5aa6e8b4bb13c4ef21b367d55ffee56160e17346e3" }, "downloads": -1, "filename": "hapic-0.53.tar.gz", "has_sig": false, "md5_digest": "13eb1e2e91017cdde6f2f59f254cbc57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590554, "upload_time": "2018-09-28T11:58:42", "url": "https://files.pythonhosted.org/packages/cb/91/2a82229c834c36d765bb5d13b1fa254f3a8ab59c662ed4f4528be5999db0/hapic-0.53.tar.gz" } ], "0.54": [ { "comment_text": "", "digests": { "md5": "15d7c9564f0421bafab23112c3f9983b", "sha256": "eb14441c90cafe3b5461adc7f14fcd5e6237efbfb844ed751c1d7ffd87f47e99" }, "downloads": -1, "filename": "hapic-0.54.tar.gz", "has_sig": false, "md5_digest": "15d7c9564f0421bafab23112c3f9983b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590739, "upload_time": "2018-10-10T08:39:40", "url": "https://files.pythonhosted.org/packages/47/31/5642668891778cbbb7c8ed044e56d360e8ec0728b7a6b5177d2e86cce99e/hapic-0.54.tar.gz" } ], "0.55": [ { "comment_text": "", "digests": { "md5": "bd9bedf48601fc6cd907d74f0c2b46e8", "sha256": "fd116d7ef764376cf3924c813573cd65d2c19aa349551324eb2e63fb91c40355" }, "downloads": -1, "filename": "hapic-0.55.tar.gz", "has_sig": false, "md5_digest": "bd9bedf48601fc6cd907d74f0c2b46e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 589605, "upload_time": "2018-10-24T07:53:50", "url": "https://files.pythonhosted.org/packages/0c/f6/6f9a934919330d71045de813fbdd747b267806e0bdbc7bbf44046ac4f8a0/hapic-0.55.tar.gz" } ], "0.56": [ { "comment_text": "", "digests": { "md5": "d54dcae20a19c311e27aa96751a30872", "sha256": "7fa9226e7f70e61252bed90b2af24e962e0360acae35502b00a5d6632e98dd33" }, "downloads": -1, "filename": "hapic-0.56.tar.gz", "has_sig": false, "md5_digest": "d54dcae20a19c311e27aa96751a30872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590408, "upload_time": "2018-10-24T08:09:06", "url": "https://files.pythonhosted.org/packages/1a/e3/d842afb54b00c311881361d12cdafb88ab4d2a910887f67bfde8723fe612/hapic-0.56.tar.gz" } ], "0.57": [ { "comment_text": "", "digests": { "md5": "53b5ba5877dad3755a81ca5dc4b37e60", "sha256": "1d9577ed01f9cc481efb760a989c55b08d34dea42af80d84e210dae32d7026b5" }, "downloads": -1, "filename": "hapic-0.57.tar.gz", "has_sig": false, "md5_digest": "53b5ba5877dad3755a81ca5dc4b37e60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 591695, "upload_time": "2018-10-30T14:50:13", "url": "https://files.pythonhosted.org/packages/14/55/5ad24a13640456800910eb173971c71a5d8b79637e862afdf51c88c19491/hapic-0.57.tar.gz" } ], "0.58": [ { "comment_text": "", "digests": { "md5": "cf413f29a74345c281697e143cea29be", "sha256": "f9393c0e5886a851cbe1d4a1eba7891794fa2179a1fe0dbfcc973d6f6c143631" }, "downloads": -1, "filename": "hapic-0.58.tar.gz", "has_sig": false, "md5_digest": "cf413f29a74345c281697e143cea29be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590605, "upload_time": "2018-11-05T15:14:03", "url": "https://files.pythonhosted.org/packages/68/b5/1abf312ff876dbc04ff70804c8b586ec638ab71d75307100306ad50d4fbb/hapic-0.58.tar.gz" } ], "0.59": [ { "comment_text": "", "digests": { "md5": "559ff912e97f8514a232887cfdd890e9", "sha256": "5db2a8a6366199b7d997cef7b2bb12374cd9167ad98c9c7c60cbf7f21c771edd" }, "downloads": -1, "filename": "hapic-0.59.tar.gz", "has_sig": false, "md5_digest": "559ff912e97f8514a232887cfdd890e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590714, "upload_time": "2018-11-05T15:18:38", "url": "https://files.pythonhosted.org/packages/62/b7/1d093cd8790f5b1649e4ae895debbe62dd550fe47406a4046aed65954c34/hapic-0.59.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "56a3cf7071d36f137538c486efd90043", "sha256": "8a1ad857c8fca26888bab532982bcc8066534a67ecd0bfd961507efa7457f274" }, "downloads": -1, "filename": "hapic-0.6.tar.gz", "has_sig": false, "md5_digest": "56a3cf7071d36f137538c486efd90043", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14271, "upload_time": "2017-11-10T10:18:56", "url": "https://files.pythonhosted.org/packages/72/44/c9c27d581dbdc26afd85636adab89e7ece8b9fa11255df434321db14b186/hapic-0.6.tar.gz" } ], "0.60": [ { "comment_text": "", "digests": { "md5": "ccf50e176a29133d6b5186314daceb1e", "sha256": "858db86ca0485f6fc46a55aa73e050366b0667b1591a8ab28362f0e252347c22" }, "downloads": -1, "filename": "hapic-0.60.tar.gz", "has_sig": false, "md5_digest": "ccf50e176a29133d6b5186314daceb1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 597729, "upload_time": "2018-11-30T08:50:39", "url": "https://files.pythonhosted.org/packages/68/f7/ccb0c17e636944fc398c64da2fbf897b3f4e98ffd6c06f0deafba6309015/hapic-0.60.tar.gz" } ], "0.61": [ { "comment_text": "", "digests": { "md5": "0b8f7421ee2c7193ff665faef73d4e97", "sha256": "31ddb33bfd79c6ce22adbed6eb1d3eee497380336f130ff3a811cee7e1b804cc" }, "downloads": -1, "filename": "hapic-0.61.tar.gz", "has_sig": false, "md5_digest": "0b8f7421ee2c7193ff665faef73d4e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 597729, "upload_time": "2018-11-30T09:00:56", "url": "https://files.pythonhosted.org/packages/d6/f8/3c3fd9a2ff964743121785293dd80919f30247c5609d015bebfcb0405577/hapic-0.61.tar.gz" } ], "0.62": [ { "comment_text": "", "digests": { "md5": "45e0b9a8d81bed9259562ddf6053eae9", "sha256": "c65bc74859726b87bb90a80fa77f9aebb234bd107e789d880f45d867e2c6c9af" }, "downloads": -1, "filename": "hapic-0.62.tar.gz", "has_sig": false, "md5_digest": "45e0b9a8d81bed9259562ddf6053eae9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 597743, "upload_time": "2018-11-30T09:05:27", "url": "https://files.pythonhosted.org/packages/73/dc/51192c6fba11bab1a70a12801a5516b0f6858169ba0a86e7e7fe68a5b830/hapic-0.62.tar.gz" } ], "0.63": [ { "comment_text": "", "digests": { "md5": "76e4e91a6b938c653be2f5d7935408f4", "sha256": "30c13ea0c4b24e797a6c07ffe5d0ab21f37eed354e22d28dea58e1a8c88686e6" }, "downloads": -1, "filename": "hapic-0.63.tar.gz", "has_sig": false, "md5_digest": "76e4e91a6b938c653be2f5d7935408f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 599866, "upload_time": "2018-12-04T10:01:17", "url": "https://files.pythonhosted.org/packages/3d/f7/5752866a5e34c2b974a227b38d156bc0f7a87aaeddcf49f95d936f8df74d/hapic-0.63.tar.gz" } ], "0.64": [ { "comment_text": "", "digests": { "md5": "e29698229b3279455bc990875622cbf2", "sha256": "354986bc7b80d5cc6a7384c5802cb37aff9d6ca584e15899ecee7dd3e1950a58" }, "downloads": -1, "filename": "hapic-0.64.tar.gz", "has_sig": false, "md5_digest": "e29698229b3279455bc990875622cbf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 599459, "upload_time": "2018-12-14T13:38:44", "url": "https://files.pythonhosted.org/packages/1c/08/15e29424316adeb1dbae2d22dddd7f835fcdc9195ae93124ef2dc4dbfa61/hapic-0.64.tar.gz" } ], "0.65": [ { "comment_text": "", "digests": { "md5": "2eaf24580349f05ad0c469f3e46c69db", "sha256": "0d738e4d632705d7c86b34cec4ef8a5e2ab53a77b5c429c35d22fde4826d798b" }, "downloads": -1, "filename": "hapic-0.65.tar.gz", "has_sig": false, "md5_digest": "2eaf24580349f05ad0c469f3e46c69db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 601428, "upload_time": "2018-12-19T10:42:57", "url": "https://files.pythonhosted.org/packages/dd/50/a8a259f04f30903715608901bbff8150510066eed98cb405b3d142bb249d/hapic-0.65.tar.gz" } ], "0.66": [ { "comment_text": "", "digests": { "md5": "45886151d4796e1bb2174023998e0fea", "sha256": "4b7b2e01b35ca568b247055c93a17adeca965b0ac5aedb3dfbb140880c25054e" }, "downloads": -1, "filename": "hapic-0.66.tar.gz", "has_sig": false, "md5_digest": "45886151d4796e1bb2174023998e0fea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 601425, "upload_time": "2018-12-19T10:54:32", "url": "https://files.pythonhosted.org/packages/a0/2f/f5a9d95e5af2976721aa3bf1c1e647662ef41b72408d71f17d6858f2a82b/hapic-0.66.tar.gz" } ], "0.67": [ { "comment_text": "", "digests": { "md5": "b7c4f80f5ad603ccdd3fcca60c782374", "sha256": "c05950e4e02e6ca4e60c5d40ce2d4f35aaab6fe12aa3ce3a014eab36a62baa6b" }, "downloads": -1, "filename": "hapic-0.67.tar.gz", "has_sig": false, "md5_digest": "b7c4f80f5ad603ccdd3fcca60c782374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602314, "upload_time": "2018-12-20T15:38:32", "url": "https://files.pythonhosted.org/packages/c4/56/f4101d21447ddbcd51c423c43e8ded2dbc9d8dcbe2e8e00af6feefe7254d/hapic-0.67.tar.gz" } ], "0.67a1": [ { "comment_text": "", "digests": { "md5": "5489da5100beecc47c663bb187089238", "sha256": "bbe171568a6524f08228b5e5899520a5c5c6be871583cf832f342d94dd6c41e8" }, "downloads": -1, "filename": "hapic-0.67a1-py3-none-any.whl", "has_sig": false, "md5_digest": "5489da5100beecc47c663bb187089238", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 621930, "upload_time": "2018-12-20T14:13:57", "url": "https://files.pythonhosted.org/packages/71/ca/382c9afab641cdb68ba51280145c46a388c4e38466122159d97186c2346b/hapic-0.67a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "171a662c05d874a965d27a961a228410", "sha256": "647a9b638a8894ec634a8441c3a184acb10e96c7744856fb579849e3429f2515" }, "downloads": -1, "filename": "hapic-0.67a1.tar.gz", "has_sig": false, "md5_digest": "171a662c05d874a965d27a961a228410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 601911, "upload_time": "2018-12-20T14:14:05", "url": "https://files.pythonhosted.org/packages/8f/f8/c8889f61d28189488d3adbb82ecca36aa33efe77dacbc20cfd39b8e30442/hapic-0.67a1.tar.gz" } ], "0.68": [ { "comment_text": "", "digests": { "md5": "53ac02ec926b39b536f0aeaaea6fe95d", "sha256": "76d486bac54fb84edf5426cd36cfc150bfb8291dbd81b5c2d042445fd2df854f" }, "downloads": -1, "filename": "hapic-0.68.tar.gz", "has_sig": false, "md5_digest": "53ac02ec926b39b536f0aeaaea6fe95d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602723, "upload_time": "2018-12-21T11:26:00", "url": "https://files.pythonhosted.org/packages/1c/f8/ed7805d08a2af3d0ea9f5866939b1593564f36120c4cb427f1004eb9906f/hapic-0.68.tar.gz" } ], "0.69": [ { "comment_text": "", "digests": { "md5": "f411794c54abe886a455bbf0e4ae3636", "sha256": "bd6ba4c64335028af84c14987e6061c5d100ae65b9d986da9bb451f2246705f9" }, "downloads": -1, "filename": "hapic-0.69.tar.gz", "has_sig": false, "md5_digest": "f411794c54abe886a455bbf0e4ae3636", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 602743, "upload_time": "2019-01-11T14:02:17", "url": "https://files.pythonhosted.org/packages/44/7d/d06794b0a707fe70412230a22ef5e5afc897ea09c197c5b00f0cd6245a83/hapic-0.69.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "e20f7848856deab70e8b0eedb11fce6a", "sha256": "ceb888c6cbf2e9d426d93f560c827ea20ea9dfdd5a569c6b825b63c434b3af04" }, "downloads": -1, "filename": "hapic-0.7.tar.gz", "has_sig": false, "md5_digest": "e20f7848856deab70e8b0eedb11fce6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14270, "upload_time": "2017-11-10T10:19:51", "url": "https://files.pythonhosted.org/packages/bb/37/df21dcac3ef0ef6e1dce27b5d115af9120cd062d03f42b5562eca2150564/hapic-0.7.tar.gz" } ], "0.70": [ { "comment_text": "", "digests": { "md5": "73aaa325a3df905bc80d50839c88c48f", "sha256": "fe34631ba7f7eb857da4ee71c8740f918711021ae339ecf07ce82a9e9f258e36" }, "downloads": -1, "filename": "hapic-0.70.tar.gz", "has_sig": false, "md5_digest": "73aaa325a3df905bc80d50839c88c48f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 603062, "upload_time": "2019-01-11T15:30:27", "url": "https://files.pythonhosted.org/packages/aa/a4/056b233cb63ae355ebb8b1b268492a7fa35493d867b0063d316a1b9a1315/hapic-0.70.tar.gz" } ], "0.71": [ { "comment_text": "", "digests": { "md5": "010ea8f9a872fa61d21965d20a6f9e01", "sha256": "63a40c5144e971e497a0c05a73544f64b13c4856190d9f65b0dbcb0fcf2faf66" }, "downloads": -1, "filename": "hapic-0.71.tar.gz", "has_sig": false, "md5_digest": "010ea8f9a872fa61d21965d20a6f9e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 604428, "upload_time": "2019-01-21T10:02:28", "url": "https://files.pythonhosted.org/packages/33/16/a5072008ffe768bd26ae0d610eadf5a733f5c12db7c68a5e74e1db175755/hapic-0.71.tar.gz" } ], "0.72": [ { "comment_text": "", "digests": { "md5": "2b290e6868cdd6ada87dd6fd16754103", "sha256": "601bf862dd31b7682d55788a99ceafeacc5f80e7a7148c2021c7767277bf4a30" }, "downloads": -1, "filename": "hapic-0.72.tar.gz", "has_sig": false, "md5_digest": "2b290e6868cdd6ada87dd6fd16754103", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 604465, "upload_time": "2019-01-28T08:36:54", "url": "https://files.pythonhosted.org/packages/9a/fb/a6501c27825eb62b58d8f8cfd2ff8e478170a6d1243696892aec70ef6523/hapic-0.72.tar.gz" } ], "0.73": [ { "comment_text": "", "digests": { "md5": "7ac830b856ddf7c1dbc8437cdf0083fd", "sha256": "b1c0a9d1b3fffc75e24117455ed9720178b43709d3f2ac793c95d0ffebffa3fe" }, "downloads": -1, "filename": "hapic-0.73.tar.gz", "has_sig": false, "md5_digest": "7ac830b856ddf7c1dbc8437cdf0083fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 604705, "upload_time": "2019-03-21T12:16:49", "url": "https://files.pythonhosted.org/packages/44/6d/feb1ad900580fae20eac31400e47a2867f1486464151f7a3a57b23b937a7/hapic-0.73.tar.gz" } ], "0.74": [ { "comment_text": "", "digests": { "md5": "ba27b4e7fa519a9a398088a98c8178f0", "sha256": "4f7c153283ddd7d1748a4f9aa3f8fcf9779f313a3151df43e4accf97d1eef32c" }, "downloads": -1, "filename": "hapic-0.74.tar.gz", "has_sig": false, "md5_digest": "ba27b4e7fa519a9a398088a98c8178f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606019, "upload_time": "2019-03-27T10:45:33", "url": "https://files.pythonhosted.org/packages/f9/f4/c36477ef2155ee5841f4ef5a563b5f8c577199e19efa1b82ed67cdb2caf3/hapic-0.74.tar.gz" } ], "0.75": [ { "comment_text": "", "digests": { "md5": "c0be02791d6c63f624e1b81010a2c774", "sha256": "5cbf29e5b6bc10a5878a642480c4db6958d42ed08dc478e8636e8a6d39e0188c" }, "downloads": -1, "filename": "hapic-0.75.tar.gz", "has_sig": false, "md5_digest": "c0be02791d6c63f624e1b81010a2c774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606961, "upload_time": "2019-04-25T14:27:11", "url": "https://files.pythonhosted.org/packages/c2/d9/9e14be097991771ea0940f71b5c6ed746c5b53f2a0f70e7fea2cef898d4a/hapic-0.75.tar.gz" } ], "0.76": [ { "comment_text": "", "digests": { "md5": "7986027f2dc657bf1a8c86d6c9454eef", "sha256": "f9b6e62337fa1e5667336e05788741ae687b1710514e25da24fcdb8054a1ebbc" }, "downloads": -1, "filename": "hapic-0.76.tar.gz", "has_sig": false, "md5_digest": "7986027f2dc657bf1a8c86d6c9454eef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 607350, "upload_time": "2019-06-07T07:32:34", "url": "https://files.pythonhosted.org/packages/8f/ea/4adf025888456c86db485b8b3506646a3ccb952652ad69e12e7134640eb0/hapic-0.76.tar.gz" } ], "0.77": [ { "comment_text": "", "digests": { "md5": "af194ef4b28fad96a77a3e0dbd2ad730", "sha256": "ed3d1a8b40f8a2a6995d1f6be66d009bd5b357e2e4b980e8ec366f7ff367e58b" }, "downloads": -1, "filename": "hapic-0.77.tar.gz", "has_sig": false, "md5_digest": "af194ef4b28fad96a77a3e0dbd2ad730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 607341, "upload_time": "2019-06-07T07:36:10", "url": "https://files.pythonhosted.org/packages/83/99/9ca2437c67a461fa039a21bd34dc742863db406fedc175e9ab8487677e74/hapic-0.77.tar.gz" } ], "0.78": [ { "comment_text": "", "digests": { "md5": "b6ca4fe253af74f15c0dda2e155c3b67", "sha256": "fea3813a6ec602b3990ce3db42d87ad3e341f525409f392245d993effc101796" }, "downloads": -1, "filename": "hapic-0.78.tar.gz", "has_sig": false, "md5_digest": "b6ca4fe253af74f15c0dda2e155c3b67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606140, "upload_time": "2019-07-25T11:53:44", "url": "https://files.pythonhosted.org/packages/8a/21/5361d07fcd1c821cb78991ef6943c658f53e2ff6f06ba22106e2fdd51f94/hapic-0.78.tar.gz" } ], "0.79": [ { "comment_text": "", "digests": { "md5": "2250b40abf3883329e4679fc23e7961e", "sha256": "873071e30538dd0a9adba529852e3c77b442766c8344584d3447e2686dd59090" }, "downloads": -1, "filename": "hapic-0.79.tar.gz", "has_sig": false, "md5_digest": "2250b40abf3883329e4679fc23e7961e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606536, "upload_time": "2019-07-26T07:09:28", "url": "https://files.pythonhosted.org/packages/b1/a2/30cf88ca868321d5c47d4fced26f2a00f59b3bf5de82da9bcc9562e78cf1/hapic-0.79.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "e90677dea8bdc60761ed44c4eaa8f439", "sha256": "8b97f9d864918f4b345c87a43c81291506ab656463e95cd825ee976892d0533f" }, "downloads": -1, "filename": "hapic-0.8.tar.gz", "has_sig": false, "md5_digest": "e90677dea8bdc60761ed44c4eaa8f439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14299, "upload_time": "2017-11-10T10:51:07", "url": "https://files.pythonhosted.org/packages/d0/02/56450435d3d812a0232a37e70385b626561eaae5c7dd9febf258bca8d5f6/hapic-0.8.tar.gz" } ], "0.80": [ { "comment_text": "", "digests": { "md5": "fad0ee0c2c960e6992f1ad4ad94eb120", "sha256": "d24c6ace00fe0398dad87d4e8aea1a50cc273f623c710dd8880a954bcd452c00" }, "downloads": -1, "filename": "hapic-0.80.tar.gz", "has_sig": false, "md5_digest": "fad0ee0c2c960e6992f1ad4ad94eb120", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606782, "upload_time": "2019-07-26T09:00:38", "url": "https://files.pythonhosted.org/packages/42/8c/d55f4c67a09949933f0a37ba9f7b7bba488b62b459b629427121d040eb31/hapic-0.80.tar.gz" } ], "0.81": [ { "comment_text": "", "digests": { "md5": "2a3d1a97190120ab721f21b5d4e081ab", "sha256": "78b95a2b2427baa16b833b4a4a6a544e9ed8ae0684ed52558fa701a5a82f4fb6" }, "downloads": -1, "filename": "hapic-0.81.tar.gz", "has_sig": false, "md5_digest": "2a3d1a97190120ab721f21b5d4e081ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606853, "upload_time": "2019-07-29T12:30:50", "url": "https://files.pythonhosted.org/packages/0f/68/1ff10c545c430b1abb93e39c75b0d94efce34d0540ad1067828b38d7c51d/hapic-0.81.tar.gz" } ], "0.82": [ { "comment_text": "", "digests": { "md5": "ba801b53cf2a968834f998dee7bc2d09", "sha256": "b809d4610fea28e4c7e32aa7f056bc69c8debb95b9a32debbd1ec67b68a2447d" }, "downloads": -1, "filename": "hapic-0.82.tar.gz", "has_sig": false, "md5_digest": "ba801b53cf2a968834f998dee7bc2d09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 609426, "upload_time": "2019-09-18T10:07:19", "url": "https://files.pythonhosted.org/packages/e2/09/9eabf6bae9aee8e16bfc4eb3971a1d4c90d4884ce5d9893c4d6db5b03a6e/hapic-0.82.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "f60b3d4f40cfa8edb7fba75450daa915", "sha256": "3d2967bc34ba0141101ce55b953e708b40cda322485fd0fb2a3b1928ccc26f04" }, "downloads": -1, "filename": "hapic-0.9.tar.gz", "has_sig": false, "md5_digest": "f60b3d4f40cfa8edb7fba75450daa915", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15158, "upload_time": "2017-11-13T15:33:09", "url": "https://files.pythonhosted.org/packages/6e/96/9a8847e0dea1d9582dc89c864d50843d8f30ede04a721b782454509294ac/hapic-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ba801b53cf2a968834f998dee7bc2d09", "sha256": "b809d4610fea28e4c7e32aa7f056bc69c8debb95b9a32debbd1ec67b68a2447d" }, "downloads": -1, "filename": "hapic-0.82.tar.gz", "has_sig": false, "md5_digest": "ba801b53cf2a968834f998dee7bc2d09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 609426, "upload_time": "2019-09-18T10:07:19", "url": "https://files.pythonhosted.org/packages/e2/09/9eabf6bae9aee8e16bfc4eb3971a1d4c90d4884ce5d9893c4d6db5b03a6e/hapic-0.82.tar.gz" } ] }