{ "info": { "author": "ryankung", "author_email": "ryankung@ieee.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Assign\n\n---------\n\n`assign` is a black magic module for supporting `obj.__assign__`:\n\n### How to use it:\n\n#### 1. magic patch\n\nSuppose that there is a `test.py`\n\n```python\n\na = 1\n\n\nclass T():\n def __assign__(self, v):\n print('called with %s' % v)\n\n\nb = T()\nc = b\n\n```\nIt just works as:\n\n```python\nPython 3.6.0 (default, Mar 6 2017, 15:44:48)\n[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import magic\n>>> import test\ncalled with c\n\n```\n\n#### 2. manually patch\n\n```\nfrom assign.patch import patch_module\nimport test\n\npatch_module(test)\n\n```\n\n### Install\n\njust:\n\n`pip install assign`\n\n### Notes\n\n* Tested with `Py2.7` and `Py3.6`\n\n### Known Issues\n\n* 1. Won't work under `REPL`\n* 2. May slow import operation.\n* 3. May failed when patch some modules like `os` and `sys`", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "assign", "package_url": "https://pypi.org/project/assign/", "platform": "any", "project_url": "https://pypi.org/project/assign/", "project_urls": null, "release_url": "https://pypi.org/project/assign/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "A Black Magic for support obj.__assign__ method", "version": "1.0.1" }, "last_serial": 3296683, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "1ab30318681ed89ebe4b831d28613038", "sha256": "733e0eb94b98406a1c18b134c815524c6fc146199698e52785cce7f235a2b79b" }, "downloads": -1, "filename": "assign-1.0.tar.gz", "has_sig": false, "md5_digest": "1ab30318681ed89ebe4b831d28613038", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2776, "upload_time": "2017-10-26T16:38:11", "url": "https://files.pythonhosted.org/packages/2b/e4/fb375974fee4d711ec22417e0a393905a814d5f0cd05b2aade1c739d56bb/assign-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "34478ca8e20dcbe8574d9c8f617e761a", "sha256": "fd2019d9686e3595f287eb671e337fc9bccac14857307c446317e88aa46b8bf5" }, "downloads": -1, "filename": "assign-1.0.1.tar.gz", "has_sig": false, "md5_digest": "34478ca8e20dcbe8574d9c8f617e761a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3038, "upload_time": "2017-11-01T10:28:26", "url": "https://files.pythonhosted.org/packages/e6/d6/a888ae6f85f4caeac23e3190dc659e977d4b8073d6dd82f4ed1a6ed73d33/assign-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34478ca8e20dcbe8574d9c8f617e761a", "sha256": "fd2019d9686e3595f287eb671e337fc9bccac14857307c446317e88aa46b8bf5" }, "downloads": -1, "filename": "assign-1.0.1.tar.gz", "has_sig": false, "md5_digest": "34478ca8e20dcbe8574d9c8f617e761a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3038, "upload_time": "2017-11-01T10:28:26", "url": "https://files.pythonhosted.org/packages/e6/d6/a888ae6f85f4caeac23e3190dc659e977d4b8073d6dd82f4ed1a6ed73d33/assign-1.0.1.tar.gz" } ] }