{ "info": { "author": "Vincenzo Arcidiacono", "author_email": "vinci1it2000@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": ".. _start-intro:\n\n\nWhat is formulas?\n*****************\n\n**formulas** implements an interpreter for Excel formulas, which\nparses and compile Excel formulas expressions.\n\nMoreover, it compiles Excel workbooks to python and executes without\nusing the Excel COM server. Hence, **Excel is not needed**.\n\n\nInstallation\n************\n\nTo install it use (with root privileges):\n\n::\n\n $ pip install formulas\n\nOr download the last git version and use (with root privileges):\n\n::\n\n $ python setup.py install\n\n\nInstall extras\n==============\n\nSome additional functionality is enabled installing the following\nextras:\n\n* excel: enables to compile Excel workbooks to python and execute\n using: ``ExcelModel``.\n\n* plot: enables to plot the formula ast and the Excel model.\n\nTo install formulas and all extras, do:\n\n::\n\n $ pip install formulas[all]\n\n.. _end-quick:\n\n\nBasic Examples\n**************\n\nThe following sections will show how to:\n\n* parse a Excel formulas;\n\n* load, compile, and execute a Excel workbook;\n\n* extract a sub-model from a Excel workbook;\n\n* add a custom function.\n\n\nParsing formula\n===============\n\nAn example how to parse and execute an Excel formula is the following:\n\n>>> import formulas\n>>> func = formulas.Parser().ast('=(1 + 1) + B3 / A2')[1].compile()\n\nTo visualize formula model and get the input order you can do the\nfollowing:\n\n..\n\n >>> list(func.inputs)\n ['A2', 'B3']\n >>> func.plot(view=False) # Set view=True to plot in the default browser.\n SiteMap([(=((1 + 1) + (B3 / A2)), SiteMap())])\n\n [graph]\n\nFinally to execute the formula and plot the workflow:\n\n..\n\n >>> func(1, 5)\n Array(7.0, dtype=object)\n >>> func.plot(workflow=True, view=False) # Set view=True to plot in the default browser.\n SiteMap([(=((1 + 1) + (B3 / A2)), SiteMap())])\n\n [graph]\n\n\nExcel workbook\n==============\n\nAn example how to load, calculate, and write an Excel workbook is the\nfollowing:\n\n::\n\n >>> import formulas\n >>> fpath, dir_output = 'excel.xlsx', 'output' \n >>> xl_model = formulas.ExcelModel().loads(fpath).finish()\n >>> xl_model.calculate()\n Solution(...)\n >>> xl_model.write(dirpath=dir_output)\n {'EXCEL.XLSX': {Book: }}\n\nTip: If you have or could have **circular references**, add\n *circular=True* to *finish* method.\n\nTo plot the dependency graph that depict relationships between Excel\ncells:\n\n..\n\n >>> dsp = xl_model.dsp\n >>> dsp.plot(view=False) # Set view=True to plot in the default browser.\n SiteMap([(ExcelModel, SiteMap())])\n\n [graph]\n\nTo overwrite the default inputs that are defined by the excel file or\nto impose some value to a specific cell:\n\n>>> xl_model.calculate(\n... inputs={\n... \"'[EXCEL.XLSX]DATA'!A2\": 3, # To overwrite the default value.\n... \"'[EXCEL.XLSX]DATA'!B3\": 1 # To impose a value to B3 cell.\n... },\n... outputs=[\n... \"'[EXCEL.XLSX]DATA'!C2\", \"'[EXCEL.XLSX]DATA'!C4\"\n... ] # To define the outputs that you want to calculate.\n... )\nSolution([(\"'[EXCEL.XLSX]DATA'!A2\", ('[EXCEL.XLSX]DATA'!A2)=[[3]]),\n (\"'[EXCEL.XLSX]DATA'!A3\", ('[EXCEL.XLSX]DATA'!A3)=[[6]]),\n (\"'[EXCEL.XLSX]DATA'!B3\", ('[EXCEL.XLSX]DATA'!B3)=[[1]]),\n (\"'[EXCEL.XLSX]DATA'!B2\", ('[EXCEL.XLSX]DATA'!B2)=[[9.0]]),\n (\"'[EXCEL.XLSX]DATA'!C2\", ('[EXCEL.XLSX]DATA'!C2)=[[9.0]]),\n (\"'[EXCEL.XLSX]DATA'!C4\", ('[EXCEL.XLSX]DATA'!C4)=[[1.0]])])\n\nTo build a single function out of an excel model with fixed inputs and\noutputs, you can use the *compile* method of the *ExcelModel* that\nreturns a `DispatchPipe\n`_.\nThis is a function where the inputs and outputs are defined by the\ndata node ids (i.e., cell references).\n\n..\n\n >>> func = xl_model.compile(\n ... inputs=[\n ... \"'[EXCEL.XLSX]DATA'!A2\", # First argument of the function.\n ... \"'[EXCEL.XLSX]DATA'!B3\" # Second argument of the function.\n ... ], # To define function inputs.\n ... outputs=[\n ... \"'[EXCEL.XLSX]DATA'!C2\", \"'[EXCEL.XLSX]DATA'!C4\"\n ... ] # To define function outputs.\n ... )\n >>> func\n \n >>> [v.value[0, 0] for v in func(3, 1)] # To retrieve the data.\n [9.0, 1.0]\n >>> func.plot(view=False) # Set view=True to plot in the default browser.\n SiteMap([(ExcelModel, SiteMap())])\n\n [graph]\n\n\nCustom functions\n================\n\nAn example how to add a custom function to the formula parser is the\nfollowing:\n\n>>> import formulas\n>>> FUNCTIONS = formulas.get_functions()\n>>> FUNCTIONS['MYFUNC'] = lambda x, y: 1 + y + x\n>>> func = formulas.Parser().ast('=MYFUNC(1, 2)')[1].compile()\n>>> func()\n4\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/vinci1it2000/formulas/tarball/v0.4.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vinci1it2000/formulas", "keywords": "python,utility,library,excel,formulas,processing,calculation,dependencies,resolution,scientific,engineering,dispatch,compiling", "license": "EUPL 1.1+", "maintainer": "", "maintainer_email": "", "name": "formulas", "package_url": "https://pypi.org/project/formulas/", "platform": "", "project_url": "https://pypi.org/project/formulas/", "project_urls": { "Documentation": "http://formulas.readthedocs.io", "Donate": "https://donorbox.org/formulas", "Download": "https://github.com/vinci1it2000/formulas/tarball/v0.4.0", "Homepage": "https://github.com/vinci1it2000/formulas", "Issue tracker": "https://github.com/vinci1it2000/formulas/issues" }, "release_url": "https://pypi.org/project/formulas/0.4.0/", "requires_dist": [ "regex", "schedula (>=0.3.1)", "numpy (>=1.15)", "python-dateutil", "Pygments; extra == 'all'", "beautifulsoup4; extra == 'all'", "docutils; extra == 'all'", "flask; extra == 'all'", "graphviz; extra == 'all'", "jinja2; extra == 'all'", "lxml; extra == 'all'", "networkx; extra == 'all'", "openpyxl; extra == 'all'", "regex; extra == 'all'", "Pygments; extra == 'dev'", "beautifulsoup4; extra == 'dev'", "docutils; extra == 'dev'", "flask; extra == 'dev'", "graphviz; extra == 'dev'", "jinja2; extra == 'dev'", "lxml; extra == 'dev'", "networkx; extra == 'dev'", "openpyxl; extra == 'dev'", "regex; extra == 'dev'", "wheel; extra == 'dev'", "sphinx; extra == 'dev'", "gitchangelog; extra == 'dev'", "mako; extra == 'dev'", "sphinx-rtd-theme; extra == 'dev'", "ddt; extra == 'dev'", "setuptools (>=36.0.1); extra == 'dev'", "sphinxcontrib-restbuilder; extra == 'dev'", "nose; extra == 'dev'", "coveralls; extra == 'dev'", "openpyxl; extra == 'excel'", "networkx; extra == 'excel'", "graphviz; extra == 'plot'", "regex; extra == 'plot'", "flask; extra == 'plot'", "Pygments; extra == 'plot'", "lxml; extra == 'plot'", "beautifulsoup4; extra == 'plot'", "jinja2; extra == 'plot'", "docutils; extra == 'plot'" ], "requires_python": "", "summary": "Parse and compile Excel formulas and workbooks in python code.", "version": "0.4.0" }, "last_serial": 5764775, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d4331453bd1cf7539535a8b1ceb95b46", "sha256": "c7ca270ffe2e0a0e99e13e20256e7fc7f9422bc9f4bfdff8f9c4b4ec1b458d8d" }, "downloads": -1, "filename": "formulas-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d4331453bd1cf7539535a8b1ceb95b46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49743, "upload_time": "2017-02-06T17:41:22", "url": "https://files.pythonhosted.org/packages/a1/96/b81d59b21c89edaaa8a1cf83d4eb5c9610392799f0985ca15f35f5822ce9/formulas-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "3d05816b20cfc534c2ba60c97303d351", "sha256": "cc2c0f75883f7fcd1dfecdab3216715ee0e70137531ffdc7d099e8bae2200f87" }, "downloads": -1, "filename": "formulas-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "3d05816b20cfc534c2ba60c97303d351", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33258, "upload_time": "2018-06-05T10:50:02", "url": "https://files.pythonhosted.org/packages/98/a8/5bbcaf49eba08905858f6d2f83b7df892219d9fe8e2bc081a069d82ece8b/formulas-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76f65bfa635c0c5174745bece9d0f88b", "sha256": "cab791fe4b43581e7f20d339b6783a7eb63b1b6552098b864eb441a32835b54f" }, "downloads": -1, "filename": "formulas-0.0.10.tar.gz", "has_sig": false, "md5_digest": "76f65bfa635c0c5174745bece9d0f88b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26447, "upload_time": "2018-06-05T10:50:03", "url": "https://files.pythonhosted.org/packages/2e/4d/4bc50ff6dfb62665533e992a6fcb467005ef9ce4517590cb03571f5bd29c/formulas-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "393b1989624c784ab5526fa7db507493", "sha256": "70e861f0d1bf340e73cb8c980b2a66ba6a5663818027efc4c4dd5f29bf736b8e" }, "downloads": -1, "filename": "formulas-0.0.2.tar.gz", "has_sig": false, "md5_digest": "393b1989624c784ab5526fa7db507493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49670, "upload_time": "2017-02-08T10:16:17", "url": "https://files.pythonhosted.org/packages/93/47/2bd19964fea2066819272893a80d4ab809da3ae6581b958d13bcb5e168d0/formulas-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0509a563fd3b7f2861f97d4383925e34", "sha256": "2b5fbf926e962ed13d01cdc3e85940016acea49658ea3b61cd929248f1464ef6" }, "downloads": -1, "filename": "formulas-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0509a563fd3b7f2861f97d4383925e34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20338, "upload_time": "2017-02-09T16:06:35", "url": "https://files.pythonhosted.org/packages/43/1e/1b02421b8348b1608b3f1c53d040d4005450ad40a52c9d1d1c1e8abc1a7e/formulas-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "699d686e298e56d390785bc966113303", "sha256": "297ab366ad1a10a0c6c31e86a42beaac1e8fd0654a65f6af13457040574b8b09" }, "downloads": -1, "filename": "formulas-0.0.4.tar.gz", "has_sig": false, "md5_digest": "699d686e298e56d390785bc966113303", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20337, "upload_time": "2017-02-10T10:47:46", "url": "https://files.pythonhosted.org/packages/4d/3b/aae33e0c593a9ca627de13cbce21fe5cb199a78e659200fc9596d71ce991/formulas-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "02bd7132d7f06a58c2830d963b7d7922", "sha256": "72433672caac15f34e73480cc1260b346b96b4adf126bb60bf8edd1f4fbc5a44" }, "downloads": -1, "filename": "formulas-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "02bd7132d7f06a58c2830d963b7d7922", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24128, "upload_time": "2017-05-04T17:00:56", "url": "https://files.pythonhosted.org/packages/80/a8/0fa1adf1d2db6ea6c397d1842b1b6bf7166f07d225af69abbb87cb58f8f3/formulas-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdfa2f70e51815924eb23041d1a15a51", "sha256": "eec994420947db0f944b653435feeec018e67c3264fede8e5b385a9684cdd910" }, "downloads": -1, "filename": "formulas-0.0.5.tar.gz", "has_sig": false, "md5_digest": "fdfa2f70e51815924eb23041d1a15a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20268, "upload_time": "2017-05-04T17:00:58", "url": "https://files.pythonhosted.org/packages/af/b9/11071b07a79969e4d3b343f160fd1a04fd02ee57dd6ba743c44e93883416/formulas-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "86b9df3392d267e87abf99117f1511a4", "sha256": "db643449dc2288f2139c55f3f288c56a346a60deb20aa2623aa2a90813abe71a" }, "downloads": -1, "filename": "formulas-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "86b9df3392d267e87abf99117f1511a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24134, "upload_time": "2017-05-31T10:01:54", "url": "https://files.pythonhosted.org/packages/08/90/a3cc55e717e0f87051d96b5e9730933ad6d6449640eebbdc704f791b0401/formulas-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5eba3c5c766d3c5244e6bfe753e3663d", "sha256": "059239f18cb540a425a85a0e4e72bb11afd14051a04243a85eedf641584f75f8" }, "downloads": -1, "filename": "formulas-0.0.6.tar.gz", "has_sig": false, "md5_digest": "5eba3c5c766d3c5244e6bfe753e3663d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20336, "upload_time": "2017-05-31T10:01:55", "url": "https://files.pythonhosted.org/packages/25/fd/a046357a31584d07c8cecc953bacf2ccf165c78edfa65386a8647ecc4b16/formulas-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "210c997346777ac5eca4056d5d9719fc", "sha256": "e1b28dac8302c6cfe6f9319518267d9fe82f40b0df0777fe68c36825f97c6f6f" }, "downloads": -1, "filename": "formulas-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "210c997346777ac5eca4056d5d9719fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24964, "upload_time": "2017-07-20T13:50:45", "url": "https://files.pythonhosted.org/packages/f9/ac/444cf1a29c345d54b3a0a4e0f7e2606ed50eb05b6d22c53f468a65704084/formulas-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddf713dff29888837a5fed37b3dc99ef", "sha256": "a17e0482ab8e98775329426534874cf8cd3f019244adb999119cd910721af111" }, "downloads": -1, "filename": "formulas-0.0.7.tar.gz", "has_sig": false, "md5_digest": "ddf713dff29888837a5fed37b3dc99ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21507, "upload_time": "2017-07-20T13:50:46", "url": "https://files.pythonhosted.org/packages/e8/5f/352bfce2af7632c088780febf6b3fa4b3c5d4341fdcec217e0c71d0d9b62/formulas-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "738104ce6b71122598dbb2386c565119", "sha256": "2db9812f6f75013038558cfb0c7cdd2f988a16b84eb9c3d97eb3baef66a6fe70" }, "downloads": -1, "filename": "formulas-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "738104ce6b71122598dbb2386c565119", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33207, "upload_time": "2018-05-23T11:20:36", "url": "https://files.pythonhosted.org/packages/be/35/c04e876b4868eb0173ab95d5f00c95a05bcc748b390d13540a8beec6717e/formulas-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7c68f234f9bb98786c113fa6472343a", "sha256": "3f858933284a4450de1ec3dbf327da3cb707dc5a2af791ff1bad26f98b9201fc" }, "downloads": -1, "filename": "formulas-0.0.8.tar.gz", "has_sig": false, "md5_digest": "f7c68f234f9bb98786c113fa6472343a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25502, "upload_time": "2018-05-23T11:20:38", "url": "https://files.pythonhosted.org/packages/ff/bc/4b463cc5f8fc72793c66291bc50353b5d1b58d38a35387313ef7e571f76d/formulas-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "d01d8df1580ab03f9c2fa60f3489d52e", "sha256": "067a01517b4fe56bae83398f6581c758b233ad99f9e68de3f507c79766336add" }, "downloads": -1, "filename": "formulas-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d01d8df1580ab03f9c2fa60f3489d52e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33725, "upload_time": "2018-05-28T10:06:27", "url": "https://files.pythonhosted.org/packages/23/c5/924e918e700f24c4db425fbbc082040fb45abaea2dbf443163416d02c59d/formulas-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2f0b16fd6b57a9fb7f8834f45163477", "sha256": "e9e47ac8dd4164acb3485a2820f09567154bde82fbc5431400f66469b7c8a40f" }, "downloads": -1, "filename": "formulas-0.0.9.tar.gz", "has_sig": false, "md5_digest": "b2f0b16fd6b57a9fb7f8834f45163477", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26010, "upload_time": "2018-05-28T10:06:29", "url": "https://files.pythonhosted.org/packages/0c/83/0014db82d8faa2b8703b3b8545388d5cdbdaadbcca8530d109ba62c4f10e/formulas-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b299bf02ff063f3412c9cbc1f77bf699", "sha256": "6c8fab08791b680b3ef41f2cd4c17fdd0ceffa7c1ceb37924074208f05f5f569" }, "downloads": -1, "filename": "formulas-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b299bf02ff063f3412c9cbc1f77bf699", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36612, "upload_time": "2018-07-20T10:09:28", "url": "https://files.pythonhosted.org/packages/92/55/8e7caa43c9e2220aa7fe1a34cc85d992987dbfd940e81c20b285910ae9b4/formulas-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b19c2d2f7bbfdb78d8c312e8387e2354", "sha256": "30ef37bb52494335ea1f529c2113d53b112881bb846796fc45f8c7152efb6d32" }, "downloads": -1, "filename": "formulas-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b19c2d2f7bbfdb78d8c312e8387e2354", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34900, "upload_time": "2018-09-11T13:32:26", "url": "https://files.pythonhosted.org/packages/8a/7c/6418a76537ef69af1c0736ba2424d621ea865294530d27d6090042f3f45f/formulas-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad933d9ef7da1ddd3d24ea8ac1bc4405", "sha256": "32f99648cf6bf65cca5f29885c245418142d4d1e8d321fe551aa429578b95239" }, "downloads": -1, "filename": "formulas-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ad933d9ef7da1ddd3d24ea8ac1bc4405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 159885, "upload_time": "2018-09-11T13:32:27", "url": "https://files.pythonhosted.org/packages/c6/ab/355e5efb4776a7b28322f38e0d8feaa337e56d65b54f8ca604196358818e/formulas-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "707b5ff4d38c9aa6628a15cba9291ffb", "sha256": "2d6745766b4a3a67c66169b3857da8cd5a00a27a568f4c68cf1719bbcf27bf36" }, "downloads": -1, "filename": "formulas-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "707b5ff4d38c9aa6628a15cba9291ffb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35295, "upload_time": "2018-09-12T15:41:25", "url": "https://files.pythonhosted.org/packages/e8/2e/8fbd6eb0de19d29f5acf3f080423f1e74aadd5fb5843af3c92391baec1d5/formulas-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "746b0ae7b57fcffa0a313266d0cc1ef9", "sha256": "bc5b80333694dc2183750a638b5316b3c8ae329bfa6d673b207dcb9a1b631804" }, "downloads": -1, "filename": "formulas-0.1.2.tar.gz", "has_sig": false, "md5_digest": "746b0ae7b57fcffa0a313266d0cc1ef9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 162198, "upload_time": "2018-09-12T15:41:26", "url": "https://files.pythonhosted.org/packages/c8/59/1f76710c0522db4726b1054891d005d0a00c006df59c3e6f019aa0fdd82b/formulas-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "69b1d3b08a16cfd124a97d047a88c175", "sha256": "d951cbe53d5fc3ebcd4d1e5ae0cb2425ce740c0d4c493eb51f2228b869319ffa" }, "downloads": -1, "filename": "formulas-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "69b1d3b08a16cfd124a97d047a88c175", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36210, "upload_time": "2018-10-09T12:13:26", "url": "https://files.pythonhosted.org/packages/66/10/1e773c986b97c2fb0f6c05af6d8bf015a07b4054453532c543eb5bf79ff7/formulas-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "046e85f5fdecb037190dbb977103a61e", "sha256": "4a4609f57e20507b03a7ef6926f95f92e46cf20a753fe70dee25deb51911d918" }, "downloads": -1, "filename": "formulas-0.1.3.tar.gz", "has_sig": false, "md5_digest": "046e85f5fdecb037190dbb977103a61e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33229, "upload_time": "2018-10-09T12:13:28", "url": "https://files.pythonhosted.org/packages/3a/8a/65388d9b97c57549ba9b0a01b7556cb40b24284950037e5534b3ca4dbf2f/formulas-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6c783f715ad72b173ff4a1f4ec86e404", "sha256": "e9d883f7f90e2f4fbef6b2889e2fd43506db7b0d591333dcabf8aeea5fe99fc7" }, "downloads": -1, "filename": "formulas-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6c783f715ad72b173ff4a1f4ec86e404", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36587, "upload_time": "2018-10-19T08:57:46", "url": "https://files.pythonhosted.org/packages/b7/ea/acc06c8b5f29edd5ae14f626c2bb01d7327b7e0e4b0755474008fc57b5a3/formulas-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f15328ddec3017ab1956ee2d4bfa557", "sha256": "ff33d7fee80dbbb250c3598821168b59e5b5454faf2da322563dc5000832a23d" }, "downloads": -1, "filename": "formulas-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6f15328ddec3017ab1956ee2d4bfa557", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169312, "upload_time": "2018-10-19T08:57:48", "url": "https://files.pythonhosted.org/packages/09/67/7254441608492a1c2010819732d66255b2fe7ebc34d28d17d9d86e463083/formulas-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "855ec29ddf8932bd2fddf5a3df9dbbb9", "sha256": "6b5598935f738fd69e6e4a7108f9087f065d406cfc4c393c8529bcede1e3f0de" }, "downloads": -1, "filename": "formulas-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "855ec29ddf8932bd2fddf5a3df9dbbb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42137, "upload_time": "2018-12-11T10:02:49", "url": "https://files.pythonhosted.org/packages/a3/f0/5028bf92079552cdef55c05d8209a68e591fd958894b3d67333e48da147a/formulas-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "435b6c3849ea9fc73386c00c3e1cd0ce", "sha256": "3d4769258fbc63008de1370213242ea5d39e405365dd24146c901a711ab73840" }, "downloads": -1, "filename": "formulas-0.2.0.tar.gz", "has_sig": false, "md5_digest": "435b6c3849ea9fc73386c00c3e1cd0ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 175145, "upload_time": "2018-12-11T10:02:52", "url": "https://files.pythonhosted.org/packages/75/0d/5c4f1bd3dde3310232ea1ca28db8fd12f36830dd373fc74455999f4b0837/formulas-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7aa45ba261e1a1db8920f39a2314e3cc", "sha256": "0ec85286d0a6d8dc570662db9f1dca92edd8cfc8f7fd4a5cad38196f7d91a8b3" }, "downloads": -1, "filename": "formulas-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7aa45ba261e1a1db8920f39a2314e3cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38387, "upload_time": "2019-04-24T11:49:25", "url": "https://files.pythonhosted.org/packages/96/5d/8698c6d74ae82907917e699b7af9608e601da10871b5775b25ad56bd1e71/formulas-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f602adc79ac8b41a09e75ada549043b2", "sha256": "36fc75717e5a66fe640ba0e66cb96fc773cb59b45b8260ce0198b03ac1f1749f" }, "downloads": -1, "filename": "formulas-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f602adc79ac8b41a09e75ada549043b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37285, "upload_time": "2019-04-24T11:49:27", "url": "https://files.pythonhosted.org/packages/d9/b8/21049d5eb3ea174cece11b2181e862ef1b7711888b37ed0d2e578c7293bd/formulas-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "4710de104f9dd2876567188bcd41e898", "sha256": "eaedaadb522fc390161a2db7e6fa4bf6d0831d43dcf0c1eb7df37836abde903d" }, "downloads": -1, "filename": "formulas-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4710de104f9dd2876567188bcd41e898", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 44097, "upload_time": "2019-08-31T17:04:55", "url": "https://files.pythonhosted.org/packages/ac/87/5e21cf38a940cff42eed673bc8fc4a20ea04a7c4393e51b57f483a93d0ef/formulas-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a2a60a755ceeab16d2c8263f109bc65", "sha256": "fc251831bbed41d47bbe1b49793017f13a6489532ea814ae49684dd08346952d" }, "downloads": -1, "filename": "formulas-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6a2a60a755ceeab16d2c8263f109bc65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43662, "upload_time": "2019-08-31T17:04:57", "url": "https://files.pythonhosted.org/packages/4e/93/a6e50075bdf5c141936dfc2febc1b3ac636d3a5d2b65ce380e491ee5200b/formulas-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4710de104f9dd2876567188bcd41e898", "sha256": "eaedaadb522fc390161a2db7e6fa4bf6d0831d43dcf0c1eb7df37836abde903d" }, "downloads": -1, "filename": "formulas-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4710de104f9dd2876567188bcd41e898", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 44097, "upload_time": "2019-08-31T17:04:55", "url": "https://files.pythonhosted.org/packages/ac/87/5e21cf38a940cff42eed673bc8fc4a20ea04a7c4393e51b57f483a93d0ef/formulas-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a2a60a755ceeab16d2c8263f109bc65", "sha256": "fc251831bbed41d47bbe1b49793017f13a6489532ea814ae49684dd08346952d" }, "downloads": -1, "filename": "formulas-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6a2a60a755ceeab16d2c8263f109bc65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43662, "upload_time": "2019-08-31T17:04:57", "url": "https://files.pythonhosted.org/packages/4e/93/a6e50075bdf5c141936dfc2febc1b3ac636d3a5d2b65ce380e491ee5200b/formulas-0.4.0.tar.gz" } ] }