{ "info": { "author": "Ants, open innovation lab", "author_email": "contact@weareants.fr", "bugtrack_url": null, "classifiers": [], "description": "# Koala\n\n[![Build Status](https://travis-ci.org/anthill/koala.svg?branch=master)](https://travis-ci.org/anthill/koala)\n\nKoala converts any Excel workbook into a python object that enables on the fly calculation without the need of Excel.\n\nKoala parses an Excel workbook and creates a network of all the cells with their dependencies. It is then possible to change any value of a node and recompute all the depending cells.\n\n## Get started\n\n### Installation ###\n\nKoala is available on pypi so you can just:\n\n```\npip install koala2\n```\n\nalternatively, you can download it and install the last version from github:\n\n```\ngit clone https://github.com/anthill/koala.git\ncd koala\npython setup.py install\n```\n\n### Basic ###\n\n**Koala is still in early stages of developement and feel free to leave us issues when you encounter a problem.**\n\n#### Graph generation\n\nThe first thing you need is to convert your workbook into a graph.\nThis operation may take some time depending on the size of your workbook (we've used koalo on workbooks containg more than 100 000 intricated formulas).\n\n```\nfrom koala.ExcelCompiler import ExcelCompiler\n\nsp = Spreadsheet(\"examples/basic.xlsx\")\n```\n\nIf this step fails, ensure that your Excel file is recent and in standalone mode (open it with Excel and save, it should rewrite the file and the resulting file should be three of four times heavier).\n\n#### Graph Serialization\n\nAs the previous convertion can be long on big graphs, it is often useful to dump the graph to a file:\n\n```\nsp.dump('file.gzip')\n```\n\nwhich can be relaoded later with:\n\n```\nsp = Spreadsheet.load('file.gzip')\n```\n\n\n#### Graph Evaluation\n\nYou can read the values of some cells with `cell_evaluate`. It will only evaluate the calculation if a parent cell has been modified with `cell_set_value`.\n\n```\nsp.cell_set_value('Sheet1!A1', 10)\nsp.cell_evaluate('Sheet1!D1')\n```\n\n#### Named cells or range\n\nIf your Excel file has names defined, you can use them freely:\n\n```\nsp.cell_set_value('myNamedCell', 0)\n```\n\n### Advanced\n\n#### Compiler options\n\nYou can pass `ignore_sheets` to ignore a list of Sheets, and `ignore_hidden` to ignore all hidden cells:\n\n```\nsp = Spreadsheet(file, ignore_sheets = ['Sheet2'], ignore_hidden = True)\n```\n\nIn case you have very big files, you might want to reduce the size of the output graph. Here are a few methods.\n\n#### Volatiles\n\nVolatiles are functions that might output a reference to Cell rather than a specific value, which impose a reevaluation everytime. Typical examples are INDEX and OFFSET.\n\nAfter having created the graph, you can use `clean_pointers` to fix the value of the pointers to their initial values, which reduces the graph size and decreases the evaluation times:\n\n```\nsp.clean_pointers()\n```\n\n**Warning:** this implies that Cells concerned by these functions will be fixed permanently. If you evaluate a cell whose modified parents are separated by a pointer, you may encounter errors. \nWIP: we are working on automatic detection of the required pointers.\n\n#### Outputs\n\nYou can specify the outputs you need. In this case, all Cells not concerned in the calculation of these output Cell will be discarded, and your graph size wil be reduced.\n\n```\nsp = sp.gen_graph(inputs=['Sheet1!A1'], outputs=['Sheet1!D1', Sheet1!D2])\n```\n\n#### Pruning inputs\n\nIn this case, all Cells not impacted by inputs Cells will be discarded, and your graph size wil be reduced.\n\n```\nsp = sp.prune_graph()\n```\n\n#### Fix and free Cells\n\nYou might need to fix a Cell, so that its value is not reevaluated.\nYou can do that with:\n\n```\nsp.cell_fix('Sheet1!D1')\n```\n\nBy default, all Cells on which you use `sp.cell_set_value()` will be fixed.\n\nYou can free your fixed cells with:\n\n```\nsp.cell_free('Sheet1!D1') # frees a single Cell\nsp.cell_free() # frees all fixed Cells\n```\n\nWhen you free a Cell, it is automatically reevaluated.\n\n#### Set formula\n\nIf you need to change a Cell's formula, you can use:\n\n```\nsp.cell_set_formula('Sheet1!D1', 'Sheet1!A1 * 1000')\n```\n\nThe `string` you pass as argument needs to be written with Excel syntax.\n\n** You will find more examples and sample excel files in the directory `examples`.**\n\n#### Detect alive\nTo check if you have \"alive pointers\", i.e, pointer functions that have one of your inputs as argument, you can use:\n\n```\nsp.detect_alive(inputs = [...], outputs = [...])\n```\n\nThis will also change the `Spreadsheet.pointers_to_reset` list, so that only alive pointers are resetted on `cell_set_value()`.\n\n#### Create from scratch\nThe graph can also be created from scratch (not by using a file).\n\n```\nsp_scratch = Spreadsheet()\n\nsp_scratch.cell_add('Sheet1!A1', value=1)\nsp_scratch.cell_add('Sheet1!A2', value=2)\nsp_scratch.cell_add('Sheet1!A3', formula='=SUM(Sheet1!A1, Sheet1!A2)')\n\nsp_scratch.cell_evaluate('Sheet1!A3')\n```\n\n## Origins\nThis project is a \"double fork\" of two awesome projects:\n- [Pycel](https://github.com/dgorissen/pycel), a python module that generates AST graph from a workbook\n- [OpenPyXL](http://openpyxl.readthedocs.io/en/default/), a full API able to read/write/manipulate Excel 2010 files.\n\nThe most work we did was to adapt [Pycel](https://github.com/dgorissen/pycel) algorithm to more complex cases that it is capable of. This ended up in modifying some core parts of the library, especially with the introduction of `Range` objects.\n\nAs for [OpenPyXL](http://openpyxl.readthedocs.io/en/default/), we only took tiny bits, mainly concerning the reading part. Most of what we took from it is left unchanged in the `openpyxl` folder, with references to the original scripts on [BitBucket](https://bitbucket.org/openpyxl/openpyxl).\n\nThis module has been enriched by [Ants](http://WeAreAnts.fr), but is part of a more global project of [Engie](http://www.engie.com/) company and particularly it Center of Expertise in Modelling and Economics Studies.\n\n## Licence\n\nGPL\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/anthill/koala", "keywords": "", "license": "GNU GPL3", "maintainer": "", "maintainer_email": "", "name": "koala2", "package_url": "https://pypi.org/project/koala2/", "platform": "", "project_url": "https://pypi.org/project/koala2/", "project_urls": { "Homepage": "https://github.com/anthill/koala" }, "release_url": "https://pypi.org/project/koala2/0.0.35/", "requires_dist": [ "networkx (>=2.1)", "openpyxl (>=2.5.3)", "numpy (>=1.14.2)", "Cython (>=0.28.2)", "lxml (>=4.1.1)", "six (>=1.11.0)" ], "requires_python": "", "summary": "A python module to extract all the content of an Excel document and enable calculation without Excel", "version": "0.0.35" }, "last_serial": 5420925, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "42f0921ef99d8a3bef5d2a23bd02e860", "sha256": "373ade7f281555d2e6850462928fc55d6ad002d62d5e9dafa3408ebed5adfe90" }, "downloads": -1, "filename": "koala2-0.0.1.tar.gz", "has_sig": false, "md5_digest": "42f0921ef99d8a3bef5d2a23bd02e860", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 848030, "upload_time": "2016-07-20T14:59:47", "url": "https://files.pythonhosted.org/packages/89/1e/300b80c5d60606ff1691e07e90e3098e6b010515f27da91b24e13c133034/koala2-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "d0fbc928e7937417b60cdd8a1bcc4564", "sha256": "67ed409866882ec1e8a4bd7a3612e27534f1d831dc0922789e14c19ac48e61d3" }, "downloads": -1, "filename": "koala2-0.0.10.tar.gz", "has_sig": false, "md5_digest": "d0fbc928e7937417b60cdd8a1bcc4564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62136, "upload_time": "2016-08-18T14:16:18", "url": "https://files.pythonhosted.org/packages/c9/e0/2a9cf7483c651bdddfd59689dd9990bae11367ea0566da13e78c044918a0/koala2-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "f1cd1dabe0655ce5f10a9188143a5199", "sha256": "c34e438cf8fd58d1a0ffd711c38912101891da474eb0d213809a80945f1fd4d1" }, "downloads": -1, "filename": "koala2-0.0.11.tar.gz", "has_sig": false, "md5_digest": "f1cd1dabe0655ce5f10a9188143a5199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62183, "upload_time": "2016-08-19T09:47:51", "url": "https://files.pythonhosted.org/packages/ec/a4/b483266fd1424a0dc58e76e6b5f783aa8e91b78c12bf1ea9237e82fe0c6a/koala2-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "8e1f5eebd9a3620eb4498c9b0f84d3aa", "sha256": "265fa35d8e2583caad667c6a52faff8694f2845006b75022267575df62b03614" }, "downloads": -1, "filename": "koala2-0.0.12.tar.gz", "has_sig": false, "md5_digest": "8e1f5eebd9a3620eb4498c9b0f84d3aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62298, "upload_time": "2016-08-19T14:30:26", "url": "https://files.pythonhosted.org/packages/58/0c/be9c1eddc4149f4366f577f1445bb8de7952c0885051c1095f5914363a3d/koala2-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "48892824899add1a57e89074c3fb8fac", "sha256": "a78436dfec67d78897cd7bc1fbb132cf0d9f0bd11d164db1766a75b21f5dc622" }, "downloads": -1, "filename": "koala2-0.0.13.tar.gz", "has_sig": false, "md5_digest": "48892824899add1a57e89074c3fb8fac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62244, "upload_time": "2016-08-25T17:22:33", "url": "https://files.pythonhosted.org/packages/92/02/7021192981b5109057a90da6a545da58ba8c9985afbf7a9b38ea9d89fb9a/koala2-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "08ab40fa808474e010212088301a7188", "sha256": "ec2ec9a65aa902de0fea83edf69309a124aae79954bf6f760c48a411214ffccc" }, "downloads": -1, "filename": "koala2-0.0.14.tar.gz", "has_sig": false, "md5_digest": "08ab40fa808474e010212088301a7188", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62373, "upload_time": "2016-08-29T11:48:54", "url": "https://files.pythonhosted.org/packages/f3/34/83fbc4000440e54c3b6d3ea201d0ccf12c9e9926d98f0a479df616401f2b/koala2-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "e1312ddaf6d8c4022012578db2103101", "sha256": "d6d9ae351f6e17b2462330dc041d315bad42bc2fb42816e652cdf8aae113ec83" }, "downloads": -1, "filename": "koala2-0.0.15.tar.gz", "has_sig": false, "md5_digest": "e1312ddaf6d8c4022012578db2103101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63001, "upload_time": "2017-11-16T07:27:07", "url": "https://files.pythonhosted.org/packages/03/21/db0e8a6dd0821231fb67e1eb2ec9443ee860797e513d46d41740b3481dbc/koala2-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "efb5447335a4eab5f93874c4535481b7", "sha256": "758a71819713c839abc21405020818dce7aab760365f794486723c59ba4ec0f1" }, "downloads": -1, "filename": "koala2-0.0.16.tar.gz", "has_sig": false, "md5_digest": "efb5447335a4eab5f93874c4535481b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63343, "upload_time": "2017-11-21T10:56:39", "url": "https://files.pythonhosted.org/packages/05/64/f64805c418b2fb974348607f7f7d8878fd1ed9e0f54651f8a44ecdba4a28/koala2-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "bc355475347bb87c4ca6cc5a8d395459", "sha256": "d1fae4e3e5936d0268e12dd7af62722b1fd511f7b2154560be675e4a2911009c" }, "downloads": -1, "filename": "koala2-0.0.17.tar.gz", "has_sig": false, "md5_digest": "bc355475347bb87c4ca6cc5a8d395459", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63367, "upload_time": "2017-11-22T11:51:39", "url": "https://files.pythonhosted.org/packages/4e/ee/2d964e0187bd0735e57c8303f4ad0b6bd8eee1cf6071406c4092ef1c3205/koala2-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "6dcae6a68790f097e9dc3d08c91b9a0e", "sha256": "4e9cfedddd24e7d9a7a81774e903711824f2ce7640b8e23e3780d04c8603a3c5" }, "downloads": -1, "filename": "koala2-0.0.18.tar.gz", "has_sig": false, "md5_digest": "6dcae6a68790f097e9dc3d08c91b9a0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70383, "upload_time": "2018-04-29T15:02:50", "url": "https://files.pythonhosted.org/packages/52/7d/1f8dd3e834b2b609a4fb43fc7a1e98b6b32e035d7318db8c9d9b95d6bf90/koala2-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "e98adc1fdf93414f5a71e5ef93855b34", "sha256": "6ba7a1fa361529e94dc6ce1880e16ce89326cbd89b22e7983aa42520611a5f0c" }, "downloads": -1, "filename": "koala2-0.0.19.tar.gz", "has_sig": false, "md5_digest": "e98adc1fdf93414f5a71e5ef93855b34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70457, "upload_time": "2018-05-14T08:28:54", "url": "https://files.pythonhosted.org/packages/f2/09/62181417cd14b0e66f45fdd7a5c465fa1aefe46f0ec1385f6507df02c4db/koala2-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a1aece441f6553c166778d49e4f5ca56", "sha256": "18b587d722c0933ac5d3d75575d0823e269607493bbaf3668c7457745924f359" }, "downloads": -1, "filename": "koala2-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a1aece441f6553c166778d49e4f5ca56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 848017, "upload_time": "2016-07-20T15:12:50", "url": "https://files.pythonhosted.org/packages/09/2b/4cf9aa43a7830d77f22841494ebc87bfd704b9392c0e653649cbcc3c7477/koala2-0.0.2.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "657cd519c107d2421a6f69b91fdc247d", "sha256": "031c553e2250d4925cfd18b11d73776007d6bce56d531a708164d1ad1506ccdd" }, "downloads": -1, "filename": "koala2-0.0.20.tar.gz", "has_sig": false, "md5_digest": "657cd519c107d2421a6f69b91fdc247d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70471, "upload_time": "2018-05-15T09:11:27", "url": "https://files.pythonhosted.org/packages/e5/d2/263c4d7374d0432dbb8308f12e0887d3f4142b66f11fecde40f88a50f08d/koala2-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "43e479c6fb7c688610e271916fa56403", "sha256": "3bdf8659c5782f114841465762cc569bebf8abc072fd9e5c1ebb8e52fd9b0cae" }, "downloads": -1, "filename": "koala2-0.0.21.tar.gz", "has_sig": false, "md5_digest": "43e479c6fb7c688610e271916fa56403", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73395, "upload_time": "2018-08-03T11:52:04", "url": "https://files.pythonhosted.org/packages/e1/06/900505178d46eccf6f5cb93e99b96ecd59c6e2c33039c35a530bdb1e9888/koala2-0.0.21.tar.gz" } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "6bbf4a11027755bda5d5a327a17be196", "sha256": "00e2a317e6acade55021c77559db778e51987fce68bbdde72a3eb7bb2cf548b8" }, "downloads": -1, "filename": "koala2-0.0.22.tar.gz", "has_sig": false, "md5_digest": "6bbf4a11027755bda5d5a327a17be196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73448, "upload_time": "2018-08-14T09:38:00", "url": "https://files.pythonhosted.org/packages/25/fa/21e170ed01ce16c46e819c04fc69acc8b817e9ed780d15e7ed82edd6f69d/koala2-0.0.22.tar.gz" } ], "0.0.23": [ { "comment_text": "", "digests": { "md5": "43ab0459a5861e8c9dbe6fbc3bc90352", "sha256": "d13f2e83b619ec3403075e8f05298d54bdd54651dc415f272822750dbd612531" }, "downloads": -1, "filename": "koala2-0.0.23.tar.gz", "has_sig": false, "md5_digest": "43ab0459a5861e8c9dbe6fbc3bc90352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73475, "upload_time": "2018-08-16T07:00:11", "url": "https://files.pythonhosted.org/packages/99/d5/0706a0c89824bce26fe552c3e7ee00f0e2d8331aa2c298272618532be4ff/koala2-0.0.23.tar.gz" } ], "0.0.24": [ { "comment_text": "", "digests": { "md5": "f1129a614aebe0f035730189f39a48fc", "sha256": "c64c93506f9fb2900e2ee45d91e0f11f8cf4eecf12496bddc0a75d38b549c106" }, "downloads": -1, "filename": "koala2-0.0.24.tar.gz", "has_sig": false, "md5_digest": "f1129a614aebe0f035730189f39a48fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73619, "upload_time": "2018-09-12T08:19:08", "url": "https://files.pythonhosted.org/packages/68/13/03a9885b3ad50c59d457f00556a1e0ae781d22bdbe08a28a4f1bfa693ad2/koala2-0.0.24.tar.gz" } ], "0.0.25": [ { "comment_text": "", "digests": { "md5": "439c647816948dfa596d12a47437e7dd", "sha256": "93cc7bb42c501b6a6672779a6bbbfd581f76c8adfb146662df70dbd81050b1eb" }, "downloads": -1, "filename": "koala2-0.0.25.tar.gz", "has_sig": false, "md5_digest": "439c647816948dfa596d12a47437e7dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73646, "upload_time": "2018-09-12T11:52:49", "url": "https://files.pythonhosted.org/packages/35/c0/9163b0f87b97cb34d9dc0cc9e90470b17d752b323a77b7c38ee751337090/koala2-0.0.25.tar.gz" } ], "0.0.26": [ { "comment_text": "", "digests": { "md5": "b5374332c1fe181b9ae366a044085d12", "sha256": "6429bcb2698d8bd21b5c07fb97957d2d9a885266ed3fec1307d9996db3069411" }, "downloads": -1, "filename": "koala2-0.0.26.tar.gz", "has_sig": false, "md5_digest": "b5374332c1fe181b9ae366a044085d12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73664, "upload_time": "2018-10-12T05:51:09", "url": "https://files.pythonhosted.org/packages/7a/51/cabf177a35912f534f20946399f0e2f3a8dda206fff6fa1c832704dfba3b/koala2-0.0.26.tar.gz" } ], "0.0.27": [ { "comment_text": "", "digests": { "md5": "566c9b6bee47b522cc6ddf00e7cd8a6f", "sha256": "1b17e2f54b160b6b7d13226ead71245c5413d959286024672b9f25678d9098ef" }, "downloads": -1, "filename": "koala2-0.0.27.tar.gz", "has_sig": false, "md5_digest": "566c9b6bee47b522cc6ddf00e7cd8a6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73813, "upload_time": "2018-10-23T09:57:05", "url": "https://files.pythonhosted.org/packages/43/a1/d44f57c05adf8571cd2b25a9394cfe5ab8f3101ad23e3f4705143f3bf39c/koala2-0.0.27.tar.gz" } ], "0.0.28": [ { "comment_text": "", "digests": { "md5": "734b42e192be0bd137c21510567d8c4d", "sha256": "fc926375e7407a3dd15631254fbf5dba44b910a79b10e4f889a7e3c06ed85c37" }, "downloads": -1, "filename": "koala2-0.0.28.tar.gz", "has_sig": false, "md5_digest": "734b42e192be0bd137c21510567d8c4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74004, "upload_time": "2018-10-30T13:19:21", "url": "https://files.pythonhosted.org/packages/bd/13/17d11cffff057994cf8c816ceb18bfb5ab5853c17b83f1f6ea3f35360e09/koala2-0.0.28.tar.gz" } ], "0.0.29": [ { "comment_text": "", "digests": { "md5": "e5167493910327ca0c488a1bced2333c", "sha256": "7e707b5b436ce72d29dddfa074706344cb09337920718bd8e0824fae16902104" }, "downloads": -1, "filename": "koala2-0.0.29.tar.gz", "has_sig": false, "md5_digest": "e5167493910327ca0c488a1bced2333c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74291, "upload_time": "2019-02-11T08:40:20", "url": "https://files.pythonhosted.org/packages/4b/fb/4911d7af3d39a1e7316833ed6048798090e4f9218fea36b71b0100e0bcd7/koala2-0.0.29.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "86bdf00083dc7363f6a70e49a46794f2", "sha256": "faa20485f0642aa474c07da37f1125165c1b59b263a59a8d9aa6835710c4407b" }, "downloads": -1, "filename": "koala2-0.0.3.tar.gz", "has_sig": false, "md5_digest": "86bdf00083dc7363f6a70e49a46794f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 848032, "upload_time": "2016-07-20T15:17:32", "url": "https://files.pythonhosted.org/packages/10/28/1c22cf2ad58410ae7dbb260c29cf675898f0c244bf12ea078759e0a1d31e/koala2-0.0.3.tar.gz" } ], "0.0.30": [ { "comment_text": "", "digests": { "md5": "9f9409fff454dcfd919f1377b1dcc24b", "sha256": "3325423e3e2aedabc5989a16bdab15b84f8165157e084714b2c606f60c844e55" }, "downloads": -1, "filename": "koala2-0.0.30.tar.gz", "has_sig": false, "md5_digest": "9f9409fff454dcfd919f1377b1dcc24b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59891, "upload_time": "2019-03-26T09:22:06", "url": "https://files.pythonhosted.org/packages/8b/1d/ddd1610b010f1964b528ca093cc831e72950fefea896eaa263248e030567/koala2-0.0.30.tar.gz" } ], "0.0.31": [ { "comment_text": "", "digests": { "md5": "ebfb1f4621f01bcdc23772d109739c98", "sha256": "1077c629a5202fa68ac2bcec12d35e743fe62db71bd77fb74f883219de736eeb" }, "downloads": -1, "filename": "koala2-0.0.31.tar.gz", "has_sig": false, "md5_digest": "ebfb1f4621f01bcdc23772d109739c98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61597, "upload_time": "2019-04-08T06:44:09", "url": "https://files.pythonhosted.org/packages/ea/df/85a6a9af7e0bd7b88649c504e8b614e40e8c080546edf12769b03c9dc669/koala2-0.0.31.tar.gz" } ], "0.0.32": [ { "comment_text": "", "digests": { "md5": "555d99263cb9cbf325fb979ef2284a8a", "sha256": "514e3f240863972ffa3a5495bc2802ab0f2e30fedda805bca0186ee5ec6ca734" }, "downloads": -1, "filename": "koala2-0.0.32.tar.gz", "has_sig": false, "md5_digest": "555d99263cb9cbf325fb979ef2284a8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64074, "upload_time": "2019-05-13T08:05:28", "url": "https://files.pythonhosted.org/packages/7e/a1/e6e69a6515d7df5899b19fe3c6c7fb10e97eac90672a4d3d0d1be721c36e/koala2-0.0.32.tar.gz" } ], "0.0.33": [ { "comment_text": "", "digests": { "md5": "49d381aa4efdbe333790a0e8834bc7c1", "sha256": "98dd9bbc9d406d16b0b540f32c8414c7c392e88e78ecd56466225878acd59344" }, "downloads": -1, "filename": "koala2-0.0.33.tar.gz", "has_sig": false, "md5_digest": "49d381aa4efdbe333790a0e8834bc7c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64124, "upload_time": "2019-05-13T08:06:26", "url": "https://files.pythonhosted.org/packages/01/8d/66d0c551feccfa51dac4c9aee6493bb2362f71fdd685922b2515eee06d9c/koala2-0.0.33.tar.gz" } ], "0.0.34": [ { "comment_text": "", "digests": { "md5": "4a34376c2c32615637ae8daa696f9a4a", "sha256": "4b2fd8ff36f767de8551e6ab9a383dfa217eb0ca51b8773d2ea5d0d3aefcad07" }, "downloads": -1, "filename": "koala2-0.0.34.tar.gz", "has_sig": false, "md5_digest": "4a34376c2c32615637ae8daa696f9a4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66821, "upload_time": "2019-06-19T15:26:46", "url": "https://files.pythonhosted.org/packages/a4/ac/f269655fe9eeca843ad188f4c9630aa30f140477a12919af20221b8a7e4f/koala2-0.0.34.tar.gz" } ], "0.0.35": [ { "comment_text": "", "digests": { "md5": "fa1d10327eea3540454f2cde91b8c847", "sha256": "f941b667fef6c46fae86dc4a690348675c96c88dbaf7adcd9ced86786975944f" }, "downloads": -1, "filename": "koala2-0.0.35-py3-none-any.whl", "has_sig": false, "md5_digest": "fa1d10327eea3540454f2cde91b8c847", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 86995, "upload_time": "2019-06-19T15:33:49", "url": "https://files.pythonhosted.org/packages/34/75/a21410eab2e05de4ac64153daefba2053f40d5b26a8f432087c8ce0868d7/koala2-0.0.35-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1632841e3c89b73ee4cb09d5e9f54b02", "sha256": "030b5d404ec7976195204324b57041b4c2fc0f5267cd9d9db27ea1d2cd96e135" }, "downloads": -1, "filename": "koala2-0.0.35.tar.gz", "has_sig": false, "md5_digest": "1632841e3c89b73ee4cb09d5e9f54b02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69819, "upload_time": "2019-06-19T15:33:51", "url": "https://files.pythonhosted.org/packages/02/ac/ebb0a8660b892e4ba36f56aa0e90a46d8999e416013dd9d711943b71ed59/koala2-0.0.35.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e9d789dd0382420f48d56327c0d2c4be", "sha256": "f67c18abf40280e6c0a460cabe396149c3c40c88703ccf964654d2a50863efbb" }, "downloads": -1, "filename": "koala2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e9d789dd0382420f48d56327c0d2c4be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 848328, "upload_time": "2016-07-20T15:21:31", "url": "https://files.pythonhosted.org/packages/30/a8/ad72bba2d64d2e8c885584d3daa90de7a16958e8852113a79b40c89b2bd3/koala2-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "114287b26f1e5db921c3592fc6f3c9ec", "sha256": "a99491b3938de40897c49ba7bfeb8159d6d74b5fd9cb61a7c46dfa2ef4225bd0" }, "downloads": -1, "filename": "koala2-0.0.5.tar.gz", "has_sig": false, "md5_digest": "114287b26f1e5db921c3592fc6f3c9ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56505, "upload_time": "2016-07-27T10:10:04", "url": "https://files.pythonhosted.org/packages/d1/ad/8d484c396f16a4f30d80526eafa6179fbe17f30a368327bf0726d8effc68/koala2-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "fd02c1fbf048a745dae8121a8f791fe5", "sha256": "2d8ef64721e4ebdf796176ac5a67d9974fa15724737455f5393519395fe157b6" }, "downloads": -1, "filename": "koala2-0.0.6.tar.gz", "has_sig": false, "md5_digest": "fd02c1fbf048a745dae8121a8f791fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 943450, "upload_time": "2016-07-27T10:49:50", "url": "https://files.pythonhosted.org/packages/49/29/76310adfaed8da1d516718c030b13c4f4a92385648fe1946018d7164e86d/koala2-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "5621545262746f50583e07b11d37bcb6", "sha256": "050ffec7992d80680170d8530ce7095df8469f58aeaa1dec6324bbab6e4efa18" }, "downloads": -1, "filename": "koala2-0.0.7.tar.gz", "has_sig": false, "md5_digest": "5621545262746f50583e07b11d37bcb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59833, "upload_time": "2016-07-28T14:57:24", "url": "https://files.pythonhosted.org/packages/7f/e7/a547ce538a7374e70e4b0e9985811e3e3a06d29f375d41d5b049ab9f7a4a/koala2-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "d6164f4cbbabfdc6cd3fdcbc4f8b271b", "sha256": "87aaf98ec74a97b143bd74da1cf570cc46e566b121d727b27c31d330f9b7b5fd" }, "downloads": -1, "filename": "koala2-0.0.8.tar.gz", "has_sig": false, "md5_digest": "d6164f4cbbabfdc6cd3fdcbc4f8b271b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60968, "upload_time": "2016-07-29T14:36:56", "url": "https://files.pythonhosted.org/packages/d5/36/30d8fedc6ceb4e9a1d04512b621b2e4cd112531183b76a120a16ed1acc45/koala2-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa1d10327eea3540454f2cde91b8c847", "sha256": "f941b667fef6c46fae86dc4a690348675c96c88dbaf7adcd9ced86786975944f" }, "downloads": -1, "filename": "koala2-0.0.35-py3-none-any.whl", "has_sig": false, "md5_digest": "fa1d10327eea3540454f2cde91b8c847", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 86995, "upload_time": "2019-06-19T15:33:49", "url": "https://files.pythonhosted.org/packages/34/75/a21410eab2e05de4ac64153daefba2053f40d5b26a8f432087c8ce0868d7/koala2-0.0.35-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1632841e3c89b73ee4cb09d5e9f54b02", "sha256": "030b5d404ec7976195204324b57041b4c2fc0f5267cd9d9db27ea1d2cd96e135" }, "downloads": -1, "filename": "koala2-0.0.35.tar.gz", "has_sig": false, "md5_digest": "1632841e3c89b73ee4cb09d5e9f54b02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69819, "upload_time": "2019-06-19T15:33:51", "url": "https://files.pythonhosted.org/packages/02/ac/ebb0a8660b892e4ba36f56aa0e90a46d8999e416013dd9d711943b71ed59/koala2-0.0.35.tar.gz" } ] }