{ "info": { "author": "Fatih K\u0131l\u0131\u00e7", "author_email": "m.fatihklc0@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "# NamedAssignments\nNamedAssignments is a library that I developed for myself to use named assignments in my Python <= 3.7 projects.\n\n## What is named assignments?\nActual thing I don't even know how should I call them but this is the best name I found for them. If you've read [PEP 572](https://www.python.org/dev/peps/pep-0572/) there is a new operator coming in Python 3.8 called as ***Named Expressions*** (this is how it is going to look like in your code `:=`) which helps you to write more clean and shorter code.\n\n## But how?\nFor original examples you can check [PEP 572 examples](https://www.python.org/dev/peps/pep-0572/#examples) directly but if you are looking this library you are probably not using Python 3.8 so just stay in here and continue reading.\n\n\n* Caching computationally expensive computations (This is definitely a bad example of expensive computation but lets just act like it is)\n ###### Old way:\n\n ```python\n # Makes two addition every time\n strange_list = [[x + 1, x/(x + 1)] for x in range(5)]\n ```\n ###### Improved:\n\n ```python\n # Makes only one addition every time\n strange_list = [[N('y', lambda: x + 1), x/N.y] for x in range(5)]\n ```\n\n* Usage in while loops\n ###### Old way:\n\n ```python\n # conn is a accepted socket connection\n while True:\n data = conn.recv(1024)\n if not data:\n break\n conn.sendall(data)\n ```\n ###### Improved:\n\n ```python\n # conn is a accepted socket connection\n while N('data', conn.recv, 1024):\n conn.sendall(N.data)\n ```\n\n## Usage\nUsage is not clean as original due to limitations but it is the cleanest way I found.\n```python\nfrom namedassignments import NamedAssignments as N\n\nN(variable_name, function, *args, **kwargs)\n```\n\n## Installation\nLibrary is avaible on PyPi so just run\n```\npip install namedassignments\n```\n\n## API\nSince the whole code is only 5 lines there is nothing too much. Library uses Python's magic method `__new__` to return what function returns this is all library does on the background.\n* `__new__` Arguments:\n * `variable_name`: Variable name you want to use while retrieving data. (String) (Required)\n * `function`: Function you want to execute. (Function) (Required)\n * `*args`: Arguments you want to pass function. (List) (Optional)\n * `**kwargs`: Keyword arguments you want to pass function. (Dict) (Optional)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/FKLC/NamedAssignments", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "namedassignments", "package_url": "https://pypi.org/project/namedassignments/", "platform": "", "project_url": "https://pypi.org/project/namedassignments/", "project_urls": { "Homepage": "https://github.com/FKLC/NamedAssignments" }, "release_url": "https://pypi.org/project/namedassignments/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "Really small library to implement NamedExpressions in Python 3.8 to older versions of Python.", "version": "1.0.2" }, "last_serial": 4820576, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "7c81a0baeba0f00fa441c7d008793ff8", "sha256": "9e1ab2314bfd63fd448075da2aa73ebb35113251160fd7167e585198f385beb6" }, "downloads": -1, "filename": "namedassignments-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7c81a0baeba0f00fa441c7d008793ff8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3343, "upload_time": "2019-02-10T08:15:47", "url": "https://files.pythonhosted.org/packages/bb/85/a3f60f087f773aecf6014bd08e038432d157f79511dbb87bb748b6e88b25/namedassignments-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34423ae833a7207f236296af4946afe8", "sha256": "ef6df4c3358c109e1bfd93750696a7053c2d4204aaf3c44f21bf1538ccf98a31" }, "downloads": -1, "filename": "namedassignments-1.0.1.tar.gz", "has_sig": false, "md5_digest": "34423ae833a7207f236296af4946afe8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2299, "upload_time": "2019-02-10T08:15:49", "url": "https://files.pythonhosted.org/packages/08/5c/fb6b6ba5bb8d982dd087e3215c8eb018eeb836707b34384a4af036fe76bf/namedassignments-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "49eb00a863b53fc4682e93ef246f5dff", "sha256": "6ba1d13a7be46bbbf4d4d5d23df833a905428bfd63e60702e6337c89abc5a0fb" }, "downloads": -1, "filename": "namedassignments-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "49eb00a863b53fc4682e93ef246f5dff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3463, "upload_time": "2019-02-14T14:26:14", "url": "https://files.pythonhosted.org/packages/9e/aa/900861a84e6202545bca03a58e2c146771748e7b99933e5d2c97a71dd3c9/namedassignments-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c59da7ed28e82e005b5b60dd50f6c27", "sha256": "26bf5a50b7234039aed21e77ef32d8a67e05295cfd539144dba7fac890faf616" }, "downloads": -1, "filename": "namedassignments-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1c59da7ed28e82e005b5b60dd50f6c27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2421, "upload_time": "2019-02-14T14:26:16", "url": "https://files.pythonhosted.org/packages/94/a2/0ec03ae1bd97bcd6ee82cecf2866744643d6f079857373489be79ab6eaec/namedassignments-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "49eb00a863b53fc4682e93ef246f5dff", "sha256": "6ba1d13a7be46bbbf4d4d5d23df833a905428bfd63e60702e6337c89abc5a0fb" }, "downloads": -1, "filename": "namedassignments-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "49eb00a863b53fc4682e93ef246f5dff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3463, "upload_time": "2019-02-14T14:26:14", "url": "https://files.pythonhosted.org/packages/9e/aa/900861a84e6202545bca03a58e2c146771748e7b99933e5d2c97a71dd3c9/namedassignments-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c59da7ed28e82e005b5b60dd50f6c27", "sha256": "26bf5a50b7234039aed21e77ef32d8a67e05295cfd539144dba7fac890faf616" }, "downloads": -1, "filename": "namedassignments-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1c59da7ed28e82e005b5b60dd50f6c27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2421, "upload_time": "2019-02-14T14:26:16", "url": "https://files.pythonhosted.org/packages/94/a2/0ec03ae1bd97bcd6ee82cecf2866744643d6f079857373489be79ab6eaec/namedassignments-1.0.2.tar.gz" } ] }