{ "info": { "author": "John Dory", "author_email": "packagebot@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Safer Sympify\n\nConvert unsanitized user input into SymPy expression.\n\nThis does not prevent all possible attacks. However, this is much safer than using `eval()`, which SymPy still does.\n\nSee SymPy PR12524 for more details: https://github.com/sympy/sympy/pull/12524\n\n\n\n## Examples\n\n```\n Create a SymPy expression from user input. \n This uses pure Python syntax. \n Whitelisted operators and functions only are allowed.\n >>> expr = SaferSympify().str2sympy('-sqrt(1 + a**b*b)/((a**b)*b+1)')\n >>> expr\n -1/sqrt(a**b*b + 1)\n\n Get free symbols:\n >>> sorted(expr.free_symbols, key=lambda x: str(x))\n [a, b]\n\n Evaluate expression:\n >>> expr.evalf(subs={'a': 1, 'b': 3, 'c': 5}) # Note extra values can be passed too\n -0.500000000000000\n\n Simplify expression:\n >>> expr.simplify()\n -1/sqrt(a**b*b + 1)\n\n Pretty-print expression as Latex (could be displayed in browser with MathJax)\n >>> sympy.latex(expr)\n '- \\\\frac{1}{\\\\sqrt{a^{b} b + 1}}'\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/jpackagebot/safersympify", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "safersympify", "package_url": "https://pypi.org/project/safersympify/", "platform": "", "project_url": "https://pypi.org/project/safersympify/", "project_urls": { "Homepage": "https://github.com/jpackagebot/safersympify" }, "release_url": "https://pypi.org/project/safersympify/0.1.18/", "requires_dist": null, "requires_python": "", "summary": "Safer way to sympify unsanitized input", "version": "0.1.18" }, "last_serial": 4842606, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "18867f72e0c9102c21764436b1da5cc1", "sha256": "0e32e623d3bc51db700ce9e1863778f87b2461718cb6ee48ed5a6e2896da77e4" }, "downloads": -1, "filename": "safersympify-0.1.10.tar.gz", "has_sig": false, "md5_digest": "18867f72e0c9102c21764436b1da5cc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2593, "upload_time": "2018-08-08T22:59:25", "url": "https://files.pythonhosted.org/packages/d1/21/65c9dacc165834450e1931805dab2e5dba71f0faf17ad103d1b96c177cca/safersympify-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "b63cc1cadb5b7ece873a3fe2e366a5a9", "sha256": "5697f06326ea557ec5d4a583339592ddf4887448633d780cbf76ba14e04a7953" }, "downloads": -1, "filename": "safersympify-0.1.11.tar.gz", "has_sig": false, "md5_digest": "b63cc1cadb5b7ece873a3fe2e366a5a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2606, "upload_time": "2018-08-09T05:24:02", "url": "https://files.pythonhosted.org/packages/32/3c/ac11e9eec6a074c3422d8853071f8825832c871c2048f49967a80f3d2ec3/safersympify-0.1.11.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "990f1b6ee1e9e7b26de274b2343ae856", "sha256": "f22d5b2dae200a28e29917da71cf5851d6bc03cc1c3c322c3326c8c19a546b5b" }, "downloads": -1, "filename": "safersympify-0.1.18.tar.gz", "has_sig": false, "md5_digest": "990f1b6ee1e9e7b26de274b2343ae856", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2593, "upload_time": "2019-02-19T22:00:06", "url": "https://files.pythonhosted.org/packages/6f/76/de0769208375bc242c72c60b4f1b5601a83a853c2627a19498c6cbdcd9e0/safersympify-0.1.18.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "0367e0343358c16edcc11a5be7f0f3e1", "sha256": "66ad899c23e4b9c1aeb385fb4411a454a67d52cf057bbd2cef80f903ef1de4a4" }, "downloads": -1, "filename": "safersympify-0.1.8.tar.gz", "has_sig": false, "md5_digest": "0367e0343358c16edcc11a5be7f0f3e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2616, "upload_time": "2018-08-08T21:45:23", "url": "https://files.pythonhosted.org/packages/a9/1f/6d9813f2e2c3e69375cf1035bd95743e4afd60e2e26f08b0d63799ef0855/safersympify-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "032eebf6486c5125a3a527915fe319d3", "sha256": "04d68f50db0a81321d1df31b6c02efa748427bf017fe48f3e28202106d7db00c" }, "downloads": -1, "filename": "safersympify-0.1.9.tar.gz", "has_sig": false, "md5_digest": "032eebf6486c5125a3a527915fe319d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2617, "upload_time": "2018-08-08T21:46:55", "url": "https://files.pythonhosted.org/packages/37/2f/c5bb514bddaeb4bea783b47046c2548ad6ae1acca1724047cdfd080cd947/safersympify-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "990f1b6ee1e9e7b26de274b2343ae856", "sha256": "f22d5b2dae200a28e29917da71cf5851d6bc03cc1c3c322c3326c8c19a546b5b" }, "downloads": -1, "filename": "safersympify-0.1.18.tar.gz", "has_sig": false, "md5_digest": "990f1b6ee1e9e7b26de274b2343ae856", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2593, "upload_time": "2019-02-19T22:00:06", "url": "https://files.pythonhosted.org/packages/6f/76/de0769208375bc242c72c60b4f1b5601a83a853c2627a19498c6cbdcd9e0/safersympify-0.1.18.tar.gz" } ] }