{ "info": { "author": "Robert Lechte", "author_email": "rlechte@actu.org.au", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# Don't get mad, get `results`\n\nTabular data and SQL for people who don't have time to faff about.\n\nMove between xlsx, xls, csv, python, postgres and back with ease.\n\nFeatures:\n\n- Zero-boilerplate database creating, connecting and querying.\n- Loading/tidying/transforming csv and excel data.\n- Autodetect column types, load your data with little or no manual specification.\n- Powerful multi-column, multi-order keyset paging of database results.\n- Schema syncing.\n\nLimitations\n\n- Python 3.6+, PostgreSQL 10+ only. Many features will work with other databases, but many won't. Just use Postgres!\n\n# Installation\n\n[`results` is on PyPI](https://pypi.org/project/results). Install it with `pip` or any of the (many) Python package managers.\n\n## Scenario\n\nSomebody gives you a messy csv or excel file. You need to load it, clean it up, put it into a database, query it, make a pivot table from it, then send the pivot table to somebody as a csv.\n\n`results` is here to get this sort of thing done quickly and with minimum possible fuss.\n\nLet's see.\n\nFirst, load and clean:\n\n```python\nimport results\n\n# load a csv (in this example, some airport data)\nsheet = results.from_file(\"airports.csv\")\n\n# do general cleanup\nsheet.standardize_spaces()\nsheet.set_blanks_to_none()\n\n# give the keys lowercase-with-underscore names to keep the database happy\ncleaned = sheet.with_standardized_keys()\n```\n\nThen, create a database:\n\n```python\n# create a database\nDB = \"postgresql:///example\"\n\ndb = results.db(DB)\n\n# create it if it doesn't exist\ndb.create_database()\n```\n\nThen create a table for the data, automatically guessing the columns and creating a table to match.\n\n```python\n# guess the column types\nguessed = cleaned.guessed_sql_column_types()\n\n# create a table for the data\ncreate_table_statement = results.create_table_statement(\"data\", guessed)\n\n# create or auto-update the table structure in the database\n# syncing requires a copy of postgres running locally with your current user set up as superuser\ndb.sync_db_structure_to_definition(create_table_statement, confirm=False)\n```\n\nThen insert the data and freely query it.\n\n```python\n# insert the data. you can also do upserts with upsert_on!\ndb.insert(\"data\", cleaned)\n\n# show recent airfreight numbers from the top 5 airports\n# ss means \"single statement\"\nquery_result = db.ss(\n \"\"\"\nwith top5 as (\n select\n foreignport, sum(freight_in_tonnes)\n from\n data\n where year >= 2010\n group by\n foreignport\n order by 2 desc\n limit 5\n)\n\nselect\n year, foreignport, sum(freight_in_tonnes)\nfrom\n data\nwhere\n year >= 2010\n and foreignport in (select foreignport from top5)\ngroup by 1, 2\norder by 1, 2\n\n\"\"\"\n)\n```\n\nCreate a pivot table, then print it as markdown or save it as csv.\n\n```python\n# create a pivot table\npivot = query_result.pivoted()\n\n# print the pivot table in markdown format\nprint(pivot.md)\n```\n\nOutput:\n\n```\n| year | Auckland | Dubai | Hong Kong | Kuala Lumpur | Singapore |\n|-------:|-----------:|---------:|------------:|---------------:|------------:|\n| 2010 | 288997 | 145527 | 404735 | 226787 | 529407 |\n| 2011 | 304628 | 169868 | 428990 | 244053 | 583921 |\n| 2012 | 312828 | 259444 | 400596 | 272093 | 614155 |\n| 2013 | 306783 | 257263 | 353895 | 272804 | 592886 |\n| 2014 | 309318 | 244776 | 330521 | 261438 | 620419 |\n| 2015 | 286202 | 263378 | 290292 | 252906 | 633862 |\n| 2016 | 285973 | 236419 | 309556 | 175858 | 614172 |\n| 2017 | 314405 | 226048 | 340216 | 199868 | 662505 |\n| 2018 | 126712 | 91611.2 | 134540 | 74667.5 | 250653 |\n```\n\nSave the table as a csv:\n\n```python\npivot.save_csv(\"2010s_freight_sources_top5.csv\")\n```\n\n## Design philosophy\n\n- Avoid boilerplate at all costs. Make it as simple as possible but no simpler.\n\n- Don't reinvent the wheel: `results` uses sqlalchemy for database connections, existing excel parsing libraries for excel parsing, etc etc. `results` brings it all together, sprinkles some sugar on top, and puts it at your fingertips.\n\n- Eat your own dogfood: We use this ourselves every day.\n\n## Documentation\n\nThis README.md is currently all there is :( But we'll add more soon, we promise!\n\n## Credits\n\n- [Rob](https://github.com/djrobstep)\n- [Jason](https://github.com/jasongi)\n- [Nick](https://github.com/nmcl23)\n\n## Contributions\n\nYes please!\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "Robert Lechte", "maintainer_email": "rlechte@actu.org.au", "name": "results", "package_url": "https://pypi.org/project/results/", "platform": "", "project_url": "https://pypi.org/project/results/", "project_urls": null, "release_url": "https://pypi.org/project/results/0.1.1569995840/", "requires_dist": [ "psycopg2-binary", "logx", "csvx", "sqlbag (>=0.1.1548994599)", "sqlalchemy", "xlrd; extra == \"excel\"", "openpyxl (<2.6.3); extra == \"excel\"", "xlsxwriter; extra == \"excel\"", "tabulate", "markdown", "migra", "furl", "chardet", "pendulum" ], "requires_python": ">=3.7", "summary": "Don't get mad, get results", "version": "0.1.1569995840" }, "last_serial": 5916288, "releases": { "0.1.1542088178": [ { "comment_text": "", "digests": { "md5": "d8aa564988fea2a3a9d6604ab642b7e7", "sha256": "8712b92ba20fe4ec5e2044479ad8cdd37fb182fc288a0d589e307d2571455fcd" }, "downloads": -1, "filename": "results-0.1.1542088178-py3-none-any.whl", "has_sig": false, "md5_digest": "d8aa564988fea2a3a9d6604ab642b7e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 39598, "upload_time": "2018-11-13T05:49:39", "url": "https://files.pythonhosted.org/packages/05/0b/783f75a9ad2de833e4d15c235aee4a8e183c823a077c22f813f53e75fd2b/results-0.1.1542088178-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "737c66424276df660d8cd352bc034c43", "sha256": "e1981bb47134e47038538972f4f9df826b32476a686bbadee0cd87120628bd05" }, "downloads": -1, "filename": "results-0.1.1542088178.tar.gz", "has_sig": false, "md5_digest": "737c66424276df660d8cd352bc034c43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14372, "upload_time": "2018-11-13T05:49:41", "url": "https://files.pythonhosted.org/packages/92/94/e1088f8e0c21f5b2e0dbeebbe9fa8f2858a3f355c251d88d7e28a3f3dc12/results-0.1.1542088178.tar.gz" } ], "0.1.1542158065": [ { "comment_text": "", "digests": { "md5": "08b47016deef3f65d97c61bc37f75d72", "sha256": "125cab3b37590149bccd0aa4e2b76d7726d39cb7a1eadaacdd13566454d11dc8" }, "downloads": -1, "filename": "results-0.1.1542158065-py3-none-any.whl", "has_sig": false, "md5_digest": "08b47016deef3f65d97c61bc37f75d72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 39611, "upload_time": "2018-11-14T01:14:26", "url": "https://files.pythonhosted.org/packages/ff/ff/654f9d477097a456ca8ddd06f27f4f09a9171429b49f00ea22f91cf0110a/results-0.1.1542158065-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05e45a875031a22f2440a8060189d7e8", "sha256": "1f199bb8ad73307f394b804576f225176f0d627f4ad4b1ba227e465a7424f496" }, "downloads": -1, "filename": "results-0.1.1542158065.tar.gz", "has_sig": false, "md5_digest": "05e45a875031a22f2440a8060189d7e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14390, "upload_time": "2018-11-14T01:14:28", "url": "https://files.pythonhosted.org/packages/c6/97/b917d6cad9b48cd4e2eb1c480791ea2b879a039b955503219e9441dcb957/results-0.1.1542158065.tar.gz" } ], "0.1.1542416322": [ { "comment_text": "", "digests": { "md5": "f6c778ab9c75079d5dd73fa73c9d2fbd", "sha256": "8a486ee65c15434262a69af1fef01d562fc5435d4de837d01b0e7dabb28a55bb" }, "downloads": -1, "filename": "results-0.1.1542416322-py3-none-any.whl", "has_sig": false, "md5_digest": "f6c778ab9c75079d5dd73fa73c9d2fbd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 39877, "upload_time": "2018-11-17T00:58:43", "url": "https://files.pythonhosted.org/packages/5d/be/f74b2d3ac672392eef25104bc2ad57583e0f2aaefcf0b601838f5bf6b454/results-0.1.1542416322-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e575c62d4a0936a54546f02ba356c3d7", "sha256": "1fcabd2f3c4c9e4940fc9348d8be63a151fd089ff192f89a5688e114a4d0387b" }, "downloads": -1, "filename": "results-0.1.1542416322.tar.gz", "has_sig": false, "md5_digest": "e575c62d4a0936a54546f02ba356c3d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14465, "upload_time": "2018-11-17T00:58:45", "url": "https://files.pythonhosted.org/packages/43/ee/295989cb16ffb912843d69e70da1631e50f451731e9b5865a1d2774ace8d/results-0.1.1542416322.tar.gz" } ], "0.1.1543197638": [ { "comment_text": "", "digests": { "md5": "7e75a782df085d0a64cc60a25f610d8c", "sha256": "5f3c1824be312654a8edfd6d429d29aa124d56c1873f104dac9c4624b161290f" }, "downloads": -1, "filename": "results-0.1.1543197638-py3-none-any.whl", "has_sig": false, "md5_digest": "7e75a782df085d0a64cc60a25f610d8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 39955, "upload_time": "2018-11-26T02:00:39", "url": "https://files.pythonhosted.org/packages/ac/71/d43c2ccac9b6e5f242d3af0a5cdc1e9151520b29c854a51c0f269bb43e1a/results-0.1.1543197638-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20fa46a01dc6c6848a161cd1cbfdf41d", "sha256": "453f05239c2a77aff00476ec3e06b0bf0c12299e7e57225919a8fa99a7bbf280" }, "downloads": -1, "filename": "results-0.1.1543197638.tar.gz", "has_sig": false, "md5_digest": "20fa46a01dc6c6848a161cd1cbfdf41d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14533, "upload_time": "2018-11-26T02:00:40", "url": "https://files.pythonhosted.org/packages/99/6d/53122368d24fb6c288dcf2e666ac5007457b1ca1f237e7516d19d61948d0/results-0.1.1543197638.tar.gz" } ], "0.1.1543205309": [ { "comment_text": "", "digests": { "md5": "f60b62c439985039f3ae8e3b4252ba27", "sha256": "a6c51ce39661389430194f952df0ccf00b3b3090d787e9738877589760239b5c" }, "downloads": -1, "filename": "results-0.1.1543205309-py3-none-any.whl", "has_sig": false, "md5_digest": "f60b62c439985039f3ae8e3b4252ba27", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 40926, "upload_time": "2018-11-26T04:08:30", "url": "https://files.pythonhosted.org/packages/76/7c/7e0c5937bb79bc869f2ef29980a5262de96a989792793a1cf0ae5af7d8cf/results-0.1.1543205309-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab936e7bad52c5ce98fe829add9ae8b6", "sha256": "bb0df94bfa72cd942a0d2d31c3bc09e050f547754a79b866144149d885743a3c" }, "downloads": -1, "filename": "results-0.1.1543205309.tar.gz", "has_sig": false, "md5_digest": "ab936e7bad52c5ce98fe829add9ae8b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14784, "upload_time": "2018-11-26T04:08:31", "url": "https://files.pythonhosted.org/packages/94/bf/ee5247865c752a90a9054553e6069cc810804293185cd5743f43be16d0cc/results-0.1.1543205309.tar.gz" } ], "0.1.1544070892": [ { "comment_text": "", "digests": { "md5": "1fc15cc484db261c1eecf10c1cd00da8", "sha256": "ea910616babefd6b29b6501b04c34c24a3b8e9f2dbf5eba9bec8f41a03a67aa8" }, "downloads": -1, "filename": "results-0.1.1544070892-py3-none-any.whl", "has_sig": false, "md5_digest": "1fc15cc484db261c1eecf10c1cd00da8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 41513, "upload_time": "2018-12-06T04:34:53", "url": "https://files.pythonhosted.org/packages/5b/e4/3bf00276f2b91898e382e7cd92510112c670ecb12a0429d3b4f14b04d536/results-0.1.1544070892-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ca22512f87c882fbf0bcf311271a8ff", "sha256": "a9fe9f5d12a12afa4898facd0b6c41978b8a3efda08250bdf64174cf5063f0fc" }, "downloads": -1, "filename": "results-0.1.1544070892.tar.gz", "has_sig": false, "md5_digest": "3ca22512f87c882fbf0bcf311271a8ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14894, "upload_time": "2018-12-06T04:34:55", "url": "https://files.pythonhosted.org/packages/f4/14/5f429d662c788843cd59ba93ba96cc1d9f0c71ff37c05c8d1589deae874a/results-0.1.1544070892.tar.gz" } ], "0.1.1544488289": [ { "comment_text": "", "digests": { "md5": "45ea0292a43eb5bfc59c4f98f66ed317", "sha256": "86a017d77558e18a1b65d5e7d3ed51ef4b8795293daab00daba9c38cc9dcfdab" }, "downloads": -1, "filename": "results-0.1.1544488289-py3-none-any.whl", "has_sig": false, "md5_digest": "45ea0292a43eb5bfc59c4f98f66ed317", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 41795, "upload_time": "2018-12-11T00:31:30", "url": "https://files.pythonhosted.org/packages/b6/00/76e63ccbd803ecd0a1bbd0bc5a96158c7bebf66131f67ff722eed92bfb4a/results-0.1.1544488289-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdd85a2b12ce51b53440a8261ca9b8d0", "sha256": "c5cd7a131f726fbf85a335fb334bfebcb3a93f4c97e918a9065e6be11b34d87a" }, "downloads": -1, "filename": "results-0.1.1544488289.tar.gz", "has_sig": false, "md5_digest": "cdd85a2b12ce51b53440a8261ca9b8d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 14934, "upload_time": "2018-12-11T00:31:32", "url": "https://files.pythonhosted.org/packages/e9/57/f0a8cb0211cc87695fa3b89c31f110cb21d6908df70453413e78eecd2418/results-0.1.1544488289.tar.gz" } ], "0.1.1544501842": [ { "comment_text": "", "digests": { "md5": "5597b95c333e382788d5654f511e8835", "sha256": "f411efbb0c56adb7d2859a24832747643c353f0c1aec4eb1b7e64c928b3edc68" }, "downloads": -1, "filename": "results-0.1.1544501842-py3-none-any.whl", "has_sig": false, "md5_digest": "5597b95c333e382788d5654f511e8835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 42143, "upload_time": "2018-12-11T04:17:23", "url": "https://files.pythonhosted.org/packages/69/d2/19187aa2fbcb82b78fb53fe35fbd726076641c3b78790a67c47d4ef13d20/results-0.1.1544501842-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2121068269edb792aaee89d919c835bd", "sha256": "0c7878e93bfc0fa6953e5ad61067add744ede2c319421edf6ecc3f43ae614a88" }, "downloads": -1, "filename": "results-0.1.1544501842.tar.gz", "has_sig": false, "md5_digest": "2121068269edb792aaee89d919c835bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15020, "upload_time": "2018-12-11T04:17:24", "url": "https://files.pythonhosted.org/packages/63/97/15e1a9fb137ec10b4aba9c513755a8614b30954eef389b9e15f48864f754/results-0.1.1544501842.tar.gz" } ], "0.1.1549321046": [ { "comment_text": "", "digests": { "md5": "717b38fe6c62eb506c8c80f15d191355", "sha256": "2bc84361f66b6c2b461db9095ad0319abc70ed73b9b246206dd0546ec89a8c1a" }, "downloads": -1, "filename": "results-0.1.1549321046-py3-none-any.whl", "has_sig": false, "md5_digest": "717b38fe6c62eb506c8c80f15d191355", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 42157, "upload_time": "2019-02-04T22:57:27", "url": "https://files.pythonhosted.org/packages/72/de/59f528c7b8c9d235a8ab50858765f30c42adc3c4fab9f904f90d4ae2f2fa/results-0.1.1549321046-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52dcfc7313f5efb4b672e70413672a85", "sha256": "64aa30743897bae0f930ee3b3d4f115664cc00ffb8f8fc92ce686dfbbebb3499" }, "downloads": -1, "filename": "results-0.1.1549321046.tar.gz", "has_sig": false, "md5_digest": "52dcfc7313f5efb4b672e70413672a85", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15099, "upload_time": "2019-02-04T22:57:29", "url": "https://files.pythonhosted.org/packages/4a/44/040b88665f16d4826973ae0239244b74a31d68756acb3efdbbb7f573c7ee/results-0.1.1549321046.tar.gz" } ], "0.1.1549324146": [ { "comment_text": "", "digests": { "md5": "fd5df1f0b4b28eefb9977bbbf79c826c", "sha256": "4879d15498232e160860bc0669ecf3556d0221e2f29820db33f1727a41baac2b" }, "downloads": -1, "filename": "results-0.1.1549324146-py3-none-any.whl", "has_sig": false, "md5_digest": "fd5df1f0b4b28eefb9977bbbf79c826c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 42363, "upload_time": "2019-02-04T23:49:07", "url": "https://files.pythonhosted.org/packages/0f/5f/83b18fc6aec9ae8bf87c19824d949a4fb638ae89d231268141caaabac462/results-0.1.1549324146-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e5e8912499bab99f2a58a8d3e1a1a92", "sha256": "bcb17e9b8c296e93c913f86cb44e6539faf7b3aeb431ac460b3816acc9defcf1" }, "downloads": -1, "filename": "results-0.1.1549324146.tar.gz", "has_sig": false, "md5_digest": "9e5e8912499bab99f2a58a8d3e1a1a92", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15138, "upload_time": "2019-02-04T23:49:08", "url": "https://files.pythonhosted.org/packages/21/ea/15b5a3c0ad77cddbfaf35646393433e911dd9ee421904d815b39d78fef63/results-0.1.1549324146.tar.gz" } ], "0.1.1552194118": [ { "comment_text": "", "digests": { "md5": "7d1badcf0adeb809016f75214cd559ae", "sha256": "74cc777a40d7c778293e0e546c1b5d6204d68e9871ad08e5d9440a02c4af6bf7" }, "downloads": -1, "filename": "results-0.1.1552194118-py3-none-any.whl", "has_sig": false, "md5_digest": "7d1badcf0adeb809016f75214cd559ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 45043, "upload_time": "2019-03-10T05:01:59", "url": "https://files.pythonhosted.org/packages/f1/d7/6b23b12edf803487f64e1231b068710914a7979676509b709762d893c6a2/results-0.1.1552194118-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "666fa0644df8fbcd601f93ecd62d2110", "sha256": "bfd944820910b7ff83eb60ffea6cb175a143c5a3f4983cdc3ee54370eed15432" }, "downloads": -1, "filename": "results-0.1.1552194118.tar.gz", "has_sig": false, "md5_digest": "666fa0644df8fbcd601f93ecd62d2110", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15778, "upload_time": "2019-03-10T05:02:01", "url": "https://files.pythonhosted.org/packages/08/16/32c815c27d8b44e08aa055e0dcfb5e976dd445830defc8deaa464fee6aee/results-0.1.1552194118.tar.gz" } ], "0.1.1552206909": [ { "comment_text": "", "digests": { "md5": "59ffeeb3e78bd0e5dc04ae003a87ef0d", "sha256": "332144010385cc580398e253777fd50f5c8dc76e02f406e48cb24cffa1adda52" }, "downloads": -1, "filename": "results-0.1.1552206909-py3-none-any.whl", "has_sig": false, "md5_digest": "59ffeeb3e78bd0e5dc04ae003a87ef0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 45369, "upload_time": "2019-03-10T08:35:10", "url": "https://files.pythonhosted.org/packages/92/ea/4f215e2525bc0115b31a081277805d3bee0d43cb8791ee1510b28f90f8dd/results-0.1.1552206909-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe87d42443b939f5599d5b309f1fe5fe", "sha256": "67ffb203aa9761a5c96914c16258eb0251df76c8299f84dd01e4d5ddaf785a5f" }, "downloads": -1, "filename": "results-0.1.1552206909.tar.gz", "has_sig": false, "md5_digest": "fe87d42443b939f5599d5b309f1fe5fe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15962, "upload_time": "2019-03-10T08:35:11", "url": "https://files.pythonhosted.org/packages/9e/69/83937c3c7891cf8f4672c38073b97bdd00dbddd527939691e8284d57b816/results-0.1.1552206909.tar.gz" } ], "0.1.1552954234": [ { "comment_text": "", "digests": { "md5": "e8c6e86ea4a3f2e7c75cdf575d2ef3d4", "sha256": "e98c46c341db33211de89c71d25fc18a64516a56304668e5e7ae0582df5e0491" }, "downloads": -1, "filename": "results-0.1.1552954234-py3-none-any.whl", "has_sig": false, "md5_digest": "e8c6e86ea4a3f2e7c75cdf575d2ef3d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 45530, "upload_time": "2019-03-19T00:10:35", "url": "https://files.pythonhosted.org/packages/15/c9/1c6d35afca3745d4cff6eac35f22bb0a02d12ccff22cac5877f39204ae35/results-0.1.1552954234-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c0b4d3f82174eb1ac3e36efe154119f", "sha256": "20390f08f2f4895e2235b9bca0e63f2ccaa2b4071f7bd0fdcba9b094c87e35fd" }, "downloads": -1, "filename": "results-0.1.1552954234.tar.gz", "has_sig": false, "md5_digest": "5c0b4d3f82174eb1ac3e36efe154119f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16002, "upload_time": "2019-03-19T00:10:36", "url": "https://files.pythonhosted.org/packages/d3/dc/87906cf65f3df7454c3d31ae81f603a2f3229fb40eff5162932ff1942647/results-0.1.1552954234.tar.gz" } ], "0.1.1556594015": [ { "comment_text": "", "digests": { "md5": "871359e6f1fc06089c0615f33008e895", "sha256": "3e3acecf72a6aae1133f70b73e3f3c0976355e91de2dbbc7aa42ce694cdda1eb" }, "downloads": -1, "filename": "results-0.1.1556594015-py3-none-any.whl", "has_sig": false, "md5_digest": "871359e6f1fc06089c0615f33008e895", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 18320, "upload_time": "2019-04-30T03:13:36", "url": "https://files.pythonhosted.org/packages/da/31/3f1fef6c4dc75d86fac2e41483d54323bc2b4c63ef1b6fc42dbbae4ede74/results-0.1.1556594015-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "451845fed7f9f06abf3270a66940a76e", "sha256": "3ba4259811812bcf169cf118adc619e5a6218275f75d265938b6233eb5de1ce1" }, "downloads": -1, "filename": "results-0.1.1556594015.tar.gz", "has_sig": false, "md5_digest": "451845fed7f9f06abf3270a66940a76e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16927, "upload_time": "2019-04-30T03:13:41", "url": "https://files.pythonhosted.org/packages/1c/7a/2df3cca27565ecf2ecb5ce0db626808307ba83d771fda084f8e8f13e4e8b/results-0.1.1556594015.tar.gz" } ], "0.1.1558920606": [ { "comment_text": "", "digests": { "md5": "45a2565105117319fd9f639edd51a5c9", "sha256": "c41516e0df63fa081c9cbf290df49174d3e9a9db17a04cb9375d875d38ea6aac" }, "downloads": -1, "filename": "results-0.1.1558920606-py3-none-any.whl", "has_sig": false, "md5_digest": "45a2565105117319fd9f639edd51a5c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 18320, "upload_time": "2019-05-27T01:30:07", "url": "https://files.pythonhosted.org/packages/90/1c/6e163f002e5425f14d6f4f3f34c3c026473c1d73da897d3de6d7de14b57c/results-0.1.1558920606-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9f53ce3ff0bff2b269d55119f5bade9", "sha256": "9196ba7f59dd8e29334e717661851e4bda5952f5614ac428b600f8459c3d11a0" }, "downloads": -1, "filename": "results-0.1.1558920606.tar.gz", "has_sig": false, "md5_digest": "e9f53ce3ff0bff2b269d55119f5bade9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16910, "upload_time": "2019-05-27T01:30:09", "url": "https://files.pythonhosted.org/packages/65/7d/05b7fb76658d4f4d6cf7de12e32995e0e1e0c11cee7553e6da8de821c4ed/results-0.1.1558920606.tar.gz" } ], "0.1.1563169433": [ { "comment_text": "", "digests": { "md5": "bf08e61b3e6ac0cd32181fbafb55cf7d", "sha256": "184730e01049f541c1735654b25d57ed36458b849ccfb06b97e6fc8f3bda0ac2" }, "downloads": -1, "filename": "results-0.1.1563169433-py3-none-any.whl", "has_sig": false, "md5_digest": "bf08e61b3e6ac0cd32181fbafb55cf7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 18435, "upload_time": "2019-07-15T05:43:54", "url": "https://files.pythonhosted.org/packages/02/1e/1550747046dc39feb1920d236c7b10239a9f96f04ea51707d1080e5b7795/results-0.1.1563169433-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d38f7032d17bee660b16cc15eeae8ebd", "sha256": "8debd48db9d5520533818ebae013263fc0b06c3281f7eed5e7bd4f906dbd18cd" }, "downloads": -1, "filename": "results-0.1.1563169433.tar.gz", "has_sig": false, "md5_digest": "d38f7032d17bee660b16cc15eeae8ebd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 17017, "upload_time": "2019-07-15T05:43:55", "url": "https://files.pythonhosted.org/packages/18/a4/351566cd11f4620876081358a3cca3545bdb266df9b7970e2933282cd118/results-0.1.1563169433.tar.gz" } ], "0.1.1569995840": [ { "comment_text": "", "digests": { "md5": "8642ab73f863d8231f60bdf096989ddd", "sha256": "6af41d500880a21496c0b0c8784e636176996ad48b79da09d657aa1b3ec0915d" }, "downloads": -1, "filename": "results-0.1.1569995840-py3-none-any.whl", "has_sig": false, "md5_digest": "8642ab73f863d8231f60bdf096989ddd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 18633, "upload_time": "2019-10-02T05:57:21", "url": "https://files.pythonhosted.org/packages/82/8c/e116e77a9a617d2bc94f6ebfa194c6860d385bdfc2e9f9f5e2b5b8c4b966/results-0.1.1569995840-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "046fb7c3169c50f9fc73d24a74273e25", "sha256": "3ee3d94a92af3e5de180f615d0b447326e6181e425da0fa31418a84a3a8072f2" }, "downloads": -1, "filename": "results-0.1.1569995840.tar.gz", "has_sig": false, "md5_digest": "046fb7c3169c50f9fc73d24a74273e25", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 17132, "upload_time": "2019-10-02T05:57:23", "url": "https://files.pythonhosted.org/packages/96/3d/010c2645bf034665c0a8e878c69288959aea2eb9a3d15c7dd81905e6bee1/results-0.1.1569995840.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8642ab73f863d8231f60bdf096989ddd", "sha256": "6af41d500880a21496c0b0c8784e636176996ad48b79da09d657aa1b3ec0915d" }, "downloads": -1, "filename": "results-0.1.1569995840-py3-none-any.whl", "has_sig": false, "md5_digest": "8642ab73f863d8231f60bdf096989ddd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 18633, "upload_time": "2019-10-02T05:57:21", "url": "https://files.pythonhosted.org/packages/82/8c/e116e77a9a617d2bc94f6ebfa194c6860d385bdfc2e9f9f5e2b5b8c4b966/results-0.1.1569995840-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "046fb7c3169c50f9fc73d24a74273e25", "sha256": "3ee3d94a92af3e5de180f615d0b447326e6181e425da0fa31418a84a3a8072f2" }, "downloads": -1, "filename": "results-0.1.1569995840.tar.gz", "has_sig": false, "md5_digest": "046fb7c3169c50f9fc73d24a74273e25", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 17132, "upload_time": "2019-10-02T05:57:23", "url": "https://files.pythonhosted.org/packages/96/3d/010c2645bf034665c0a8e878c69288959aea2eb9a3d15c7dd81905e6bee1/results-0.1.1569995840.tar.gz" } ] }