{ "info": { "author": "Andrey Mikhaylenko", "author_email": "neithere@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Database :: Front-Ends", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "~~~~\nMonk\n~~~~\n\n.. image:: https://badge.fury.io/py/monk.png\n :target: http://badge.fury.io/py/monk\n\n.. image:: https://travis-ci.org/neithere/monk.png?branch=master\n :target: https://travis-ci.org/neithere/monk\n\nAn unobtrusive data modeling, manipulation and validation library.\n\nSupports MongoDB out of the box. Can be used for any other DB (or even without one).\n\nInstallation\n------------\n\n $ pip install monk\n\nDependencies\n------------\n\n`Monk` is tested against the following versions of Python:\n\n* CPython 2.6, 2.7, 3.2, 3.4\n* PyPy 2.0\n\nOptional dependencies:\n\n* The MongoDB extension requires `pymongo`.\n\nDocumentation\n-------------\n\nSee the complete `documentation`_ for details.\n\nExamples\n--------\n\nModeling\n........\n\nThe schema is defined as a template using native Python data types::\n\n # we will reuse this structure in examples below\n\n spec = {\n 'title': 'Untitled',\n 'comments': [\n {\n 'author': str,\n 'date': datetime.datetime.utcnow,\n 'text': str\n }\n ],\n }\n\nYou are free to design as complex a document as you need.\nThe `manipulation` and `validation` functions (described below) support\narbitrary nested structures.\n\nWhen this \"natural\" pythonic approach is not sufficient, you can mix it with\na more verbose notation, e.g.::\n\n title_spec = IsA(str, default='Untitled') | Equals(None)\n\nThere are also neat shortcuts::\n\n spec = {\n 'url': nullable(str),\n 'status': one_of(['new', 'in progress', 'closed']),\n 'comments': [str],\n 'blob': None,\n }\n\nThis could be written a bit more verbosely::\n\n spec = {\n 'url': IsA(str) | Equals(None),\n 'status': Equals('new') | Equals('in progress') | Equals('closed'),\n 'comments': ListOf(IsA(str)),\n 'blob': Anything(),\n }\n\nIt is even possible to define schemata for dictionary keys::\n\n CATEGORIES = ['books', 'films', 'toys']\n spec = {\n 'title': str,\n optional('price'): float, # key is optional; value is mandatory\n 'similar_items': {\n one_of(CATEGORIES): [ # suggestions grouped by category\n {'url': str, 'title': str}\n ],\n }\n }\n\n # (what if the categories should be populated dynamically?\n # well, the schema is plain Python data, just copy/update on the fly.)\n\nAnd, yes, you can mix notations. See FAQ.\n\nThis very short intro shows that Monk requires almost **zero learning to\nstart** and then provides very **powerful tools when you need them**;\nyou won't have to rewrite the \"intuitive\" code, only augment complexity\nexactly in places where it's inevitable.\n\nManipulation\n............\n\nThe schema can be used to create full documents from incomplete data:\n\n.. code-block:: python\n\n from monk import merge_defaults\n\n # default values are set for missing keys\n\n >>> merge_defaults(spec, {})\n {\n 'title': 'Untitled',\n 'comments': [],\n }\n\n # it's easy to override the defaults\n\n >>> merge_defaults(spec, {'title': 'Hello'})\n {\n 'title': 'Hello',\n 'comments': [],\n }\n\n # nested lists of dictionaries can be auto-filled, too.\n # by the way, note the date.\n\n >>> merge_defaults(spec, {'comments': [{'author': 'john'}]})\n {\n 'title': 'Untitled',\n 'comments': [\n {\n 'author': 'john',\n 'date': datetime.datetime(2013, 3, 3, 1, 8, 4, 152113),\n 'text': None,\n }\n ]\n }\n\nValidation\n..........\n\nThe same schema can be used to ensure that the document has correct structure\nand the values are of correct types:\n\n.. code-block:: python\n\n from monk.validation import validate\n\n # correct data: staying silent\n\n >>> validate(spec, data)\n\n # a key is missing\n\n >>> validate(spec, {'title': 'Hello'})\n Traceback (most recent call last):\n ...\n MissingKey: 'comments'\n\n # a key is missing in a dictionary in a nested list\n\n >>> validate(spec, {'comments': [{'author': 'john'}]}\n Traceback (most recent call last):\n ...\n MissingKey: 'comments': #0: 'date'\n\n # type check; also works with functions and methods (by return value)\n\n >>> validate(spec, {'title': 123, 'comments': []})\n Traceback (most recent call last):\n ...\n ValidationError: 'title': must be str\n\nCustom validators can be used. Behaviour can be fine-tuned.\n\nThe `validate()` function translates the \"natural\" notation to a validator\nobject under the hood. To improve performance you can \"compile\" the validator\nonce (using `translate()` function or by creating a validator instance in place)\nand use it multiple times to validate different values::\n\n >>> from monk import *\n >>> translate(str) == IsA(str)\n True\n >>> validator = IsA(str) | IsA(int)\n >>> validator('hello')\n >>> validator(123)\n >>> validator(5.5)\n Traceback (most recent call last):\n ...\n AllFailed: 5.5 (must be str; must be int)\n\nThe library can be also viewed as a framework for building ODMs\n(object-document mappers). See the MongoDB extension and note how it reuses\nmixins provided by DB-agnostic modules.\n\nHere's an example of the MongoDB ODM bundled with Monk::\n\n from monk.mongo import Document\n\n class Item(Document):\n structure = dict(text=unicode, slug=unicode)\n indexes = dict(text=None, slug=dict(unique=True))\n\n # this involves manipulation (inserting missing fields)\n item = Item(text=u'foo', slug=u'bar')\n\n # this involves validation\n item.save(db)\n\nLinks\n-----\n\n* `Project home page`_ (Github)\n* `Documentation`_ (Read the Docs)\n* `Package distribution`_ (PyPI)\n* Questions, requests, bug reports, etc.:\n\n * `Issue tracker`_\n * Direct e-mail (neithere at gmail com)\n\n.. _project home page: http://github.com/neithere/monk/\n.. _documentation: http://monk.readthedocs.org\n.. _package distribution: http://pypi.python.org/pypi/monk\n.. _issue tracker: http://github.com/neithere/monk/issues/\n\nAuthor\n------\n\nOriginally written by Andrey Mikhaylenko since 2011.\n\nPlease feel free to submit patches, report bugs or request features:\n\n http://github.com/neithere/monk/issues/\n\nLicensing\n---------\n\nMonk is free software: you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nMonk is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License\nalong with Monk. If not, see .", "description_content_type": null, "docs_url": "https://pythonhosted.org/monk/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/neithere/monk/", "keywords": "mongo mongodb document query database api model models orm odm document-oriented non-relational nosql validation filling", "license": "GNU Lesser General Public License (LGPL), Version 3", "maintainer": null, "maintainer_email": null, "name": "monk", "package_url": "https://pypi.org/project/monk/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/monk/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/neithere/monk/" }, "release_url": "https://pypi.org/project/monk/0.13.2/", "requires_dist": null, "requires_python": null, "summary": "An unobtrusive data modeling, manipulation and validation library. MongoDB included.", "version": "0.13.2" }, "last_serial": 1763569, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "e3953158e984035f53a8e15581310a25", "sha256": "ab381203aec0011dc024a5298a4a67dca5b0b132991bb3857e1d2434125ede4e" }, "downloads": -1, "filename": "monk-0.0.1.tar.gz", "has_sig": false, "md5_digest": "e3953158e984035f53a8e15581310a25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2171, "upload_time": "2011-11-29T07:04:54", "url": "https://files.pythonhosted.org/packages/3e/c9/172bcc21671cf4ee4602b1bd0a5cc5a86c9c51129b0bafbc613b7c6c023f/monk-0.0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "28592f4bd65ac05e7c5f5498c742d54b", "sha256": "4457ae7e74ebf423d96fdcf3492a63e2a4af4dee16a9251c6276966738d5f4b1" }, "downloads": -1, "filename": "monk-0.1.1.tar.gz", "has_sig": false, "md5_digest": "28592f4bd65ac05e7c5f5498c742d54b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6304, "upload_time": "2011-12-01T12:06:04", "url": "https://files.pythonhosted.org/packages/9e/2a/9d5494fe34072fe4aaa1c0ee6205c248ac37d77fa3ba494b0d045839a6e1/monk-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3878d256e226ea99e8474ae3dbaaf893", "sha256": "ca0784fb0221d0ba9a1fb789c522ed139f5fcddaa63c4260ddb2466c4d01218b" }, "downloads": -1, "filename": "monk-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3878d256e226ea99e8474ae3dbaaf893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6644, "upload_time": "2011-12-02T15:49:28", "url": "https://files.pythonhosted.org/packages/5f/98/441dd9002cecb3bbd463e2b56b41738db1b0b53d736b5e0dccd45bebe9b4/monk-0.1.2.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "788fde7286dd4bef825720693ac0f11b", "sha256": "ac7c5013636ec02a1f41d657827026838b39a038706115c71fe127f1d9681e2f" }, "downloads": -1, "filename": "monk-0.10.0.tar.gz", "has_sig": false, "md5_digest": "788fde7286dd4bef825720693ac0f11b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14079, "upload_time": "2013-07-30T13:34:11", "url": "https://files.pythonhosted.org/packages/3a/38/28f8820b1f83710a280271221343e4c7a3419431d65b2b700126b8977a00/monk-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "3ab805107d394a44285dc234c88236b7", "sha256": "233f2c8ba9622d6102eebf5b931860a6fce00e6dd1ae7781ede6a637643660e7" }, "downloads": -1, "filename": "monk-0.10.1.tar.gz", "has_sig": false, "md5_digest": "3ab805107d394a44285dc234c88236b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14077, "upload_time": "2013-11-10T10:42:17", "url": "https://files.pythonhosted.org/packages/79/f8/5b53e9d4194306700ec6bf425a7d9b343218779211b2a94d49e9a936e678/monk-0.10.1.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "f408c0cf8e74f22bebe64b0a1a041968", "sha256": "261ceddce2a2391aa266fb12afdff2f90fea65ac8dce96a1ce3f603973ff838a" }, "downloads": -1, "filename": "monk-0.11.0.tar.gz", "has_sig": false, "md5_digest": "f408c0cf8e74f22bebe64b0a1a041968", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14078, "upload_time": "2013-12-18T21:58:58", "url": "https://files.pythonhosted.org/packages/a4/52/88c5b0be240a6a4ca4c43e87f7df1298a6f897c6f2b52c71fecfba2a952f/monk-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "1f24a570ce02c35102a204bab535c3b8", "sha256": "0d825eaf59de2fa91b31d0f04be9024fdc9e78090869ea6a34330cc31071be81" }, "downloads": -1, "filename": "monk-0.11.1.tar.gz", "has_sig": false, "md5_digest": "1f24a570ce02c35102a204bab535c3b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14691, "upload_time": "2014-01-02T22:51:25", "url": "https://files.pythonhosted.org/packages/05/29/df0b74a8cb9127e12433a0006a61fa37ebfd65212bb804343365dc83837f/monk-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "c984db15d75d8659152467d19e45efcf", "sha256": "341e7bdf50cfa1fc20b0d582bd9cb9081c19a5c7181ae101a832d9fe8cfffa1b" }, "downloads": -1, "filename": "monk-0.11.2.tar.gz", "has_sig": false, "md5_digest": "c984db15d75d8659152467d19e45efcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14716, "upload_time": "2014-01-02T23:13:56", "url": "https://files.pythonhosted.org/packages/86/ed/d976473fadce6f720dec401ae8e8b24f7371eb8b28494d02a3b1c95154dc/monk-0.11.2.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "ca0d419eb409591aba46ea40cd85a23b", "sha256": "f3c1e27b6cf00b098eb505f416f6a8142c8c3c7c3700165ea2359278503872cd" }, "downloads": -1, "filename": "monk-0.12.0.tar.gz", "has_sig": false, "md5_digest": "ca0d419eb409591aba46ea40cd85a23b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15874, "upload_time": "2014-08-26T05:15:51", "url": "https://files.pythonhosted.org/packages/b8/65/f73b2e5a3de626558674613bdbef1627131f8563e9fcb1490e71a0b97c3b/monk-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "bce5670cd38c8db81a4a135a0c7e59d8", "sha256": "b23f408643e7fe1b3b1746e9637458ebe1f5b5d18c1ba074e96b276b5125fe4c" }, "downloads": -1, "filename": "monk-0.13.0.tar.gz", "has_sig": false, "md5_digest": "bce5670cd38c8db81a4a135a0c7e59d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15348, "upload_time": "2014-08-31T06:23:22", "url": "https://files.pythonhosted.org/packages/36/2d/6d87520f736a49e203eaf2f5a7d42104f795b447d775da4b387b1a1c033d/monk-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "12ae73dc16b7f4e20042725e94057c0b", "sha256": "45c41287f697f10a98523bed408b5f279224cb2002dd71885c2acef0adae39d0" }, "downloads": -1, "filename": "monk-0.13.1.tar.gz", "has_sig": false, "md5_digest": "12ae73dc16b7f4e20042725e94057c0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15468, "upload_time": "2014-08-31T10:17:27", "url": "https://files.pythonhosted.org/packages/18/8d/0fa8e710360abfd2e1963206c8c02e05c57e56b1898b9b29b5b915fee852/monk-0.13.1.tar.gz" } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "9e15af98c22bc47e36db53d1d1573258", "sha256": "a6107b4067ebf8e626e5997db553a101cd0680ea8811467bf4debf894c88c668" }, "downloads": -1, "filename": "monk-0.13.2.tar.gz", "has_sig": false, "md5_digest": "9e15af98c22bc47e36db53d1d1573258", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15500, "upload_time": "2014-10-02T21:06:11", "url": "https://files.pythonhosted.org/packages/7c/ad/709104f371cc2c28a746653605239f293a13eead1b0f520c6a3b5ab7261a/monk-0.13.2.tar.gz" } ], "0.14.0-dev": [ { "comment_text": "", "digests": { "md5": "488616db5f7709aed5bd11d3a06bd19d", "sha256": "30b7bcafe952aacbb4a0b1297e5d19d56f5c5b98efd53ac4ece2e1c93d76aa81" }, "downloads": -1, "filename": "monk-0.14.0_dev-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "488616db5f7709aed5bd11d3a06bd19d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 31568, "upload_time": "2014-10-11T00:41:37", "url": "https://files.pythonhosted.org/packages/d4/57/08ca28d716b18f6c1318e73dcb2148d06a1417c8aaa33eef8930ed959612/monk-0.14.0_dev-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52ae963804cbcf2a58e252b5d691c4b7", "sha256": "f94e0a4bde191da72e79e9369720fffdbb243abe2d4eafd5ddb66cacdb8d0f75" }, "downloads": -1, "filename": "monk-0.14.0-dev.tar.gz", "has_sig": false, "md5_digest": "52ae963804cbcf2a58e252b5d691c4b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16562, "upload_time": "2014-10-11T00:41:28", "url": "https://files.pythonhosted.org/packages/ce/47/f542d74ea33ca528274910eb76350988d81ac5726064cdeaf5d1c68a15ad/monk-0.14.0-dev.tar.gz" } ], "0.14.0.dev0": [], "0.2.0": [ { "comment_text": "", "digests": { "md5": "90050e75651999375c88e2ca89a7e528", "sha256": "b4d26cb01b7dd4310f17ab6d0ae4553414e027a3208261d945f3fd649a167623" }, "downloads": -1, "filename": "monk-0.2.0.tar.gz", "has_sig": false, "md5_digest": "90050e75651999375c88e2ca89a7e528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7348, "upload_time": "2011-12-03T19:37:14", "url": "https://files.pythonhosted.org/packages/8b/43/83b90b2fcad57c4fbed19a8ecc50cda7d8c86f8704843567261505d9fbf2/monk-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "16555b295bd78e6a649b7f6588867164", "sha256": "074253043f28dd0cd7ee7a8893e08d68105f37e166b591be8fcf43052ddf8b50" }, "downloads": -1, "filename": "monk-0.2.1.tar.gz", "has_sig": false, "md5_digest": "16555b295bd78e6a649b7f6588867164", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7582, "upload_time": "2011-12-18T08:20:41", "url": "https://files.pythonhosted.org/packages/c3/f3/55b428e539fa0c3ee1abee5e2290223d2d91d8fced7da496ae853e04c227/monk-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "19c22c63d0966eef7efdff465f55badd", "sha256": "4df5f6441c73388a4fbd55140e993ad4ed664077a4fc55b6b969385cf1cdea1d" }, "downloads": -1, "filename": "monk-0.2.2.tar.gz", "has_sig": false, "md5_digest": "19c22c63d0966eef7efdff465f55badd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7935, "upload_time": "2012-01-19T16:29:17", "url": "https://files.pythonhosted.org/packages/fe/01/72223baf2b20e0beaef01b88f308c8430a6e5b35f8176be64284a7d589a3/monk-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "2ec4e381960d1755ee50d8f889d0aa63", "sha256": "712b3e7f6da0ce6832888bc3f0c951a3d7d72d1544016e21a3dba9c973ec1b66" }, "downloads": -1, "filename": "monk-0.2.3.tar.gz", "has_sig": false, "md5_digest": "2ec4e381960d1755ee50d8f889d0aa63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8754, "upload_time": "2012-01-21T02:11:12", "url": "https://files.pythonhosted.org/packages/e7/f6/49c04f24de81d7e07264dc577370992baff75b23e1b91529f3ee508bc84e/monk-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "335d5a0f380f2672de8e7be504fbccd6", "sha256": "68d48f10c1afe3a66b7c1c5ffeaf1775f5b7d5ad858744c5d8293621be32c746" }, "downloads": -1, "filename": "monk-0.3.0.tar.gz", "has_sig": false, "md5_digest": "335d5a0f380f2672de8e7be504fbccd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9092, "upload_time": "2012-01-21T16:44:56", "url": "https://files.pythonhosted.org/packages/15/df/7044b98b3906641a075eadbca9d5f21e40aa67e4f5b537dcc5b0eba4eeee/monk-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a597d5c839195c9f7e61b4edd1e57e8d", "sha256": "37e78dd98ef8f5e4d328ed2cfd2df84128ac1aed52f0d4e563edbf56372074c2" }, "downloads": -1, "filename": "monk-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a597d5c839195c9f7e61b4edd1e57e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9246, "upload_time": "2012-02-08T02:01:58", "url": "https://files.pythonhosted.org/packages/d9/69/21f08164104b57b64f98d45ae112d4296f6b3cac057e03caf5d25fb5ccc1/monk-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e5dfad24e885d935c630143e9ff42eed", "sha256": "d2c60efb30dd9ce11be6f675c4afe32b1f334cfe09c108a0355dba3cad5e6713" }, "downloads": -1, "filename": "monk-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e5dfad24e885d935c630143e9ff42eed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9288, "upload_time": "2012-02-21T08:39:21", "url": "https://files.pythonhosted.org/packages/4c/d0/7861189aa1f96168e1e70d37be2432c9c07f096020440ea04c768743441c/monk-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "f33a345560645916a318edcf1ef4b451", "sha256": "34b4b282813d66600b92e9aa6ac01082b577f2b2d6840f0e37b0ed1c4e88d1e8" }, "downloads": -1, "filename": "monk-0.5.0.tar.gz", "has_sig": false, "md5_digest": "f33a345560645916a318edcf1ef4b451", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9495, "upload_time": "2012-03-18T22:01:10", "url": "https://files.pythonhosted.org/packages/60/57/aea13dcda4aaa99ceca61cd8a0605d50ff6eda13765653f4e1d0444b2d32/monk-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "b439f03d21c0af79c35e5d39758fcbf6", "sha256": "47363db26eeef79c0a5be3f73d08163686c521f5a6260e79ec44403c6a51367f" }, "downloads": -1, "filename": "monk-0.5.1.tar.gz", "has_sig": false, "md5_digest": "b439f03d21c0af79c35e5d39758fcbf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9556, "upload_time": "2012-06-13T21:34:02", "url": "https://files.pythonhosted.org/packages/36/09/406d1de7272641a75ba4e1623d93978afe53ad1902c3a5affc78d2d92388/monk-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "95fe8921f74a4aa9fd563d83c68c2c62", "sha256": "d7b47b7fb5712071fac1ad262aa299c6866031affc4c76d714c5b6823ab2a543" }, "downloads": -1, "filename": "monk-0.6.0.tar.gz", "has_sig": false, "md5_digest": "95fe8921f74a4aa9fd563d83c68c2c62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12484, "upload_time": "2013-03-03T01:54:40", "url": "https://files.pythonhosted.org/packages/1e/85/f8e124468c82a494375fc781ceeaf5dfc1d3489733da577e4008c3fdd98b/monk-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "a7f90ec89a8bc96990b0e7452383444b", "sha256": "fd694e158dde7c2eedfc64cd0c84ff8152b4773f12d544e3a40457240f51bc9c" }, "downloads": -1, "filename": "monk-0.7.0.tar.gz", "has_sig": false, "md5_digest": "a7f90ec89a8bc96990b0e7452383444b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12752, "upload_time": "2013-05-09T22:52:01", "url": "https://files.pythonhosted.org/packages/90/6a/b1fbca98d341b1630f722147b03865ca223665c2633350fb3c219267febd/monk-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "18bd745032abf774c8185301bd6edefd", "sha256": "1b2aa26b3198af901efcce49b96579319ba7b98bb2716b045311bc488e4a0325" }, "downloads": -1, "filename": "monk-0.8.0.tar.gz", "has_sig": false, "md5_digest": "18bd745032abf774c8185301bd6edefd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13294, "upload_time": "2013-06-11T20:40:07", "url": "https://files.pythonhosted.org/packages/c1/b7/8897bb43a4ab6450bb393a21d3b490b0ed717f4de77c5bf4ab95447696bd/monk-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "f358d4e630b1812a8d9f14c2fd99cfa5", "sha256": "d93856913110d6fe07c4e52586463dc2270826ccb1ecaac42f11d0531dae040f" }, "downloads": -1, "filename": "monk-0.8.1.tar.gz", "has_sig": false, "md5_digest": "f358d4e630b1812a8d9f14c2fd99cfa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13287, "upload_time": "2013-06-12T11:49:23", "url": "https://files.pythonhosted.org/packages/e9/c5/72214a34b96f0a54033d957da06fb35c55ef147e4daa2f7144837c98013e/monk-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "8e22a3087d90f17cd8555979fb2b9c33", "sha256": "ae4c16cd9722f44534f2f48561c36ea93925479f2b24b8be519774286c670bd5" }, "downloads": -1, "filename": "monk-0.9.0.tar.gz", "has_sig": false, "md5_digest": "8e22a3087d90f17cd8555979fb2b9c33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12825, "upload_time": "2013-07-24T17:37:06", "url": "https://files.pythonhosted.org/packages/20/f9/d92b7b753810c41b0922249d0d4698725affbf9f016651fddaae8904ed00/monk-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e15af98c22bc47e36db53d1d1573258", "sha256": "a6107b4067ebf8e626e5997db553a101cd0680ea8811467bf4debf894c88c668" }, "downloads": -1, "filename": "monk-0.13.2.tar.gz", "has_sig": false, "md5_digest": "9e15af98c22bc47e36db53d1d1573258", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15500, "upload_time": "2014-10-02T21:06:11", "url": "https://files.pythonhosted.org/packages/7c/ad/709104f371cc2c28a746653605239f293a13eead1b0f520c6a3b5ab7261a/monk-0.13.2.tar.gz" } ] }