{ "info": { "author": "Leonel C\u00e2mara", "author_email": "leonelcamara@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# hotxlfp\n\n\n\n\n\nhotxlfp intends to be a python version of the javascript [handsontable excel formula parser](https://github.com/handsontable/formula-parser) differences are acceptable to make it more pythonic or the function implementations more correct.\n\n\n\n# Install\n\n\n\nYou can install using pip\n\n\n\n pip install hotxlfp\n\n\n\n# Usage\n\n\n\n## Create a Parser\n\n\n\n import hotxlfp\n\n p = hotxlfp.Parser()\n\n\n\n## Parse excel formulas \n\n\n\n p.parse('SUM(1,2,3)') # returns {'result': 6, 'error': None}\n\n\n\nIt's also fine to use semi-colons as separators (they're used by excel depending on your locale)\n\n\n\n p.parse('SUM(1;2;3)') # returns {'result': 6, 'error': None}\n\n\n\n## Custom functions\n\n\n\nSay you have a function called triple:\n\n\n\n def triple(x):\n\n return x*3\n\n\n\nYou can teach the parser to use it with set_function\n\n\n\n p.set_function('TRIPLE', triple)\n\n p.parse('TRIPLE(2)') # returns {'result': 6, 'error': None}\n\n\n\n## Variables\n\n\n\nYou can also set variables that you can then use in your formulas\n\n\n\n p.set_variable('foo', 33)\n\n p.parse('foo/3') # returns {'result': 11.0, 'error': None}\n\n\n\n# Contributing\n\n\n\nFork the project\n\n\n\n## Installing Dependencies \n\n \n\nDepends on ply and python-dateutil. \n\n \n\nTo install dependencies automatically using pip run:\n\n\n\n pip install -r requirements.txt\n\n \n\n## Testing \n\n\n\n python setup.py test\n\n\n\n## Coverage\n\n\n\n coverage run --source hotxlfp setup.py test\n\n\n\n## Update SUPPORTED_FORMULAS.md\n\n\n\nInside the project directory run:\n\n\n\n python -m \"scripts.update_supported_formulas\"", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/aidhound/hotxlfp/archive/0.0.6.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aidhound/hotxlfp", "keywords": "excel,formula,parser", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hotxlfp", "package_url": "https://pypi.org/project/hotxlfp/", "platform": "", "project_url": "https://pypi.org/project/hotxlfp/", "project_urls": { "Download": "https://github.com/aidhound/hotxlfp/archive/0.0.6.tar.gz", "Homepage": "https://github.com/aidhound/hotxlfp" }, "release_url": "https://pypi.org/project/hotxlfp/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.0.6" }, "last_serial": 5955649, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "2eb0edcc194d8bf763993b5b23fc8fbe", "sha256": "b69e03e10dd0733f75f0dd8e7da44c7d702eb81e94b045225630d2764114429e" }, "downloads": -1, "filename": "hotxlfp-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2eb0edcc194d8bf763993b5b23fc8fbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3124, "upload_time": "2019-04-15T14:48:17", "url": "https://files.pythonhosted.org/packages/18/20/92911af5acfbffe7b2de7824978207334b9df210658949e0d042d38e1c2b/hotxlfp-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2ff83fc0b38d7fe90cf3a8a882558d40", "sha256": "4e604cf1bd69719adbc985a338f079ddf7f507ab4fd94a345fce36b2f882d19a" }, "downloads": -1, "filename": "hotxlfp-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2ff83fc0b38d7fe90cf3a8a882558d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3111, "upload_time": "2019-04-15T14:54:34", "url": "https://files.pythonhosted.org/packages/29/4f/ec143a753ed167a3dca96453ffd01ec6019889d13d445d9e5ad3905389c6/hotxlfp-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "cb13e165de87c854d0f5818ff22bc96d", "sha256": "f552a00e725d9d755ffa7d4988dd6ad9129684be547a4aa2330aaec1038f163f" }, "downloads": -1, "filename": "hotxlfp-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cb13e165de87c854d0f5818ff22bc96d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14281, "upload_time": "2019-04-15T15:27:39", "url": "https://files.pythonhosted.org/packages/99/a6/bce3421545804f7e9cb5f98a8c8f5fd6a03c56e3874ab1f29b053dca5a9e/hotxlfp-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c9cf9e57fe1bf5e67b731b9c31ae071c", "sha256": "9be8a6ad7cb7396b7d9665e10f4c282cc0f7774008385ffe4e3e950881ce2224" }, "downloads": -1, "filename": "hotxlfp-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c9cf9e57fe1bf5e67b731b9c31ae071c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24548, "upload_time": "2019-04-15T15:31:26", "url": "https://files.pythonhosted.org/packages/31/ae/937f41b6d1acd6a2d684d211bd6854701b4e88c2949cebca2669cf50493f/hotxlfp-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "6983461c8547fec0b6da5c9a40732c53", "sha256": "1736ecd5eab4ecb9d29cad778b781ce47b26b3d25ed9143994d6dca279af2497" }, "downloads": -1, "filename": "hotxlfp-0.0.5.tar.gz", "has_sig": false, "md5_digest": "6983461c8547fec0b6da5c9a40732c53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26372, "upload_time": "2019-04-22T17:12:12", "url": "https://files.pythonhosted.org/packages/c0/58/c6f06e531d5ebb4e0a21a9bf8c3262859aa69c1de450c380caa4e85de27a/hotxlfp-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "47b60fdac9b02e4bb77822fe2bc5e646", "sha256": "71f5b9054b4f212457f7fdc886c1c554a77bfce1e6b1b4e67af66ee4685cdcfd" }, "downloads": -1, "filename": "hotxlfp-0.0.6.tar.gz", "has_sig": false, "md5_digest": "47b60fdac9b02e4bb77822fe2bc5e646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28486, "upload_time": "2019-10-10T15:50:49", "url": "https://files.pythonhosted.org/packages/87/83/34cd26645b96304006a7e5aab417bfadb17f6f1560f70d115d4929730019/hotxlfp-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47b60fdac9b02e4bb77822fe2bc5e646", "sha256": "71f5b9054b4f212457f7fdc886c1c554a77bfce1e6b1b4e67af66ee4685cdcfd" }, "downloads": -1, "filename": "hotxlfp-0.0.6.tar.gz", "has_sig": false, "md5_digest": "47b60fdac9b02e4bb77822fe2bc5e646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28486, "upload_time": "2019-10-10T15:50:49", "url": "https://files.pythonhosted.org/packages/87/83/34cd26645b96304006a7e5aab417bfadb17f6f1560f70d115d4929730019/hotxlfp-0.0.6.tar.gz" } ] }