{ "info": { "author": "Christian Heider Nielsen", "author_email": "christian.heider@alexandra.dk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: POSIX", "Programming Language :: Python :: 3" ], "description": "# Warg\n```Old-Norse: Varg``` \n\n![warg](.github/images/warg.svg)\n![python](.github/images/python.svg)\n\n[![Build Status](https://travis-ci.com/aivclab/warg.svg?branch=master)](https://travis-ci.com/aivclab/warg) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![Coverage Status](https://coveralls.io/repos/github/aivclab/warg/badge.svg?branch=master)](https://coveralls.io/github/aivclab/warg?branch=master)\n___\n> Devour everything :wolf:\n___\n\nThis package is a selection of generalised small utilities classes for many use-cases, a brief description of each follows.\n\n- A class for easing return of multiple values, implicit handling of args and kwargs and more. \n\n- A class for executing any 'heavy' function asynchronously storing any results in a bounded queue. \nNote: communication and organisation is costly, intended for heavy processing functions and general queuing.\n\n- A set of utility functions for parsing/sanitising python config files, and presenting attributes using common python conventions and practices.\n\n- Some Mixin classes for iterating Mapping Types.\n\n- A single base class and metaclass, differentiating on whether subclasses singletons should be instated on\n own subclass basis or on the supertype.\n\n- A \"contract\" decorator, \"kw passing\" is a concept that lets one make a contract with the caller that all \n kwargs with be passed onwards to a receiver, this lets the caller inspect available kwargs of the \n the receiver function allowing for autocompletion, typing and documentation fetching. \n\n# Disclaimer\nUse warg with caution, some features might break as python naturally evolves.\nWarg uses some advanced feature of python and sometimes abuses notation/syntax, with some pretty hard assumptions on input and interaction.\n___\n> With great power comes great responsibility :wink:\n___\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/aivclab/warg/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aivclab/warg", "keywords": "python reinforcement-learning interface api", "license": "Apache License, Version 2.0", "maintainer": "Christian Heider Nielsen", "maintainer_email": "christian.heider@alexandra.dk", "name": "Warg", "package_url": "https://pypi.org/project/Warg/", "platform": "", "project_url": "https://pypi.org/project/Warg/", "project_urls": { "Download": "https://github.com/aivclab/warg/releases", "Homepage": "https://github.com/aivclab/warg" }, "release_url": "https://pypi.org/project/Warg/0.4.1/", "requires_dist": [ "apppath", "numpy", "six", "sorcery", "asttokens", "snoop", "pytest", "cloudpickle", "wrapt", "pip (>=19.0.3) ; extra == 'all'", "wheel (>=0.33.0) ; extra == 'all'", "twine (>=1.13.0) ; extra == 'all'", "black (>=18.9b0) ; extra == 'all'", "pytest (>=4.3.0) ; extra == 'all'", "pytest-cov (>=2.6.1) ; extra == 'all'", "coveralls (>=1.6.0) ; extra == 'all'", "tox ; extra == 'all'", "sphinx ; extra == 'all'", "m2r ; extra == 'all'", "sphinxcontrib-programoutput ; extra == 'all'", "pip (>=19.0.3) ; extra == 'dev'", "wheel (>=0.33.0) ; extra == 'dev'", "twine (>=1.13.0) ; extra == 'dev'", "black (>=18.9b0) ; extra == 'dev'", "pytest (>=4.3.0) ; extra == 'dev'", "pytest-cov (>=2.6.1) ; extra == 'dev'", "coveralls (>=1.6.0) ; extra == 'dev'", "tox ; extra == 'dev'", "sphinx ; extra == 'docs'", "m2r ; extra == 'docs'", "sphinxcontrib-programoutput ; extra == 'docs'" ], "requires_python": ">=3", "summary": "A package for easing return of multiple values", "version": "0.4.1" }, "last_serial": 5834389, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5127693817e7e318939d75a90768d09a", "sha256": "39eee09c3736a337fa63d5e94b51d1ce220118ccf9da08b01bc1f0a23c318e05" }, "downloads": -1, "filename": "Warg-0.0.1-py36-none-any.whl", "has_sig": false, "md5_digest": "5127693817e7e318939d75a90768d09a", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 25276, "upload_time": "2019-05-02T20:28:47", "url": "https://files.pythonhosted.org/packages/67/08/08253c0d28f40e33ecf72a52016b66531668d04afffa683a98a6f7dee816/Warg-0.0.1-py36-none-any.whl" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "07ed32a7ff8e3363eb50240822bf561b", "sha256": "2f187589951af2e6141d197cb0a139d6bac69285d4344e0dd5c9506c9bfe7bb0" }, "downloads": -1, "filename": "Warg-0.0.6-py36-none-any.whl", "has_sig": false, "md5_digest": "07ed32a7ff8e3363eb50240822bf561b", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 25278, "upload_time": "2019-05-03T09:59:59", "url": "https://files.pythonhosted.org/packages/48/87/ef9f5e978ea450aaf7ba03f51ad99685db136aa09df6e436772dc3b7e5d9/Warg-0.0.6-py36-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "ab34e2f746608b852235658b452c9127", "sha256": "1e03eebc1e502b1e8d8313d0f80d173655d0cb72fb34932706b5d033b7de7e22" }, "downloads": -1, "filename": "Warg-0.1.0-py36-none-any.whl", "has_sig": false, "md5_digest": "ab34e2f746608b852235658b452c9127", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 27084, "upload_time": "2019-05-13T11:50:39", "url": "https://files.pythonhosted.org/packages/b6/b7/da9ab8ac95ac36a1b6f78b9d21926c66f4683cb955f97cf695509065a281/Warg-0.1.0-py36-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cbf1e4e31400836f6e924b07b5d7e5c8", "sha256": "2adfa676ab0d8121c690804d23f91608e092f17b7945909af36398a0b2178974" }, "downloads": -1, "filename": "Warg-0.1.1-py36-none-any.whl", "has_sig": false, "md5_digest": "cbf1e4e31400836f6e924b07b5d7e5c8", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 32855, "upload_time": "2019-05-15T12:28:23", "url": "https://files.pythonhosted.org/packages/fc/08/847212da246f03ec273e23f2a3cc1e95c3dd085437c2a7c6edcb343d1276/Warg-0.1.1-py36-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d70fcd6a5a7c648eab64a69ce4d03e18", "sha256": "f6245a0a2513a8749dcccbf16e746b8f6aeb26356224c766b77bae9ac72f43a2" }, "downloads": -1, "filename": "Warg-0.1.2-py36-none-any.whl", "has_sig": false, "md5_digest": "d70fcd6a5a7c648eab64a69ce4d03e18", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 32938, "upload_time": "2019-05-18T12:15:49", "url": "https://files.pythonhosted.org/packages/85/f3/4c9e7bb97215fd366a181e9b34ee631c4605196df49937600388d9f1e5d0/Warg-0.1.2-py36-none-any.whl" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "3515f0fb0a03cdcbfde6387b43752ef4", "sha256": "665b33c41e8c695cc7970850a5f5e5c5d9e5880d22ce140b2fcbc0f648bb1266" }, "downloads": -1, "filename": "Warg-0.1.9-py36-none-any.whl", "has_sig": false, "md5_digest": "3515f0fb0a03cdcbfde6387b43752ef4", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 33765, "upload_time": "2019-05-24T12:28:48", "url": "https://files.pythonhosted.org/packages/16/35/c89e6894ee16cceb8d2ed3925ce247623f0aa6193c335efc5bc03c6651c9/Warg-0.1.9-py36-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f66a1e383db85419f9d60ca1f02598eb", "sha256": "7a8623c96b2853ba4d97101b1a99f1153ef9879105cefa5747277d041128d6b4" }, "downloads": -1, "filename": "Warg-0.1.9.tar.gz", "has_sig": false, "md5_digest": "f66a1e383db85419f9d60ca1f02598eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 24882, "upload_time": "2019-05-25T09:15:51", "url": "https://files.pythonhosted.org/packages/16/dc/32e7929a800c35ce6103f0d176ef43131acce69b3c688cd2e47b9c1aa17a/Warg-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cb0c871b7fb6a4d2041c31ba9bb21140", "sha256": "5850d064d7247f79b04591eb75c88212ba5c135435f00a8da69c3b8826924978" }, "downloads": -1, "filename": "Warg-0.2.0-py36-none-any.whl", "has_sig": false, "md5_digest": "cb0c871b7fb6a4d2041c31ba9bb21140", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 33904, "upload_time": "2019-05-27T09:32:00", "url": "https://files.pythonhosted.org/packages/41/ea/81afafafd98a858bdd4863e27b0becf0af5f00f5fdd72dd26468848308ab/Warg-0.2.0-py36-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "13b6c646002bb8ef41de12294c3da86c", "sha256": "a29f7c378d25b609156a0d5d9c74daa58d81545cdb94f3413e0dea780fc60199" }, "downloads": -1, "filename": "Warg-0.2.1-py36-none-any.whl", "has_sig": false, "md5_digest": "13b6c646002bb8ef41de12294c3da86c", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 34555, "upload_time": "2019-06-14T10:00:15", "url": "https://files.pythonhosted.org/packages/c6/e2/2b1b7e429818fbfa3ffcb1e8113239f42c3ed9f3be6c9b15bbd9ae4d5c87/Warg-0.2.1-py36-none-any.whl" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "b81000998bced6b134ce57451ae6874a", "sha256": "b1f5f17dfaa48ff17161d80140066f763631d6f7c2da71a801d59e690b1c9fc9" }, "downloads": -1, "filename": "Warg-0.2.2-py36-none-any.whl", "has_sig": false, "md5_digest": "b81000998bced6b134ce57451ae6874a", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 34869, "upload_time": "2019-06-21T09:32:32", "url": "https://files.pythonhosted.org/packages/5c/80/d91415fc006b8a94f82ad16fdd84a59a6e63cd4780231b186110f89d8bb3/Warg-0.2.2-py36-none-any.whl" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "f2419a9d2eba3f3fe9f152a86cb9c822", "sha256": "84f287bd04595a08eafe1b04171d239f326642d29797156287adae2e1af1a4ba" }, "downloads": -1, "filename": "Warg-0.2.4-py36-none-any.whl", "has_sig": false, "md5_digest": "f2419a9d2eba3f3fe9f152a86cb9c822", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 35230, "upload_time": "2019-08-12T18:40:05", "url": "https://files.pythonhosted.org/packages/ce/94/f1f8fe017f208c7447b48338255bcdde965788bb4b2962cf2c66556d8d8f/Warg-0.2.4-py36-none-any.whl" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d0ef90ab9f9835d6888f74b6d8526458", "sha256": "9c1ea9c67c0fb32d07a936e0e24326afbea9a1b6cc4d0278890fcc6da98776b1" }, "downloads": -1, "filename": "Warg-0.2.5-py36-none-any.whl", "has_sig": false, "md5_digest": "d0ef90ab9f9835d6888f74b6d8526458", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 35133, "upload_time": "2019-08-13T08:00:16", "url": "https://files.pythonhosted.org/packages/dd/68/02a766cd86dd1464adef7c812816d3f059dc1279815f9ed13eb81e45a773/Warg-0.2.5-py36-none-any.whl" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "5b1737176d6402572070a1f1642d20e7", "sha256": "f66cf2698e017b812d77716baf6553e218bf6111f4e8ca80bea7b9d597ef25cc" }, "downloads": -1, "filename": "Warg-0.2.6-py36-none-any.whl", "has_sig": false, "md5_digest": "5b1737176d6402572070a1f1642d20e7", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 35134, "upload_time": "2019-08-13T13:24:12", "url": "https://files.pythonhosted.org/packages/07/b7/1d2f565557162b1a1fca06b5e065f0d350de38fde83092cd2df45ef0703a/Warg-0.2.6-py36-none-any.whl" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "4386a52ebb0ab2ff1e6770f8cfece588", "sha256": "519d80b234c86e4af21a7ba067d77b12c3795179628cc12b019dc7edcddfdf77" }, "downloads": -1, "filename": "Warg-0.2.8-py36-none-any.whl", "has_sig": false, "md5_digest": "4386a52ebb0ab2ff1e6770f8cfece588", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 28567, "upload_time": "2019-08-13T13:25:00", "url": "https://files.pythonhosted.org/packages/70/e1/39e065e6b426765e1fa90416ce30542c9836dfce2c81a889199605668ffc/Warg-0.2.8-py36-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "fcbf43991c699013eb0b30a8daf2e9ca", "sha256": "0186522ab40adddaed023e6dfd5005d63304d810019a1ec0d58ad5438032f809" }, "downloads": -1, "filename": "Warg-0.3.0-py36-none-any.whl", "has_sig": false, "md5_digest": "fcbf43991c699013eb0b30a8daf2e9ca", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 33790, "upload_time": "2019-08-30T12:31:23", "url": "https://files.pythonhosted.org/packages/91/15/80fc5dd53fc6565075c1e3b14d41b2911c4347e0f289f11b1320c93f6b68/Warg-0.3.0-py36-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "15426d30ae3c15e2459300705028b907", "sha256": "87d731f5df604dfda7c4422a4603ae4e6b63091bf549daaaf92a6a0f0c20ed3c" }, "downloads": -1, "filename": "Warg-0.3.1-py36-none-any.whl", "has_sig": false, "md5_digest": "15426d30ae3c15e2459300705028b907", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 35191, "upload_time": "2019-09-01T20:42:23", "url": "https://files.pythonhosted.org/packages/1c/04/b8531484a9ca5ab15564ed23a5664300201a9ad8e2a20787f7bccbb6d81d/Warg-0.3.1-py36-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "cc12bb758e623dae3dff03d609a26d46", "sha256": "33796bd3d7b354027806261318bb292dc3d939ca3ec638ebe61c1360efd41d71" }, "downloads": -1, "filename": "Warg-0.4.1-py36-none-any.whl", "has_sig": false, "md5_digest": "cc12bb758e623dae3dff03d609a26d46", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 27967, "upload_time": "2019-09-16T06:58:47", "url": "https://files.pythonhosted.org/packages/81/64/9b3d8fea42fa8d8e105565512a720334164103b9ba37fe395f9211234ed9/Warg-0.4.1-py36-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc12bb758e623dae3dff03d609a26d46", "sha256": "33796bd3d7b354027806261318bb292dc3d939ca3ec638ebe61c1360efd41d71" }, "downloads": -1, "filename": "Warg-0.4.1-py36-none-any.whl", "has_sig": false, "md5_digest": "cc12bb758e623dae3dff03d609a26d46", "packagetype": "bdist_wheel", "python_version": "py36", "requires_python": ">=3", "size": 27967, "upload_time": "2019-09-16T06:58:47", "url": "https://files.pythonhosted.org/packages/81/64/9b3d8fea42fa8d8e105565512a720334164103b9ba37fe395f9211234ed9/Warg-0.4.1-py36-none-any.whl" } ] }