{ "info": { "author": "Evgeniy Pogrebnyak", "author_email": "e.pogrebnyak@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Office/Business :: Financial", "Topic :: Utilities" ], "description": "[![PyPI](https://img.shields.io/pypi/v/boo.svg)](https://pypi.python.org/pypi/boo/#history)\n[![Build Status](https://travis-ci.com/ru-corporate/boo.svg?branch=master)](https://travis-ci.com/ru-corporate/boo)\n[![Coverage Status](https://coveralls.io/repos/github/ru-corporate/boo/badge.svg?branch=master&service=github)](https://coveralls.io/github/ru-corporate/boo?branch=master)\n[![colab](https://img.shields.io/badge/colab-launch-blue.svg)](https://colab.research.google.com/drive/11g70BD78BnM6PqVrT4uZ27zrNBQ2ae3s#scrollTo=YD-la400CQyT)\n\n# boo\n\n`boo` is a Python client to download and transform annual corporate reports from Rosstat website. \n\n## Install\n\n```\npip install boo\n```\n\nFor development version:\n\n```\npip install git+https://github.com/ru-corporate/boo.git@master\n```\n\n## Usage\n\n```python\nfrom boo import download, build, read_dataframe\n\ndownload(2012)\nbuild(2012)\ndf = read_dataframe(2012)\nprint(df.head())\n```\n\n## Files\n\nCSV files are located at `~/.boo` folder. `boo.locate(year)` will show exactly where they are.\n\nFile name | Description | Column count | Created by \n--------------|--------------|:------------:|:------------:\n`raw.csv` | Original CSV file from Rosstat website. No header row. | 266 | `download(year)`\n`.csv` | CSV file with column names in header row. | 58 | `build(year)`\n\n`boo.build()` takes `raw.csv` and creates a local CSV file `.csv` with \ncolumn names. `.csv` is importable as pandas dataframe. `read_intermediate_df(year)` will return `.csv` content.\n\n`df = read_dataframe(year)` returns reference (\"canonic\") dataset. This function transforms some columns in `.csv`(eg. extracts `region` from `inn`) and applies filters to remove erroneous rows.\n\n## Variables\n\nThe Rosstat dataset contains balance sheet, profit and loss and cash flow statement variables. Each variable is a column in dataframe. \n\n```python\n>>> {c:boo.whatis(c) for c in df.columns if \"_lag\" no in c})\nOut[126]: \n{'title': '\u041a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438',\n 'org': '\u0422\u0438\u043f \u044e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043b\u0438\u0446\u0430 (\u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438)',\n 'okpo': None,\n 'okopf': None,\n 'okfs': None,\n 'okved': None,\n 'unit': None,\n 'ok1': '\u041a\u043e\u0434 \u041e\u041a\u0412\u042d\u0414 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f',\n 'ok2': '\u041a\u043e\u0434 \u041e\u041a\u0412\u042d\u0414 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f',\n 'ok3': '\u041a\u043e\u0434 \u041e\u041a\u0412\u042d\u0414 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f',\n 'region': '\u041a\u043e\u0434 \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u043f\u043e \u0418\u041d\u041d',\n 'of': '\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430',\n 'ta_fix': '\u0418\u0442\u043e\u0433\u043e \u0432\u043d\u0435\u043e\u0431\u043e\u0440\u043e\u0442\u043d\u044b\u0445 \u0430\u043a\u0442\u0438\u0432\u043e\u0432',\n 'cash': '\u0414\u0435\u043d\u0435\u0436\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0435 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u044b',\n 'ta_nonfix': '\u0418\u0442\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u043e\u0442\u043d\u044b\u0445 \u0430\u043a\u0442\u0438\u0432\u043e\u0432',\n 'ta': '\u0411\u0410\u041b\u0410\u041d\u0421 (\u0430\u043a\u0442\u0438\u0432)',\n 'tp_capital': '\u0418\u0442\u043e\u0433\u043e \u043a\u0430\u043f\u0438\u0442\u0430\u043b',\n 'debt_long': '\u0414\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u0435\u043c\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430',\n 'tp_long': '\u0418\u0442\u043e\u0433\u043e \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432',\n 'debt_short': '\u041a\u0440\u0430\u0442\u043a\u043e\u0441\u0440\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u0435\u043c\u043d\u044b\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430',\n 'tp_short': '\u0418\u0442\u043e\u0433\u043e \u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0440\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432',\n 'tp': '\u0411\u0410\u041b\u0410\u041d\u0421 (\u043f\u0430\u0441\u0441\u0438\u0432)',\n 'sales': '\u0412\u044b\u0440\u0443\u0447\u043a\u0430',\n 'profit_oper': '\u041f\u0440\u0438\u0431\u044b\u043b\u044c (\u0443\u0431\u044b\u0442\u043e\u043a) \u043e\u0442 \u043f\u0440\u043e\u0434\u0430\u0436',\n 'exp_interest': '\u041f\u0440\u043e\u0446\u0435\u043d\u0442\u044b \u043a \u0443\u043f\u043b\u0430\u0442\u0435',\n 'profit_before_tax': '\u041f\u0440\u0438\u0431\u044b\u043b\u044c (\u0443\u0431\u044b\u0442\u043e\u043a) \u0434\u043e \u043d\u0430\u043b\u043e\u0433\u043e\u043e\u0431\u043b\u043e\u0436\u0435\u043d\u0438\u044f',\n 'profit_after_tax': '\u0427\u0438\u0441\u0442\u0430\u044f \u043f\u0440\u0438\u0431\u044b\u043b\u044c (\u0443\u0431\u044b\u0442\u043e\u043a)',\n 'cf_oper_in': '\u041f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f - \u0432\u0441\u0435\u0433\u043e',\n 'cf_oper_in_sales': '\u041e\u0442 \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0446\u0438\u0438, \u0442\u043e\u0432\u0430\u0440\u043e\u0432, \u0440\u0430\u0431\u043e\u0442 \u0438 \u0443\u0441\u043b\u0443\u0433',\n 'cf_oper_out': '\u041f\u043b\u0430\u0442\u0435\u0436\u0438 - \u0432\u0441\u0435\u0433\u043e',\n 'paid_to_supplier': '\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c (\u043f\u043e\u0434\u0440\u044f\u0434\u0447\u0438\u043a\u0430\u043c) \u0437\u0430 \u0441\u044b\u0440\u044c\u0435, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u0440\u0430\u0431\u043e\u0442\u044b, \u0443\u0441\u043b\u0443\u0433\u0438',\n 'paid_to_worker': '\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u043f\u043b\u0430\u0442\u043e\u0439 \u0442\u0440\u0443\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u043e\u0432',\n 'paid_interest': '\u041f\u0440\u043e\u0446\u0435\u043d\u0442\u044b \u043f\u043e \u0434\u043e\u043b\u0433\u043e\u0432\u044b\u043c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u043c',\n 'paid_profit_tax': '\u041d\u0430\u043b\u043e\u0433\u0430 \u043d\u0430 \u043f\u0440\u0438\u0431\u044b\u043b\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439',\n 'paid_other_costs': '\u041f\u0440\u043e\u0447\u0438\u0435 \u043f\u043b\u0430\u0442\u0435\u0436\u0438',\n 'cf_oper': '\u0421\u0430\u043b\u044c\u0434\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439',\n 'cf_inv_in': '\u041f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f - \u0432\u0441\u0435\u0433\u043e',\n 'cf_inv_out': '\u041f\u043b\u0430\u0442\u0435\u0436\u0438 - \u0432\u0441\u0435\u0433\u043e',\n 'paid_fa_investment': '\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435\u043c, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c, \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u0440\u0435\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u043d\u0435\u043e\u0431\u043e\u0440\u043e\u0442\u043d\u044b \u0430\u043a\u0442\u0438\u0432\u043e\u0432',\n 'cf_inv': '\u0421\u0430\u043b\u044c\u0434\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043e\u0442 \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439',\n 'cf_fin_in': '\u041f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f - \u0432\u0441\u0435\u0433\u043e',\n 'cf_fin_out': '\u041f\u043b\u0430\u0442\u0435\u0436\u0438 - \u0432\u0441\u0435\u0433\u043e',\n 'cf_fin': '\u0421\u0430\u043b\u044c\u0434\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043e\u0442 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439',\n 'cf': '\u0421\u0430\u043b\u044c\u0434\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0437\u0430 \u043e\u0442\u0447\u0435\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434'}\n```\n\n## Hints\n\n#### User\n\n- CSV files are quite big, start with year 2012 to experiment.\n- Use link above for Google Colab to run package remotely.\n- Use `read_dataframe(year)` to read canonic CSV file. \n\n#### Developper\n\n- `boo.path.default_data_folder` shows where the CSV files are on a computer.\n- `boo.columns` controls CSV column selection and naming.\n- `boo.dataframe.canonic` makes canonic CSV. By coincidence the outputhas same number of columns as `.csv`, but the columns are slightly different as some columns are added and some removed.\n- `boo.year.TIMESTAMPS` help to find proper URLs, which change along with Rosstat website updates. \n- New annual dataset released around September-October.\n\n## Script\n\nRosstat publishes CSV files without column headers. \nWhen preparing a readable CSV file we assign a name to columns\nwith variables of interest and cut away the rest of the columns. \n\nThis way we get a much smaller file (~50% of the size). We can read \nand manipulate data from this this file using pandas or R. \n\nFor illustration, batch script below creates `2012.csv` file with column names.\n\n```bat\nset url=http://www.gks.ru/opendata/storage/7708234640-bdboo2012/data-20190329t000000-structure-20121231t000000.csv\nset index=1,2,3,4,5,6,7,8,17,18,27,28,37,38,41,42,43,44,57,58,59,60,67,68,69,70,79,80,81,82,83,84,93,94,99,100,105,106,117,118,204,205,209,210,211,212,213,214,215,216,222,223,228,229,235,240,241,266 \nset colnames=name,okpo,okopf,okfs,okved,inn,unit,report_type,of,of_lag,ta_fix,ta_fix_lag,cash,cash_lag,ta_nonfix,ta_nonfix_lag,ta,ta_lag,tp_capital,tp_capital_lag,debt_long,debt_long_lag,tp_long,tp_long_lag,debt_short,debt_short_lag,tp_short,tp_short_lag,tp,tp_lag,sales,sales_lag,profit_oper,profit_oper_lag,exp_interest,exp_interest_lag,profit_before_tax,profit_before_tax_lag,profit_after_tax,profit_after_tax_lag,cf_oper_in,cf_oper_in_sales,cf_oper_out,paid_to_supplier,paid_to_worker,paid_interest,paid_profit_tax,paid_other_costs,cf_oper,cf_inv_in,cf_inv_out,paid_fa_investment,cf_inv,cf_fin_in,cf_fin_out,cf_fin,cf,date_published\n\ncurl %url% > raw2012.csv\n\necho %colnames% > 2012.csv\ncat raw2012.csv | csvcut -d; -e ansi -c%index% | iconv -f cp1251 -t utf-8 >> 2012.csv\n\ncsvclean 2012.csv\n```\n\nNote: this is a Windows batch file, but it relies on GNU utilities (eg via Cygwin, MinGW or [GOW](https://github.com/bmatzelle/gow/wiki)) and [csvkit](https://csvkit.readthedocs.io/en/latest/). Similar script can be adapted for pure linux/bash. [Google colab version](https://colab.research.google.com/drive/1FtwoYfBxzDjGyeQ-BPvcDa6k27DpzuVW) allows a mixin of python and script code, similar to f-strings.\n\nBatch file result is similar to running: \n\n```python \nfrom boo import download, build\ndownload(2012)\nbuild(2012)\n```\n\n## Limitations\n\n- No timeseries: we can access cross-section of all data by year, but not several years of data by each firm. \n- No database: we store files as plain CSV, not in a database.\n\n## Contributors\n\nThe package is maintained by [Evgeniy Pogrebnyak](https://github.com/epogrebnyak).\n\nSpecial thanks to [Daniil Chizhevskij](https://daniilchizhevskij.ml/) for PyPI collaboration. Without his support `pip install boo` would not be possible.\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": "http://github.com/ru-corporate/boo", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "boo", "package_url": "https://pypi.org/project/boo/", "platform": "", "project_url": "https://pypi.org/project/boo/", "project_urls": { "Homepage": "http://github.com/ru-corporate/boo" }, "release_url": "https://pypi.org/project/boo/0.0.92/", "requires_dist": [ "requests", "pandas", "tqdm" ], "requires_python": "", "summary": "Russian corporate reports 2012-2017", "version": "0.0.92" }, "last_serial": 5696177, "releases": { "0.0.4": [ { "comment_text": "", "digests": { "md5": "cffb6deb62bb72c92f23bdbc1fb6027b", "sha256": "2ec9969e29ac1b6630225114b9dad076d8855ea2faef55db743314fd0b7095ee" }, "downloads": -1, "filename": "boo-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "cffb6deb62bb72c92f23bdbc1fb6027b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10127, "upload_time": "2019-07-08T21:25:41", "url": "https://files.pythonhosted.org/packages/0d/52/ee45acf7191d0edc881a82b952a2c0489b56945e932ea0c02e2c8ef7bad2/boo-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "56f8c179b388e78cbc2fb30fac4fd9ea", "sha256": "70c1879da750f8988bf8f137bb84100d0759fe4cae39a06972c82a7e2ea23f30" }, "downloads": -1, "filename": "boo-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "56f8c179b388e78cbc2fb30fac4fd9ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11956, "upload_time": "2019-07-08T22:30:55", "url": "https://files.pythonhosted.org/packages/51/08/94e9df2f06cacf15e00499a8c33c84ea167e7d6bc073fedd08c1d85c1cc4/boo-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "200982e232bff337f30252c6c71ae554", "sha256": "21cb25be15be5d97a18c00a864e53afd4cc02e76ba42b7f3b90ef201e1b0c89c" }, "downloads": -1, "filename": "boo-0.0.5.tar.gz", "has_sig": false, "md5_digest": "200982e232bff337f30252c6c71ae554", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11829, "upload_time": "2019-07-08T22:30:56", "url": "https://files.pythonhosted.org/packages/ea/d4/4a453a8ccc440c863166c77293233af76e3ecd2689b00fbf499507f31f2a/boo-0.0.5.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "94d399a09cebee771625566fc902cda9", "sha256": "1ad7a0312157a165ec7ffe7751ccbc81919ae48f7e14b93731cbf8e821ff865a" }, "downloads": -1, "filename": "boo-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "94d399a09cebee771625566fc902cda9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65822, "upload_time": "2019-07-25T08:45:34", "url": "https://files.pythonhosted.org/packages/6e/0e/5e51cb4899b1ed51ed82707589bf939463f98ae4c91f0993584204ea8af1/boo-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfa61aed7676582a6c36b55dd38c446b", "sha256": "7a2c7dc2a1221a493c92eed0954adaa478bb469fd9ade25bcbb11a0fc80d8efa" }, "downloads": -1, "filename": "boo-0.0.8.tar.gz", "has_sig": false, "md5_digest": "dfa61aed7676582a6c36b55dd38c446b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62477, "upload_time": "2019-07-25T08:45:36", "url": "https://files.pythonhosted.org/packages/ec/68/27b97bcb437b39d8ddd3ebe2744a2404a60e0428bd5a92af599805eb6e0d/boo-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "5b770dae422e74df702faeb30281053a", "sha256": "12dd74ed3d2b67fd3a24d8c26b6c459a73903eae1e08a548be4f344de979faee" }, "downloads": -1, "filename": "boo-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "5b770dae422e74df702faeb30281053a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69173, "upload_time": "2019-08-03T17:58:29", "url": "https://files.pythonhosted.org/packages/5f/0b/1c341f48c89b41f7208ca7677e75bf2592889f6e3cdc9f5d6784d83803f9/boo-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1b94d876e6fce2d4d3edc4a8d7b761e", "sha256": "8f92853fa49ffc3b43d74c96170edc6394b9ee0f2b5b12878ef69a4539276159" }, "downloads": -1, "filename": "boo-0.0.9.tar.gz", "has_sig": false, "md5_digest": "d1b94d876e6fce2d4d3edc4a8d7b761e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64994, "upload_time": "2019-08-03T17:58:31", "url": "https://files.pythonhosted.org/packages/c7/5d/5b43eebc0f0899e3122a50ed2de25da10796662b9ede5f1193bc06799fcd/boo-0.0.9.tar.gz" } ], "0.0.91": [ { "comment_text": "", "digests": { "md5": "402e2fbc3462ecdf30417285d041fcb9", "sha256": "19ca5d1f84ab40df4cd7e28f191af0c53e201f8f37e1d034faacb262b8a71b41" }, "downloads": -1, "filename": "boo-0.0.91-py3-none-any.whl", "has_sig": false, "md5_digest": "402e2fbc3462ecdf30417285d041fcb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69416, "upload_time": "2019-08-04T09:00:27", "url": "https://files.pythonhosted.org/packages/9a/c4/7984ebbcfda39a56d0067fb2f658554b967703d8c77e213adf0e53c65efb/boo-0.0.91-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1a24dbbfa46cfb9a2acbb42114aecdc", "sha256": "3c9e3af7c4ae12b57fae65d322d40647604eb7a2bb71e9e092848bcce46182a8" }, "downloads": -1, "filename": "boo-0.0.91.tar.gz", "has_sig": false, "md5_digest": "c1a24dbbfa46cfb9a2acbb42114aecdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65169, "upload_time": "2019-08-04T09:00:29", "url": "https://files.pythonhosted.org/packages/66/e3/a2bea0e7b3b6bf26d0c03ba75cdfa92e2fbe1f53b1091a3e1c37ffdf85d9/boo-0.0.91.tar.gz" } ], "0.0.92": [ { "comment_text": "", "digests": { "md5": "b5cd48af5e19aec8b0ef0902e96dfc55", "sha256": "a3d029880462254ba6d473c668dbe811535e083e527af76318e7eab9ed1c2f48" }, "downloads": -1, "filename": "boo-0.0.92-py3-none-any.whl", "has_sig": false, "md5_digest": "b5cd48af5e19aec8b0ef0902e96dfc55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 71372, "upload_time": "2019-08-19T00:21:13", "url": "https://files.pythonhosted.org/packages/df/28/ab2433405638a33c52f9b31155e74df05d7a8f2fb3de26fb6e8f7730859d/boo-0.0.92-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84cfdca098daf716c2a4a7087b9d0b3b", "sha256": "573924ab9847c1709fa57d611310ddf5dfcd4129f481ff5d3261e1a3f7185b90" }, "downloads": -1, "filename": "boo-0.0.92.tar.gz", "has_sig": false, "md5_digest": "84cfdca098daf716c2a4a7087b9d0b3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68772, "upload_time": "2019-08-19T00:21:15", "url": "https://files.pythonhosted.org/packages/e3/66/ec0aa3a70e8613572e9ada821c99316c562ae1f15bffc449da3c713a7405/boo-0.0.92.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5cd48af5e19aec8b0ef0902e96dfc55", "sha256": "a3d029880462254ba6d473c668dbe811535e083e527af76318e7eab9ed1c2f48" }, "downloads": -1, "filename": "boo-0.0.92-py3-none-any.whl", "has_sig": false, "md5_digest": "b5cd48af5e19aec8b0ef0902e96dfc55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 71372, "upload_time": "2019-08-19T00:21:13", "url": "https://files.pythonhosted.org/packages/df/28/ab2433405638a33c52f9b31155e74df05d7a8f2fb3de26fb6e8f7730859d/boo-0.0.92-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84cfdca098daf716c2a4a7087b9d0b3b", "sha256": "573924ab9847c1709fa57d611310ddf5dfcd4129f481ff5d3261e1a3f7185b90" }, "downloads": -1, "filename": "boo-0.0.92.tar.gz", "has_sig": false, "md5_digest": "84cfdca098daf716c2a4a7087b9d0b3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68772, "upload_time": "2019-08-19T00:21:15", "url": "https://files.pythonhosted.org/packages/e3/66/ec0aa3a70e8613572e9ada821c99316c562ae1f15bffc449da3c713a7405/boo-0.0.92.tar.gz" } ] }