{ "info": { "author": "Frazer McLean", "author_email": "frazer@frazermclean.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "Represent\n---------\n\n|PyPI Version| |Documentation| |Travis| |Coverage| |Python Version| |MIT\nLicense|\n\nInstallation\n~~~~~~~~~~~~\n\n.. code:: bash\n\n $ pip install represent\n\nAutomatic Generation\n~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from represent import autorepr\n\n\n @autorepr\n class Rectangle:\n def __init__(self, name, color, width, height):\n self.name = name\n self.color = color\n self.width = width\n self.height = height\n\n rect = Rectangle('Timothy', 'red', 15, 4.5)\n print(rect)\n\n::\n\n Rectangle(name='Timothy', color='red', width=15, height=4.5)\n\nDeclarative Generation\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from represent import ReprHelperMixin\n\n\n class ContrivedExample(ReprHelperMixin, object):\n def __init__(self, description, radians, shape, color, miles):\n self.description = description\n self.degrees = radians * 180 / 3.141592654\n self.shape = shape\n self._color = color\n self.km = 1.60934 * miles\n\n def _repr_helper_(self, r):\n r.positional_from_attr('description')\n r.positional_with_value(self.degrees * 3.141592654 / 180)\n r.keyword_from_attr('shape')\n r.keyword_from_attr('color', '_color')\n r.keyword_with_value('miles', self.km / 1.60934)\n\n ce = ContrivedExample('does something', 0.345, 'square', 'red', 22)\n\n print(ce)\n from IPython.lib.pretty import pprint\n pprint(ce)\n\n::\n\n ContrivedExample('does something', 0.345, shape='square', color='red', miles=22.0)\n ContrivedExample('does something',\n 0.345,\n shape='square',\n color='red',\n miles=22.0)\n\n.. |PyPI Version| image:: http://img.shields.io/pypi/v/represent.svg?style=flat-square\n :target: https://pypi.python.org/pypi/represent/\n.. |Documentation| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat-square\n :target: http://represent.readthedocs.io/en/latest/\n.. |Travis| image:: http://img.shields.io/travis/RazerM/represent/master.svg?style=flat-square&label=travis\n :target: https://travis-ci.org/RazerM/represent\n.. |Coverage| image:: https://img.shields.io/codecov/c/github/RazerM/represent/master.svg?style=flat-square\n :target: https://codecov.io/github/RazerM/represent?branch=master\n.. |Python Version| image:: https://img.shields.io/badge/python-2.7%2C%203-brightgreen.svg?style=flat-square\n :target: https://www.python.org/downloads/\n.. |MIT License| image:: http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n :target: https://raw.githubusercontent.com/RazerM/represent/master/LICENSE\n\n\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/Represent/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RazerM/represent", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Represent", "package_url": "https://pypi.org/project/Represent/", "platform": "", "project_url": "https://pypi.org/project/Represent/", "project_urls": { "Homepage": "https://github.com/RazerM/represent" }, "release_url": "https://pypi.org/project/Represent/1.6.0/", "requires_dist": [ "six (>=1.8.0)", "ipython ; extra == 'test'", "pytest (>=3.0.5) ; extra == 'test'", "mock ; (python_version<\"3.3\") and extra == 'test'" ], "requires_python": "", "summary": "Create __repr__ automatically or declaratively.", "version": "1.6.0" }, "last_serial": 4761715, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "045fef5510ca0095b7736bc68c73e9a2", "sha256": "202433a2aef54844c9a4e7a492344a04bcd241615d79682b1ea2ce46b9d49aa4" }, "downloads": -1, "filename": "Represent-1.0.tar.gz", "has_sig": false, "md5_digest": "045fef5510ca0095b7736bc68c73e9a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4905, "upload_time": "2015-03-28T01:38:41", "url": "https://files.pythonhosted.org/packages/43/a4/b41d0faa2cd764a6f5c04e74a2577093a4fdf653fe2192caf965e67f4f31/Represent-1.0.tar.gz" } ], "1.0.0.dev0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9cc646bea2a7df1f9454200a16b81a90", "sha256": "4d8651591027fa4c096d4a7b5b2d5885a7d1742ca1e62fb17a2d1b46a26eeca7" }, "downloads": -1, "filename": "Represent-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9cc646bea2a7df1f9454200a16b81a90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4909, "upload_time": "2015-04-05T15:34:01", "url": "https://files.pythonhosted.org/packages/8c/4f/6520af1fc6c9bc55f7b7c021a51fb1ff4286b38101441aa8157216889b83/Represent-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "73c07572bbf08b34076048d1937624bc", "sha256": "78b5a3fd3ee0e10bde24cb5a4c2d30010b4eafdb7a52c0a437792c3062a00010" }, "downloads": -1, "filename": "Represent-1.0.2.tar.gz", "has_sig": false, "md5_digest": "73c07572bbf08b34076048d1937624bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4905, "upload_time": "2015-04-05T22:41:23", "url": "https://files.pythonhosted.org/packages/46/70/fe964d455fc2e396a03036e1d8576d7f6ff9e6021e45ce365d1a5899d425/Represent-1.0.2.tar.gz" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "d74589c60bbb809bbdff6f6534269d3a", "sha256": "5b987f0b2d7c71a5becbaad46f822e526508f190baed2ab56402f1e699bd9bf8" }, "downloads": -1, "filename": "Represent-1.0b1.tar.gz", "has_sig": false, "md5_digest": "d74589c60bbb809bbdff6f6534269d3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4699, "upload_time": "2015-03-24T02:01:13", "url": "https://files.pythonhosted.org/packages/f9/df/908eab2d28c5d2707d461c0512e59ca7b7f8f891d9ebe264d07fdf94f6c7/Represent-1.0b1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "1eda51eee82c3618254f4a522305fcc2", "sha256": "c5c4704b68c29f06ba00235ff2d60b2728f2102b649cf5bb27d6fcef1358e72b" }, "downloads": -1, "filename": "Represent-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1eda51eee82c3618254f4a522305fcc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5116, "upload_time": "2015-04-15T23:46:54", "url": "https://files.pythonhosted.org/packages/80/dd/e834f91312dd2de72def686060169805628a8a96a34391ea4b41be9c63c4/Represent-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3d3686ca596d216839c4534aafd61c60", "sha256": "161b06352ac3a63d87b213ef71f6ee9d5350fdd8545e9928defe8b52e57f7cbb" }, "downloads": -1, "filename": "Represent-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3d3686ca596d216839c4534aafd61c60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5189, "upload_time": "2015-05-02T02:02:32", "url": "https://files.pythonhosted.org/packages/d6/b1/efc4f28f0d3cee75cf1f6ea77a53f5aba62ffc29822d7ea18ecce612c3c6/Represent-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "447448185f9fe0865db8fddd3b966811", "sha256": "acf8daadd7e96882282deb43fe55d050867722753fd80a3572b693b0d6f0f2ad" }, "downloads": -1, "filename": "Represent-1.2.1.tar.gz", "has_sig": false, "md5_digest": "447448185f9fe0865db8fddd3b966811", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5775, "upload_time": "2015-05-02T21:06:27", "url": "https://files.pythonhosted.org/packages/03/1a/19f2da154e99b9fd867439a81f4349b2c509d183012089247d58f399bb81/Represent-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "442d90e2fc53aabb3dc969db36708d3b", "sha256": "15f1121a93e1cd2de6907445ed9ddf56d407c0bcf0c03a7a8987666c676d4e2a" }, "downloads": -1, "filename": "Represent-1.3.0.tar.gz", "has_sig": false, "md5_digest": "442d90e2fc53aabb3dc969db36708d3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7698, "upload_time": "2015-05-07T00:59:14", "url": "https://files.pythonhosted.org/packages/d2/11/fe5604935fd0d1f3be5e607bcee5b6eaef609ca46c49beffbe103d6d4ccd/Represent-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "6dd104a8a8e1c99107a59d7338de1cee", "sha256": "a90e61c3d3aa74da06f0232a2e3038f3ef242a847c8d140c05f63057a92c39d5" }, "downloads": -1, "filename": "Represent-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6dd104a8a8e1c99107a59d7338de1cee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12133, "upload_time": "2015-11-11T20:10:48", "url": "https://files.pythonhosted.org/packages/7d/12/f56cd6e4a2ab1c94c3ff318b536306993385359e222574522acc250df932/Represent-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31a74fe702941310a63385bcad45133f", "sha256": "6d27b2d12646fe00e8ee19ddd3fb3f4682a3e96a002311911a3817d17c3813af" }, "downloads": -1, "filename": "Represent-1.4.0.tar.gz", "has_sig": false, "md5_digest": "31a74fe702941310a63385bcad45133f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8610, "upload_time": "2015-09-02T16:10:50", "url": "https://files.pythonhosted.org/packages/2b/e1/5610ac37ca50d71e901ac3949478d7fca2ea05dfe4a0922709cee22d0547/Represent-1.4.0.tar.gz" } ], "1.4.0.post0": [ { "comment_text": "", "digests": { "md5": "acbf3a424662857a3b5a3dbb79bcd468", "sha256": "502f1fd916f994169eaa10030935758f02e3210772b139357d10744f82dab717" }, "downloads": -1, "filename": "Represent-1.4.0.post0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "acbf3a424662857a3b5a3dbb79bcd468", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29235, "upload_time": "2016-02-21T19:19:04", "url": "https://files.pythonhosted.org/packages/0c/0e/c2ba32c57627862dac91b2246b8dc4b9b20df8368f177e48f495469369fc/Represent-1.4.0.post0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f73f0873f19197f6c3d805e95d291878", "sha256": "d05658358c2ef1748bd8c3ae619bdd60fc8c1fbd051fa80a9792b78e2e399d98" }, "downloads": -1, "filename": "Represent-1.4.0.post0.tar.gz", "has_sig": false, "md5_digest": "f73f0873f19197f6c3d805e95d291878", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19745, "upload_time": "2016-02-21T19:19:19", "url": "https://files.pythonhosted.org/packages/89/23/aca786833e7d6455a22ee2b3f0995522fdc47562ed12357aeb651f0bd7c5/Represent-1.4.0.post0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "41f73ad308a0511f43b932fcc0333911", "sha256": "492baf937696ea3757202e1dd81f8c1c413a6e20a820e606065a025395b9d5ce" }, "downloads": -1, "filename": "Represent-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41f73ad308a0511f43b932fcc0333911", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10301, "upload_time": "2016-03-11T15:04:56", "url": "https://files.pythonhosted.org/packages/10/69/0f0d36cdd1128619b774ad56a418b255629b7690eb293af24ee40803916b/Represent-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e903ffc709f07505788a80e2077f1e78", "sha256": "2a797fd78930f0440fa6606d502ccd8303202a11022c3144e579bfdb709c701d" }, "downloads": -1, "filename": "Represent-1.4.1.tar.gz", "has_sig": false, "md5_digest": "e903ffc709f07505788a80e2077f1e78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19732, "upload_time": "2016-05-25T02:09:31", "url": "https://files.pythonhosted.org/packages/b3/60/fe4638566fe93f64d19084557c5aa65d857de581b9567208266f788f6243/Represent-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "812a97c3da449fd347448fd94317bf9b", "sha256": "84d4f0e4df10f52c0418464d9e75da6f24c75b385c52821c73711bef1a43b3fc" }, "downloads": -1, "filename": "Represent-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "812a97c3da449fd347448fd94317bf9b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47395, "upload_time": "2016-05-25T02:17:06", "url": "https://files.pythonhosted.org/packages/8f/a7/0ec294add86b1c49711189a3967695eb196396fd9c4f2ebdfc1ad0124294/Represent-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6af2cb636451d72e40579bfb1768e19f", "sha256": "2ca18451930e8748a86708ea6b95d2d23394646dbb820cb0a3b8856f56240eb6" }, "downloads": -1, "filename": "Represent-1.5.0.tar.gz", "has_sig": false, "md5_digest": "6af2cb636451d72e40579bfb1768e19f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21309, "upload_time": "2016-05-25T02:17:30", "url": "https://files.pythonhosted.org/packages/34/d5/c5efff48c1e9d0d22cc16b7a5075ea7aba86f461073c6cfc42c34e17b7a8/Represent-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "9772fe47803d591e4f02a5db992850f1", "sha256": "f599094a66ec04455bb1555f3a65c78449f647a1a1bcd513775cfa64c8067400" }, "downloads": -1, "filename": "Represent-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9772fe47803d591e4f02a5db992850f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12318, "upload_time": "2016-05-29T15:15:57", "url": "https://files.pythonhosted.org/packages/d3/08/4b93b514fb3fda34f9c2a6113dd70b8383c6fab889be063419cd3c6b9c33/Represent-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96a8517b8ccb82dcb23b8e8210e4c330", "sha256": "9c12c1c60b8616f97855d3a37ea4ec60e3d5d463965a6a29b80d0b794ad4f0d8" }, "downloads": -1, "filename": "Represent-1.5.1.tar.gz", "has_sig": false, "md5_digest": "96a8517b8ccb82dcb23b8e8210e4c330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22521, "upload_time": "2016-05-29T15:16:01", "url": "https://files.pythonhosted.org/packages/e2/45/010aedabc9b78625573865ccc1dec6d55b44dac1d25d85bb97952fb0caa5/Represent-1.5.1.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "ffe9a2698e196542d400b38cf63b32e6", "sha256": "6000c24f317dbf8b57a116ce4d7e4459fc5900af6a2915c9a2d74456bcc33d3c" }, "downloads": -1, "filename": "Represent-1.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ffe9a2698e196542d400b38cf63b32e6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13156, "upload_time": "2019-01-30T22:55:02", "url": "https://files.pythonhosted.org/packages/3f/42/880ddf75691a407d1262e608701c7e531a7b17cb0a34cb40571f57956352/Represent-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c85d28c613c1f000ae44fb9816c4858", "sha256": "293dfec8b2e9e2150a21a49bfec2cd009ecb600c8c04f9186d2ad222c3cef78a" }, "downloads": -1, "filename": "Represent-1.6.0.tar.gz", "has_sig": false, "md5_digest": "6c85d28c613c1f000ae44fb9816c4858", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25914, "upload_time": "2019-01-30T22:55:04", "url": "https://files.pythonhosted.org/packages/92/26/6c0a3c6c6806266c9ed1d11d198c64786d76cce67cb482b7985cd787af02/Represent-1.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ffe9a2698e196542d400b38cf63b32e6", "sha256": "6000c24f317dbf8b57a116ce4d7e4459fc5900af6a2915c9a2d74456bcc33d3c" }, "downloads": -1, "filename": "Represent-1.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ffe9a2698e196542d400b38cf63b32e6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13156, "upload_time": "2019-01-30T22:55:02", "url": "https://files.pythonhosted.org/packages/3f/42/880ddf75691a407d1262e608701c7e531a7b17cb0a34cb40571f57956352/Represent-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c85d28c613c1f000ae44fb9816c4858", "sha256": "293dfec8b2e9e2150a21a49bfec2cd009ecb600c8c04f9186d2ad222c3cef78a" }, "downloads": -1, "filename": "Represent-1.6.0.tar.gz", "has_sig": false, "md5_digest": "6c85d28c613c1f000ae44fb9816c4858", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25914, "upload_time": "2019-01-30T22:55:04", "url": "https://files.pythonhosted.org/packages/92/26/6c0a3c6c6806266c9ed1d11d198c64786d76cce67cb482b7985cd787af02/Represent-1.6.0.tar.gz" } ] }