{ "info": { "author": "Dustin Rohde", "author_email": "xdrohdex@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "RPN\n===\n\nReverse Polish Notation calculator for Python.\n\nBinary Operators\n----------------\n\n* ``+``: addition\n* ``-``: subtraction\n* ``*``: multiplication\n* ``/``: true division\n* ``%``: modulo\n* ``//``: floor division\n* ``**``: exponentation\n\nUnary Operators\n---------------\n\n* ``abs``: absolute value\n* ``sqrt``: square root\n* ``ceil``: rounding up\n* ``floor``: rounding down\n\nExamples\n--------\n\n::\n import decimal\n\n import rpn \n result = rpn.solve_rpn('3.4 -3 abs + 100 sqrt -')\n print(result) # 3.6\n\n try:\n rpn.solve_rpn('3 3 3 +')\n rpn.solve_rpn('3 +')\n rpn.solve_rpn('abs')\n rpn.solve_rpn('3 a +')\n except RPNError:\n ...\n\n try:\n rpn.solve_rpn('0 5 /')\n except decimal.DivisionByZero:\n ...\n\n try:\n rpn.solve_rpn('-5 sqrt')\n except decimal.InvalidOperation:\n ...\n\n try:\n rpn.solve_rpn('9999999999999 9999999999999 **')\n except decimal.Overflow:\n ...\n\nCLI Usage\n---------\n\n::\n $ rpn \"1 2 + 8 -\"\n $ 5", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dustinrohde/python-rpn", "keywords": "math calculator rpn arithmetic", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "rpn", "package_url": "https://pypi.org/project/rpn/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rpn/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/dustinrohde/python-rpn" }, "release_url": "https://pypi.org/project/rpn/1.0/", "requires_dist": null, "requires_python": null, "summary": "Reverse Polish Notation calculator.", "version": "1.0" }, "last_serial": 2064751, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "62ce54c50ba86816eba16f17ef2f1bac", "sha256": "c1923b2c401cfe6b77237d7993f21c2f7936eb898594be0d1a7e569ab74c0d98" }, "downloads": -1, "filename": "rpn-1.0.tar.gz", "has_sig": false, "md5_digest": "62ce54c50ba86816eba16f17ef2f1bac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2618, "upload_time": "2016-04-14T23:57:06", "url": "https://files.pythonhosted.org/packages/36/eb/d28fa89939368eab8de08474f7cd96a14febd6f29ad8cac7cd21c05cb04e/rpn-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62ce54c50ba86816eba16f17ef2f1bac", "sha256": "c1923b2c401cfe6b77237d7993f21c2f7936eb898594be0d1a7e569ab74c0d98" }, "downloads": -1, "filename": "rpn-1.0.tar.gz", "has_sig": false, "md5_digest": "62ce54c50ba86816eba16f17ef2f1bac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2618, "upload_time": "2016-04-14T23:57:06", "url": "https://files.pythonhosted.org/packages/36/eb/d28fa89939368eab8de08474f7cd96a14febd6f29ad8cac7cd21c05cb04e/rpn-1.0.tar.gz" } ] }