{
"info": {
"author": "Rodrigo Seiji Piubeli Hirao",
"author_email": "rodrigo.seiji.hirao@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Software Development :: Libraries :: Application Frameworks"
],
"description": "apys - v3.1\n===========\n\nWellcome to apys! A simple backend restful framework!\n\nLANGUAGE\n--------\n\n`Python >= 3.4.2 `__\n\nLIBRARIES\n---------\n\n- `aiohttp `__ - http client/server\n for asyncio\n\n--------------\n\nINSTALLATION\n------------\n\n1. Install python 3\n\n - Windows - `Link `__\n - Ubuntu - ``sudo apt-get install python``\n - Fedora - ``sudo yum install python``\n - Arch - ``sudo pacman -S python``\n\n2. Install PIP - Python libraries manager\n\n - Windows -\n `Link `__\n - Ubuntu - ``sudo apt-get install pip``\n - Fedora - ``sudo yum install pip``\n - Arch - ``sudo pacman -S pip``\n\n3. Install this framework using PIP\n\n - ``pip install apys``\n\n--------------\n\nINITIALIZING PROJECT\n--------------------\n\n::\n\n $ apys --init\n\n--------------\n\nUSING\n-----\n\nDIRECTORIES\n~~~~~~~~~~~\n\n::\n\n /config - json configuration files\n /endpoints - backend endpoints\n /filters - script files to execute before the endpoint \n /utils - script files to execute when server starts\n\nCONFIG\n~~~~~~\n\nHere are the configuration files used in the app. They will be send to\nthe endpoint via param ``api.config``\n\nThere are 3 special file names: \\* ``prod.json`` - The production\nconfiguration file \\* ``dev.json`` - The development configuration file\n\\* ``local.json`` - The local configuration file (ignore in git)\n\nYou can also force it to use a configuration with the ``--config`` or\n``-c`` option:\n\n::\n\n $ apys -s --config=my_config\n\n..\n\n Note: If no config file is chosen, they will work as following: the\n api tries to load ``local.json``, then ``dev.json``, then\n ``prod.json``\n\nThe current config special properties are the following:\n\n.. code:: json\n\n {\n \"log\": {\n \"file\": {\n \"debug\": \"string or false //default=false. debug log file, false for sys.stdout\", \n \"error\": \"string or false //default=false. debug error file, false for sys.stderr\",\n \"(...)\": \"string or false //optional. you can specify any other log file, but you will have to tell the `api.debug` function to use it\"\n },\n \"color\": \"bool //default=true\"\n },\n \"server\": {\n \"port\": \"int //default=8080\",\n \"cors\": \"string or false //default=false\"\n },\n \"utils\": [\"string //default=[]. list of utils in order to load\"],\n \"(...)\": \"(...) //you can add any other key and access it via `api.config['my_key']`\"\n }\n\nYou can also use environment variables like ``$PORT`` (for ``PORT`` env\nvar), and set a default value if no env var is found like ``$PORT|8080``\nor ``$PORT|8080|int`` (if type is needed)\n\nENDPOINTS\n~~~~~~~~~\n\nThis will be your main dev dir\n\nAll files added here will be an endpoint automatically\n\ni.e.: the file ``endpoints/hello/world.py`` will generate an endpoint\n``/hello/world``\n\nThe file\u2019s code will be the following:\n\n.. code:: python\n\n\n filters = [\n 'filter1',\n ['filter2', 'filter3']\n ]\n\n def method(req, api):\n pass # process\n\nWhere ``method`` is the http request type: \\* post \\* get \\* put \\*\ndelete \\* head \\* options \\* default - executed when a request is made\nfor any of the above, but it is not implemented\n\n``process`` is what you wan the endpoint to do (your code)\n\n``filter1``, ``filter2`` and ``filter3`` are the *filters* scripts\n(without ``.py``) executed before the endpoint is called\n\n If you put your filter inside an array the error they return will be\n returned only if ALL of them return some error\n\n``req`` is *aiohttp*\\ \u2019s request,\n`documentation `__\n\n ``req``\\ \u2019s property ``body`` only works for json works as of now\n\n``api`` is the object that contains all api functionalities: \\* config -\nConfiguration dictionary used in the actual scope \\* debug - function to\nlog messages \\* error - function to log errors\n\nAlso ``api.web`` contains ``aiohttp.web``\n\nFILTERS\n~~~~~~~\n\nCode that will that will be called before every request.\n\n``method``\\ (req, api) - ``method`` being the type of http request\n\n::\n\n The function that will be executed before every request to the function with the same name on the endpoint.\n Any result should be stored on the variable `req`, because it is the only local variable on the request.\n\nalways(req, api)\n\n::\n\n The function that will be executed before any request.\n Note: this function will be executed before the other filters.\n\nUTILS\n~~~~~\n\nPython files special functionality.\n\nIt needs to be inside a dir and has some special files\n\n**init**.py\n-----------\n\nThis file contains a function that will be called before initializing\nthe api.\n\n.. code:: python\n\n def init(api):\n pass\n\n::\n\n The function that will be executed on server startup\n Only one time.\n\n..\n\n Useful for setting some api constants\n\n**cli**.py\n----------\n\nThis file contains a function that will add a commandline argument.\n\nThe util flags will be ``--[util_name]`` and\n``--[util_name_first_char]``\n\n util name is test, so flags should be ``--test`` and ``-t``\n\n.. code:: python\n\n class CLI:\n def __init__(self, result):\n # See `parser.add_argument` doc for information on these\n self.action = 'store_true'\n self.default = False\n self.help = 'It makes everything shine'\n\n # store the result of user input\n self.result = result\n\n def start(self, api, endpoints):\n pass\n\nEXAMPLE\n-------\n\nLook at the ``demos/`` for examples:\n\n1. ``hello_world``: a simple hello world app, to learn the basics\n2. ``calculator``: a simpler app that resembles more a normal product\n3. ``log_to_file``: an example of logging in files\n4. ``user_role``: an advanced example on filters\n5. ``unit_testing``: an advanced example on adding cli arguments\n\n--------------\n\nSTARTING THE SERVER\n~~~~~~~~~~~~~~~~~~~\n\nThere are 2 ways to start the server\n\n1. Execute ``apys -s`` from terminal on your root project folder\n (Recommended)\n\n2. Call the method ``start()`` from module ``apys.server``\n\n--------------\n\nOBSERVATION\n-----------\n\nBoth the framework and this page are in development, so, subjected to\nchanges.\n\n Version previous to v0.1.0 vas called\n `pypolyback `__ and used\n python 2.\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/seijihirao/apys",
"keywords": "backend rest web service",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "apys",
"package_url": "https://pypi.org/project/apys/",
"platform": "",
"project_url": "https://pypi.org/project/apys/",
"project_urls": {
"Homepage": "https://github.com/seijihirao/apys"
},
"release_url": "https://pypi.org/project/apys/3.1.2/",
"requires_dist": [
"aiohttp",
"aiohttp-cors"
],
"requires_python": "",
"summary": "A simple back-end rest framework in python using aiohttp lib",
"version": "3.1.2"
},
"last_serial": 4931348,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "8bb05a3c62f77f245b83960d5add1460",
"sha256": "e8c03c1131161e565be61fd846487b5b1200eb022542a2121e37b2fc37cec45f"
},
"downloads": -1,
"filename": "apys-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8bb05a3c62f77f245b83960d5add1460",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7065,
"upload_time": "2016-09-23T18:09:26",
"url": "https://files.pythonhosted.org/packages/87/88/83bcb3066283ca6f1c01b7ac5553a8842578ad18a896aa6f31257f025bfb/apys-0.1.0-py3-none-any.whl"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "a3643b0ecd8106c13057d75f13ab29e2",
"sha256": "08fbc8443db95ebaf66a222a39a6d9dc759c033975335a5b528e442dae6ef924"
},
"downloads": -1,
"filename": "apys-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3643b0ecd8106c13057d75f13ab29e2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7067,
"upload_time": "2016-09-23T18:16:18",
"url": "https://files.pythonhosted.org/packages/d0/de/ed5011d7411fa1210b08e5bcd3119099e09f0c583a05e548ed2788c8afa7/apys-0.1.1-py3-none-any.whl"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "29b5cabe17ecb5419824ec6182dfbf24",
"sha256": "f76e305dd2761d6e0a23ff625d0a318b313295f47ade8079a5f9d2381ab98a20"
},
"downloads": -1,
"filename": "apys-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29b5cabe17ecb5419824ec6182dfbf24",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7067,
"upload_time": "2016-09-23T18:23:56",
"url": "https://files.pythonhosted.org/packages/19/bc/c876c0726a93242b292242b690cbcb97f9d32e8652a8be2ffee361b2ba06/apys-0.1.2-py3-none-any.whl"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "4069f268839667911a2bca9e324b6e9c",
"sha256": "3a0de2b481a1cae1ed996c8703bcadc75aa94c54a87650cc9f476b0c56657a47"
},
"downloads": -1,
"filename": "apys-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4069f268839667911a2bca9e324b6e9c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7065,
"upload_time": "2016-09-24T04:21:09",
"url": "https://files.pythonhosted.org/packages/98/1a/5d434ae03647bb9de6af3e19cec2ee071afb39f1986c19aa1cb027c9d616/apys-0.1.3-py3-none-any.whl"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "dda0a00eb29e6213e52095166ba1b955",
"sha256": "78b3cea1a634cadf195944c11e63bc7e83349d466e2c1592b262ccefae9ec117"
},
"downloads": -1,
"filename": "apys-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dda0a00eb29e6213e52095166ba1b955",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7067,
"upload_time": "2016-09-24T04:30:59",
"url": "https://files.pythonhosted.org/packages/80/f9/92ba1b4ad2ed085872aee8e0b8d16523877461c83008b4adf17b5e9aa8f5/apys-0.1.4-py3-none-any.whl"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "f86d2374649afc06b066e98810338678",
"sha256": "4df4be5b252450347d9187e71dcdd3821323fa7d8e8ca73cf49ae5e997318e57"
},
"downloads": -1,
"filename": "apys-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "f86d2374649afc06b066e98810338678",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7169,
"upload_time": "2016-09-24T04:40:51",
"url": "https://files.pythonhosted.org/packages/cf/55/922ac2f5b76f6af9ee106cce0b8036dd7d9e3c6f5878ce22d06ce94a145c/apys-0.1.5.tar.gz"
}
],
"0.1.6": [
{
"comment_text": "",
"digests": {
"md5": "770fcec55aa198117397bf4b9b2b92de",
"sha256": "4a3082dd72837aa2dc38076aa5be7fef7ff549be8f5df5427e2b515a60647dd6"
},
"downloads": -1,
"filename": "apys-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "770fcec55aa198117397bf4b9b2b92de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7140,
"upload_time": "2016-09-24T04:47:06",
"url": "https://files.pythonhosted.org/packages/c7/cc/e2aff976da3a2fdcb1455ab7111f709dfd176e9b31d051b4227b1844c62e/apys-0.1.6.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "b5f2528cc2b463b236665039fd793c04",
"sha256": "a4bd6cb6b79036ff46a4761c3c669d37c4b1e83e018eadf1b31f6426caff9415"
},
"downloads": -1,
"filename": "apys-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b5f2528cc2b463b236665039fd793c04",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10874,
"upload_time": "2016-10-03T23:07:26",
"url": "https://files.pythonhosted.org/packages/b9/3f/26772db92cbfc14c6492f00c77675b550dca5950a1aa43a006d70581a71a/apys-0.2.0-py3-none-any.whl"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "eab67aa40bacf0304fb48da020b03d03",
"sha256": "d55dd1bc1488c09a8da41d9551cb3dd77b41aecbed32f0da73cb3e3e06e2ac31"
},
"downloads": -1,
"filename": "apys-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eab67aa40bacf0304fb48da020b03d03",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10898,
"upload_time": "2016-10-04T23:43:45",
"url": "https://files.pythonhosted.org/packages/ce/9c/4fd9b84c875f1f64ca563ba60e6838c7a2b179ba25ccc6ebb8cac8efe4a9/apys-0.2.1-py3-none-any.whl"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "34994b70ec5078916db7463ad898071a",
"sha256": "9b92b70d3943824594b2fbee3a3a41dafc2c2d0b0d588fd05b7b643833639d34"
},
"downloads": -1,
"filename": "apys-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34994b70ec5078916db7463ad898071a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10916,
"upload_time": "2016-10-05T00:27:11",
"url": "https://files.pythonhosted.org/packages/d0/b9/55a12c98cb3ab9088f1720ae6a310103f60ce29b1dee01f74e51082fe636/apys-0.2.2-py3-none-any.whl"
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"md5": "35d94bb95b6aea0bf849e5eb9cee2237",
"sha256": "7731aaf1fc42cc6ecd0b4b55c1b7a8c232724b9cf0b542d7cf9563bc4d13eb9a"
},
"downloads": -1,
"filename": "apys-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "35d94bb95b6aea0bf849e5eb9cee2237",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10918,
"upload_time": "2016-10-05T00:36:36",
"url": "https://files.pythonhosted.org/packages/ee/a8/e9ceb99a15179d5a768d0012e24e9db949335727c5c9ecbd095f39de40d1/apys-0.2.3-py3-none-any.whl"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "4ab0f7d7b5ab6714691bc2537a0f094f",
"sha256": "cd906b2ba0feea8b2bdf1dfe0a41e745841a9277d166f162b63fbdc2caad4db9"
},
"downloads": -1,
"filename": "apys-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4ab0f7d7b5ab6714691bc2537a0f094f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12004,
"upload_time": "2016-10-06T23:20:28",
"url": "https://files.pythonhosted.org/packages/f2/e2/bf5a0adb85924712713f36a6db8bc267ccdeacad9b24a952df6ab5de5058/apys-0.3.0-py3-none-any.whl"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "61fc7f9628d760c3d12235ac13909680",
"sha256": "7522dbaf9dec67dc250fe82199d123b64cef8f66b84845cf16af65558c253c7d"
},
"downloads": -1,
"filename": "apys-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "61fc7f9628d760c3d12235ac13909680",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11951,
"upload_time": "2016-10-10T01:30:10",
"url": "https://files.pythonhosted.org/packages/a4/90/6cdd181281661ad7ff18e3d628a875d9090743f5d5236045b0bb570497a4/apys-0.3.1-py3-none-any.whl"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "ddc3244555dad7a12c48981710166cf6",
"sha256": "933f45cedf705d465a8d398502fe5453160a8c1a050d09a3b7ecd34906ccb346"
},
"downloads": -1,
"filename": "apys-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ddc3244555dad7a12c48981710166cf6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11951,
"upload_time": "2016-10-10T03:53:01",
"url": "https://files.pythonhosted.org/packages/be/f3/d297cc7d7c48085f9a591599f23740f11b5c065eefbcccf596bee705b3fe/apys-0.3.2-py3-none-any.whl"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "1b7cb582c2ff20a4bd3b3044b0a6574b",
"sha256": "751799ae774dfc41e2ec3e002970986540140f77ae0d8316282377ec4bb5b1d0"
},
"downloads": -1,
"filename": "apys-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1b7cb582c2ff20a4bd3b3044b0a6574b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12000,
"upload_time": "2016-10-12T02:42:07",
"url": "https://files.pythonhosted.org/packages/b0/85/7c9a6c4a01fa215ef237cdd25f5dd49281aadbc5ea25409577c2558125f7/apys-0.4.0-py3-none-any.whl"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "e2ab38373f6f133a90510b6991e27bf0",
"sha256": "2f3c0308bdb0083e94b2418681290aa2bde5c4fc89ba45c71098eb21b71a6585"
},
"downloads": -1,
"filename": "apys-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e2ab38373f6f133a90510b6991e27bf0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12150,
"upload_time": "2016-10-12T04:48:00",
"url": "https://files.pythonhosted.org/packages/31/b4/f6ac1e42a9f3ebf52d30ca4b3aed6d104ced43f766b4cce4c95fb7c53dea/apys-0.4.1-py3-none-any.whl"
}
],
"0.4.2": [
{
"comment_text": "",
"digests": {
"md5": "08fed07d20ff4526b2c84657deeb055b",
"sha256": "b774787eb7c4b876895197040b9c5cb886e5b54ff8166903a8bff8300e0e4b62"
},
"downloads": -1,
"filename": "apys-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08fed07d20ff4526b2c84657deeb055b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12196,
"upload_time": "2016-10-12T10:58:37",
"url": "https://files.pythonhosted.org/packages/34/8f/ec835a9f69f8f132f71eb0343c6dad289c7a430df8d42677fb5eaa64751e/apys-0.4.2-py3-none-any.whl"
}
],
"0.4.3": [
{
"comment_text": "",
"digests": {
"md5": "d5c6a5e2bd2f8d2295080465b8a28a28",
"sha256": "eeee8ae2d059ffa2b203e683119ee3d6c3e705cb372bfce1f74ae20d3f5cb97a"
},
"downloads": -1,
"filename": "apys-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d5c6a5e2bd2f8d2295080465b8a28a28",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12202,
"upload_time": "2016-10-26T22:08:41",
"url": "https://files.pythonhosted.org/packages/0c/d2/e8ec1b7ddb78d3532363eff940d4b879622ad078c7c0d6a4cf469896516a/apys-0.4.3-py3-none-any.whl"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "54ea0c26b24972bbdedc17cc46af74ec",
"sha256": "e591a875b566c17298ac4ac7f871cbe76d734b983efa058597d45852f1d7a49d"
},
"downloads": -1,
"filename": "apys-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "54ea0c26b24972bbdedc17cc46af74ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12715,
"upload_time": "2016-11-20T23:34:44",
"url": "https://files.pythonhosted.org/packages/63/39/b8d8ef86434cf6d0623cbec4cb16d7ca277a8bb1a7c4895cbeffe8c17d19/apys-0.5.0-py3-none-any.whl"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "1b72943734c6f105f2d8bf050719aff8",
"sha256": "25eabaf218f2c8ea8cce9c512271287fb18cb7d19a06c8e41c098c2e3fe35aa2"
},
"downloads": -1,
"filename": "apys-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1b72943734c6f105f2d8bf050719aff8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8595,
"upload_time": "2017-02-03T17:16:22",
"url": "https://files.pythonhosted.org/packages/f6/73/54d5de66032aadb69ad1050eebfd1c11e12dc4aef269ed9cdb74dd164e9b/apys-0.5.1-py3-none-any.whl"
}
],
"0.5.2": [
{
"comment_text": "",
"digests": {
"md5": "d7c36fa99cc742a42d545f2b3bf46a4e",
"sha256": "2ee9aa41b0c807a43c863794eae878b6b1a25dce9cc40d70bc0c3d16da8efd2d"
},
"downloads": -1,
"filename": "apys-0.5.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d7c36fa99cc742a42d545f2b3bf46a4e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8593,
"upload_time": "2017-02-03T17:19:39",
"url": "https://files.pythonhosted.org/packages/68/c7/03668177b76bcfc203fa2ade1b03ebec8cb2c24e40132af604e9cb9e1f80/apys-0.5.2-py3-none-any.whl"
}
],
"0.5.3": [
{
"comment_text": "",
"digests": {
"md5": "4d357eba86e1b2c83bdb566b56d669ac",
"sha256": "1316c8b7fc1f51b56ab829ee3d07f48c5652c8eb70befde99f557f12d46d7991"
},
"downloads": -1,
"filename": "apys-0.5.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4d357eba86e1b2c83bdb566b56d669ac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8638,
"upload_time": "2017-12-28T00:13:00",
"url": "https://files.pythonhosted.org/packages/ce/a4/7007b75b1ad96fb309e0766b00c01601bd1b5e64c595859fe3c1891d316d/apys-0.5.3-py3-none-any.whl"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "6d8f2c69b5bb7b02fbe11df92acc55ef",
"sha256": "faac71f69b6feb9562bd70c86b1598fa01882345ebd95053a2dde5f4727cc57c"
},
"downloads": -1,
"filename": "apys-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6d8f2c69b5bb7b02fbe11df92acc55ef",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7734,
"upload_time": "2018-08-22T00:19:39",
"url": "https://files.pythonhosted.org/packages/7f/c8/76c5806967a26baec1dae91908713afe55d21f2734fdc8ba04971e1ddbcf/apys-0.6.0-py3-none-any.whl"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "f8836594e85704026d4cf44e86b350f7",
"sha256": "1145899f831d7334213642d38fd33085a32e31e0c30abfbcc638f4b00fe730ed"
},
"downloads": -1,
"filename": "apys-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f8836594e85704026d4cf44e86b350f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1487,
"upload_time": "2018-08-22T20:32:14",
"url": "https://files.pythonhosted.org/packages/0f/56/902dfa85c422a9cb71b3d18f061d02ca51af7a689ff7c71876a1a51e7bde/apys-0.6.1-py3-none-any.whl"
}
],
"0.6.2": [
{
"comment_text": "",
"digests": {
"md5": "82904c240501dd42bfd839a8da3ebdcf",
"sha256": "b0ef69772f4f6a40dd15ecbe200d291da45dc2ef5b7b822def692b7308d533bc"
},
"downloads": -1,
"filename": "apys-0.6.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "82904c240501dd42bfd839a8da3ebdcf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8351,
"upload_time": "2018-08-23T19:07:02",
"url": "https://files.pythonhosted.org/packages/cb/3d/20fd93e98f368fb678f63016a3924dcc014a24df83fcc787cc5f9a57ba94/apys-0.6.2-py3-none-any.whl"
}
],
"0.6.3": [
{
"comment_text": "",
"digests": {
"md5": "70050643fafabc23c3115d16496dcd90",
"sha256": "cd2b05c55509f4cbdfac250d07cd2aa95cf72900a5714a548d614e5b4164bfbe"
},
"downloads": -1,
"filename": "apys-0.6.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "70050643fafabc23c3115d16496dcd90",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8351,
"upload_time": "2018-08-23T19:27:21",
"url": "https://files.pythonhosted.org/packages/5b/b6/46148194625599944324bba165a53ccf33e859ce765ed38627ec1aa19386/apys-0.6.3-py3-none-any.whl"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8a914e005328e2a331e5ba4a50a1300d",
"sha256": "a41995758d480a9260e13e57cb14ec14fc985731585429329faedf7b16875e69"
},
"downloads": -1,
"filename": "apys-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8a914e005328e2a331e5ba4a50a1300d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8525,
"upload_time": "2018-08-28T01:44:14",
"url": "https://files.pythonhosted.org/packages/24/39/8d0e6350d2858efdbe0e11b683695f744c989586bd9f0ceb3a68afd4c50e/apys-1.0.0-py3-none-any.whl"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "e6b44edf7ba57a2452c4190e591a7e80",
"sha256": "d39804346515c5057a7b9f659fe7ab9647fb5b38123663a71688e2966f42bce4"
},
"downloads": -1,
"filename": "apys-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6b44edf7ba57a2452c4190e591a7e80",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8586,
"upload_time": "2018-09-02T20:35:26",
"url": "https://files.pythonhosted.org/packages/29/aa/fa4c3288ed6d411f03ba24b8adae44b58ff86ef99e469814e2ec7e4e191e/apys-1.0.1-py3-none-any.whl"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "958a56b5a4d2b7405a9248f4425b2400",
"sha256": "5cef6a332b10094a65a8a13841e067e73747e23b73addbdd9c3d60f3ce10473d"
},
"downloads": -1,
"filename": "apys-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "958a56b5a4d2b7405a9248f4425b2400",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8814,
"upload_time": "2018-09-17T15:45:49",
"url": "https://files.pythonhosted.org/packages/23/2e/7bf19db358fd29d2044125040d87a8c22ac09b738dad7d3f32be853a16ae/apys-2.0.0-py3-none-any.whl"
}
],
"2.0.1": [
{
"comment_text": "",
"digests": {
"md5": "7921592af93402a84f59885e72c48cb0",
"sha256": "91d99327b2724932203ed78f0409d3c94e0f777a5c92f9d3df4f2af045f5b613"
},
"downloads": -1,
"filename": "apys-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7921592af93402a84f59885e72c48cb0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11026,
"upload_time": "2018-09-17T20:03:11",
"url": "https://files.pythonhosted.org/packages/ec/03/75acd3900eec9b5404811e656211bccc4b216fa41c8b5185171ae23556ee/apys-2.0.1-py3-none-any.whl"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "c1b7bf27b5c7c70963d64eec7c325289",
"sha256": "5ae8a122771559dec051e10440913cd75c47eacad9a8c0821201112fd3ea72b2"
},
"downloads": -1,
"filename": "apys-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c1b7bf27b5c7c70963d64eec7c325289",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12163,
"upload_time": "2018-09-27T17:44:17",
"url": "https://files.pythonhosted.org/packages/b2/24/25fea25188faf8774048c12f767842dbb9e70a3142a3717865c356419352/apys-2.1.0-py3-none-any.whl"
}
],
"2.1.1": [
{
"comment_text": "",
"digests": {
"md5": "d1bd2cdecc40a39bef349d40186cdefe",
"sha256": "e7bd9f54c54a971ca2809a0fceb33b1f32ae949f277317dc7a4f7bacd8879813"
},
"downloads": -1,
"filename": "apys-2.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1bd2cdecc40a39bef349d40186cdefe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12349,
"upload_time": "2018-10-22T20:22:05",
"url": "https://files.pythonhosted.org/packages/40/ff/eb959b123f3a9b6c1bf424db92ae4bb90d17b2eaa1f4663b99a8d4cd8cc5/apys-2.1.1-py3-none-any.whl"
}
],
"2.2.0": [
{
"comment_text": "",
"digests": {
"md5": "d2ca57d3bec6d57ed5155d02ff951a3d",
"sha256": "0f117265d827fd46936bd8f004810729712f41add8de01f063e7f00bdd906a15"
},
"downloads": -1,
"filename": "apys-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d2ca57d3bec6d57ed5155d02ff951a3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12404,
"upload_time": "2018-10-24T19:19:59",
"url": "https://files.pythonhosted.org/packages/31/09/4202b394f6426fb54c76a69cf33b03b5092a70ed91c9304762a2e877bbea/apys-2.2.0-py3-none-any.whl"
}
],
"2.2.1": [
{
"comment_text": "",
"digests": {
"md5": "488991ace7f3d491eea3c2751f31b186",
"sha256": "e6d2cba446d123ad1efa4d9dc6868a332597671b06d170de654594d1b2165929"
},
"downloads": -1,
"filename": "apys-2.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "488991ace7f3d491eea3c2751f31b186",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12691,
"upload_time": "2018-11-14T23:56:35",
"url": "https://files.pythonhosted.org/packages/16/ad/a908fcce804a1a7e5eb9d02281aeffaff2fbb1f5e41d81c203ed9146e444/apys-2.2.1-py3-none-any.whl"
}
],
"2.2.2": [
{
"comment_text": "",
"digests": {
"md5": "b5c9a5aef16cb84e6201b71547fba4e9",
"sha256": "e43c03e4edc920a239eaf6b4d47df761bc3831dba099ef60205936af8c561618"
},
"downloads": -1,
"filename": "apys-2.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b5c9a5aef16cb84e6201b71547fba4e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12767,
"upload_time": "2018-11-17T18:35:53",
"url": "https://files.pythonhosted.org/packages/5b/cc/6fbfe97709cd4a82727dd4ae11b5879a8b94833911bf5ef13beee33edf56/apys-2.2.2-py3-none-any.whl"
}
],
"3.0.0": [
{
"comment_text": "",
"digests": {
"md5": "60522d67fe22b100daffbd175aa02e42",
"sha256": "b864be8ab17382b0d9bbe102f4e1404bfc9037a148f54de45f65d44b761bb759"
},
"downloads": -1,
"filename": "apys-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60522d67fe22b100daffbd175aa02e42",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12851,
"upload_time": "2019-02-20T21:54:15",
"url": "https://files.pythonhosted.org/packages/49/c5/5b190349b945a5583bbad7e955e8d547f022c1cfd9571c059b1d39cd63a7/apys-3.0.0-py3-none-any.whl"
}
],
"3.1.0": [
{
"comment_text": "",
"digests": {
"md5": "3de49b21900d9bc6d580cb36553f02d9",
"sha256": "da207c02bd562133e5892fd4b41e2096690237c2256ba932525051ca782b50e9"
},
"downloads": -1,
"filename": "apys-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3de49b21900d9bc6d580cb36553f02d9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13330,
"upload_time": "2019-02-20T23:11:21",
"url": "https://files.pythonhosted.org/packages/e2/44/fbef2f3095dd364b1a4ca2ec5aada5eb6b3bb5f84b2cc687152e635c4173/apys-3.1.0-py3-none-any.whl"
}
],
"3.1.1": [
{
"comment_text": "",
"digests": {
"md5": "2debf2dc16e0dbc97826bc8bf72ad032",
"sha256": "89be0d7edea9b8f1fffabe8c4ad6934f9333f432c3c23bcbc27468476dab304c"
},
"downloads": -1,
"filename": "apys-3.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2debf2dc16e0dbc97826bc8bf72ad032",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13340,
"upload_time": "2019-02-21T14:33:02",
"url": "https://files.pythonhosted.org/packages/33/ed/e549dab85b8cd2f2afbd542b1f1d3f311e617c26884614cbf64f416297e3/apys-3.1.1-py3-none-any.whl"
}
],
"3.1.2": [
{
"comment_text": "",
"digests": {
"md5": "83c4a448e851efe82990b47eae9bb14f",
"sha256": "a925e5e6eb13ded8840de8e67d52b4f15ccb0e8b4fb71c4efc3f43e4a76724d3"
},
"downloads": -1,
"filename": "apys-3.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83c4a448e851efe82990b47eae9bb14f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14150,
"upload_time": "2019-03-12T18:17:36",
"url": "https://files.pythonhosted.org/packages/9a/1b/2e0ddfb04b6c85ce02dd37ebc1a81979216401105ac4d81113b0b6972b88/apys-3.1.2-py3-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "83c4a448e851efe82990b47eae9bb14f",
"sha256": "a925e5e6eb13ded8840de8e67d52b4f15ccb0e8b4fb71c4efc3f43e4a76724d3"
},
"downloads": -1,
"filename": "apys-3.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "83c4a448e851efe82990b47eae9bb14f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14150,
"upload_time": "2019-03-12T18:17:36",
"url": "https://files.pythonhosted.org/packages/9a/1b/2e0ddfb04b6c85ce02dd37ebc1a81979216401105ac4d81113b0b6972b88/apys-3.1.2-py3-none-any.whl"
}
]
}