{ "info": { "author": "Miroslav Jirik", "author_email": "miroslav.jirik@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": " \n[![Build Status](https://travis-ci.org/mjirik/exsu.svg?branch=master)](https://travis-ci.org/mjirik/exsu)\n[![Coverage Status](https://coveralls.io/repos/github/mjirik/exsu/badge.svg?branch=master)](https://coveralls.io/github/mjirik/exsu?branch=master)\n[![PyPI version](https://badge.fury.io/py/exsu.svg)](http://badge.fury.io/py/exsu)\n\n\n# exsu\n\nExperiment support tools prepared for computer vision experiments. \nOutput directory and spreadsheet file is managed by package.\n\n* Spreadsheet data and report images are stored into output directory\n* Images are reported according a selected severity\n* Common spreadseet containing complete history from all output directories can be produced\n* Version of particular python package can be reported in the spreadsheet\n* Repository status, git hash and dirty files can be reported in the spreadsheet\n\n## Write spreadsheet data\n\n```python\nfrom pathlib import Path\nimport exsu\n\noutputdir = Path(\"./test_report/\")\ncommonsheet = Path(\"./test_report_common_spreadsheet.xlsx\")\n\nreport = exsu.report.Report(outputdir=outputdir, additional_spreadsheet_fn=commonsheet)\nreport.add_cols_to_actual_row({\"Col1\": 25, \"Col2\": \"test string\", \"Col5\": 5})\nreport.add_cols_to_actual_row({\"Col2\": \"prepsanu\", \"Col1\": 26, \"Col4\": \"ctyrka\"})\nreport.finish_actual_row()\n\nreport.add_cols_to_actual_row({\"Col1\": 27, \"Col2\": \"test string\", \"Col3\": \"trojka\"})\nreport.finish_actual_row()\n\n# Save all into `outputdir` and also into `commonsheet`\nreport.dump()\n\n# new write to common excel\nreport.init()\nreport.add_cols_to_actual_row({\"Col1\": 28, \"Col2\": \"new line to common\", \"Col7\": 77})\nreport.finish_actual_row()\nreport.dump()\n\n```\n\n## Write image data\n\nWrite image data into output directory\n\n```python\nfrom pathlib import Path\nimport numpy as np\nimport exsu\n\noutputdir = Path(\"./test_report/\")\ncommonsheet = Path(\"./test_report_common_spreadsheet.xlsx\")\n\nfn = \"test_image.png\"\nimg = 50 + np.random.rand(100, 100) * 30\nimg[20:60, 20:60] += 100\nimg = img.astype(np.uint8)\nreport = exsu.report.Report(outputdir=outputdir, additional_spreadsheet_fn=commonsheet)\nreport.imsave(fn, img)\n```\n\n\n## Git repository info\n\n```python\nfrom pathlib import Path\nimport numpy as np\nimport exsu\nreport = exsu.report.Report(repodir=Path(__file__).parent.resolve())\nreport.finish_actual_row()\nreport.df\n```\nOutput DataFrame\n```\n repo exsu id ... repo exsu dirty files\n0 1da301da36cec0fb931f60dd9acca790ec715892 ... exsu/git_tools.py\n```\n\nMore than one repositories can be added with `report.add_repo(repodir, reponame=None)`.\n\n\n## Automatically report versions of selected packages\n\nThe version of crucial packages can be reported with the data.\n\n```python\nimport exsu\nreport = exsu.report.Report(check_version_of=[\"numpy\", \"scipy\"])\nreport.finish_actual_row()\nreport.df\n\n```\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/mjirik/exsu", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "exsu", "package_url": "https://pypi.org/project/exsu/", "platform": "", "project_url": "https://pypi.org/project/exsu/", "project_urls": { "Homepage": "https://github.com/mjirik/exsu" }, "release_url": "https://pypi.org/project/exsu/0.6.0/", "requires_dist": null, "requires_python": "", "summary": "Experiment support tools", "version": "0.6.0", "yanked": false, "yanked_reason": null }, "last_serial": 11379215, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c054b911af0e213f1a816e2e2b6faa7c", "sha256": "b89b94d913ecb3c32ab1f7e977f89416715927fbae5cf1ad9cd82d643ed2cfe0" }, "downloads": -1, "filename": "exsu-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c054b911af0e213f1a816e2e2b6faa7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5635, "upload_time": "2019-09-03T09:41:17", "upload_time_iso_8601": "2019-09-03T09:41:17.624529Z", "url": "https://files.pythonhosted.org/packages/64/31/60bd1a9f7610892de39eeb70bb43efa43bce906a450bbd4eb2951bf26cdb/exsu-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "bd8f61a25abe795b0e9ce4474766234e", "sha256": "df8594a272187166ca193509a72a04eed58b244dfc8ba88e20679c571ab926bd" }, "downloads": -1, "filename": "exsu-0.0.2.tar.gz", "has_sig": false, "md5_digest": "bd8f61a25abe795b0e9ce4474766234e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5648, "upload_time": "2019-09-03T10:20:45", "upload_time_iso_8601": "2019-09-03T10:20:45.940274Z", "url": "https://files.pythonhosted.org/packages/83/f0/4dbcc3d0ed440350914f1d40217b61b2944f7c78297ea092e50ccfc53aea/exsu-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "58e881d6033c1a7e8f4315b8872a3fd1", "sha256": "1aed90707900cae5a19440ae5acaee8a55e0fa4caefe82dfba0900afb5150f0c" }, "downloads": -1, "filename": "exsu-0.0.3.tar.gz", "has_sig": false, "md5_digest": "58e881d6033c1a7e8f4315b8872a3fd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5563, "upload_time": "2019-09-03T10:26:46", "upload_time_iso_8601": "2019-09-03T10:26:46.399343Z", "url": "https://files.pythonhosted.org/packages/83/7a/f5969ae49833b4c7b53367d59cdd4d65581a1935402905197b54dd500580/exsu-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "823df652432c4426f255e6a8e9815312", "sha256": "0d854850668297ceba9595b8a47ce41e0527ee87659f17e3ccd3cefc69153322" }, "downloads": -1, "filename": "exsu-0.1.0.tar.gz", "has_sig": false, "md5_digest": "823df652432c4426f255e6a8e9815312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5690, "upload_time": "2019-10-03T17:13:22", "upload_time_iso_8601": "2019-10-03T17:13:22.720360Z", "url": "https://files.pythonhosted.org/packages/e5/50/a7a4a08686f7e319ea0a72f5bb7917169c142323824e16b227bb4b670834/exsu-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8b5822b603e9d664584a404133e36424", "sha256": "0066d5b941b1a62ac3c21636df054c768e21388b7cbd51fb8ebf867d92848189" }, "downloads": -1, "filename": "exsu-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8b5822b603e9d664584a404133e36424", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5691, "upload_time": "2019-10-05T11:15:21", "upload_time_iso_8601": "2019-10-05T11:15:21.255931Z", "url": "https://files.pythonhosted.org/packages/cb/15/69fdb077ae22b8984a605e8cdf8a80b94ec234f5e1efabd233bc4e7315ef/exsu-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ad6cfd2ff6816a82f3320d2125234331", "sha256": "2d1f420d76833ad48e46629552cdaf1ea69f22d976b0af68c57c2c08bb3a7754" }, "downloads": -1, "filename": "exsu-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ad6cfd2ff6816a82f3320d2125234331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5831, "upload_time": "2019-10-10T14:40:37", "upload_time_iso_8601": "2019-10-10T14:40:37.110777Z", "url": "https://files.pythonhosted.org/packages/87/f8/0ab41282fedca2d9a4168406adcf9f11d4526050b316a30ff4df12d903b7/exsu-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "11c27ada396a73c171429e110a5c660e", "sha256": "61b8243330b866d254df9ac5580cb3386c3277128865cb8a62ded1ca12f5e68a" }, "downloads": -1, "filename": "exsu-0.1.4.tar.gz", "has_sig": false, "md5_digest": "11c27ada396a73c171429e110a5c660e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5831, "upload_time": "2019-10-10T14:53:00", "upload_time_iso_8601": "2019-10-10T14:53:00.778595Z", "url": "https://files.pythonhosted.org/packages/d8/29/0b23aa09a9560ff2399bc219cbb7b1f1eca8fa6f94c3cbed1012aeb7663e/exsu-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "29463b1368ef097eece2d33aa07fdd7c", "sha256": "f4f699774898191a23432699f296949bc3a6528dd1e76676fbe75324d3910d3e" }, "downloads": -1, "filename": "exsu-0.1.5.tar.gz", "has_sig": false, "md5_digest": "29463b1368ef097eece2d33aa07fdd7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5956, "upload_time": "2019-10-21T13:08:11", "upload_time_iso_8601": "2019-10-21T13:08:11.331291Z", "url": "https://files.pythonhosted.org/packages/73/b1/72a6b8dbc5905a4ddec30f49818f0cb68c99e7154515c61fd4d090709b3d/exsu-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.10": [ { "comment_text": "", "digests": { "md5": "a62d168266628f88376558a7d20c6395", "sha256": "22cc96db8b019ce2bcf2850e7e42b124cdeab96718465197140ddb64c0b0dd65" }, "downloads": -1, "filename": "exsu-0.4.10.tar.gz", "has_sig": false, "md5_digest": "a62d168266628f88376558a7d20c6395", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18037, "upload_time": "2020-09-23T13:28:40", "upload_time_iso_8601": "2020-09-23T13:28:40.723559Z", "url": "https://files.pythonhosted.org/packages/a8/ae/49985cc391ae6b7ec15f78ac9d08278a2904aa4fe959e1cc475e15f66b7f/exsu-0.4.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.11": [ { "comment_text": "", "digests": { "md5": "433069fec6529d471b1460884f4f718d", "sha256": "82cac4c2a46be0bf6d4b62c279e62afe074c61d610d7081841516320d2a162f6" }, "downloads": -1, "filename": "exsu-0.4.11.tar.gz", "has_sig": false, "md5_digest": "433069fec6529d471b1460884f4f718d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18038, "upload_time": "2020-09-23T13:30:16", "upload_time_iso_8601": "2020-09-23T13:30:16.190780Z", "url": "https://files.pythonhosted.org/packages/55/6d/fc727d095e8ef2a6be8362d176d0b36458d8096f2dba2a0b1d6ac9a57a14/exsu-0.4.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "4a831115778d1ecbc6121e0f43316a1c", "sha256": "9baff7ebb3a2b135591e011cac8cfb6fc5f6201945fcc82ac6635cddfe2a80a7" }, "downloads": -1, "filename": "exsu-0.4.4.tar.gz", "has_sig": false, "md5_digest": "4a831115778d1ecbc6121e0f43316a1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18039, "upload_time": "2020-09-23T10:19:05", "upload_time_iso_8601": "2020-09-23T10:19:05.103038Z", "url": "https://files.pythonhosted.org/packages/d8/af/5b9a6ce52adb16b91df30d243d81853ca4f2d6cb1e59c7dd385c04993b7b/exsu-0.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "3539cc081aba63e9fdc8c3c07b07945e", "sha256": "61a4e8eff8b771ddbd26361a68f6375259b86f918761ed33c0a16b56959684c0" }, "downloads": -1, "filename": "exsu-0.4.5.tar.gz", "has_sig": false, "md5_digest": "3539cc081aba63e9fdc8c3c07b07945e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18037, "upload_time": "2020-09-23T10:29:58", "upload_time_iso_8601": "2020-09-23T10:29:58.121632Z", "url": "https://files.pythonhosted.org/packages/11/3e/24664fec6e13356f49056829b6fe3432dcd22c0ae01d4447f9f52e0874e3/exsu-0.4.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "ecc26ab2ffebe7a7aa5b0ab1a209c8c2", "sha256": "3bf59bf705af18e6f879d42c28bae6d42c04463f0bc07a16a76482fd7ad440d4" }, "downloads": -1, "filename": "exsu-0.4.6.tar.gz", "has_sig": false, "md5_digest": "ecc26ab2ffebe7a7aa5b0ab1a209c8c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18051, "upload_time": "2020-09-23T10:33:57", "upload_time_iso_8601": "2020-09-23T10:33:57.743974Z", "url": "https://files.pythonhosted.org/packages/66/5a/a09cd8f74b92b8a71bbf0f784b3373fd68d54463caf24f73db3979dd0771/exsu-0.4.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "6ee0ccc5d0ba49ffd3af26e9aa7159af", "sha256": "97a360bb35d415d2db0700cf00f6b1804e5abf8b6d00037b3c613fa8acd14be2" }, "downloads": -1, "filename": "exsu-0.4.7.tar.gz", "has_sig": false, "md5_digest": "6ee0ccc5d0ba49ffd3af26e9aa7159af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18069, "upload_time": "2020-09-23T13:21:12", "upload_time_iso_8601": "2020-09-23T13:21:12.205861Z", "url": "https://files.pythonhosted.org/packages/0c/8c/7db597fe589632dab12e25a7b7fe8bfffb5a96df94e4e0c2cebbe80aecc2/exsu-0.4.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "01182533cda220f9715e49582dbfebb8", "sha256": "e3b9e427745dd901b08bffd90c9b9cb71c1f2693b32fa2796850c1939e7b087c" }, "downloads": -1, "filename": "exsu-0.4.8.tar.gz", "has_sig": false, "md5_digest": "01182533cda220f9715e49582dbfebb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18034, "upload_time": "2020-09-23T13:21:40", "upload_time_iso_8601": "2020-09-23T13:21:40.223088Z", "url": "https://files.pythonhosted.org/packages/bc/9c/322a50f93bc83836604520f1769442fefb02a9741685811f6e47d77468a9/exsu-0.4.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "d4d8df10acf47fcf781ce93b014f40b6", "sha256": "f9bb449ad035b4d319801628d80119230c8b7d0883ed8070f8efb7e4d8beaa26" }, "downloads": -1, "filename": "exsu-0.4.9.tar.gz", "has_sig": false, "md5_digest": "d4d8df10acf47fcf781ce93b014f40b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18035, "upload_time": "2020-09-23T13:22:04", "upload_time_iso_8601": "2020-09-23T13:22:04.738982Z", "url": "https://files.pythonhosted.org/packages/c2/94/ab6eb54c7b07f3db4188da41072b648151e0aaf1f113c2d66fc177cc7230/exsu-0.4.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "ece7a68c725ed373bb7ca661abf8fdcc", "sha256": "862a4c9d7a2c6f40e3af6f3b3c6d9cb8d0de861f323d04c7726b5b8bf0b234d7" }, "downloads": -1, "filename": "exsu-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ece7a68c725ed373bb7ca661abf8fdcc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18682, "upload_time": "2021-09-06T19:24:56", "upload_time_iso_8601": "2021-09-06T19:24:56.423538Z", "url": "https://files.pythonhosted.org/packages/1f/83/61c26dfb54173db22022164c02d3b69df6360d1179315d9937e29a6738b9/exsu-0.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "503e1de0c3689fd674a6c3683449fd86", "sha256": "f932b4569b0430a394118b6115b678f9fc9722b4eb59aa53efc404a17921cb51" }, "downloads": -1, "filename": "exsu-0.6.0.tar.gz", "has_sig": false, "md5_digest": "503e1de0c3689fd674a6c3683449fd86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19079, "upload_time": "2021-09-06T19:24:58", "upload_time_iso_8601": "2021-09-06T19:24:58.374783Z", "url": "https://files.pythonhosted.org/packages/ab/fe/8922c0f0e775f40a7c1fc6a50334f5dc090de08e6d8e18addf64cf4efc8a/exsu-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ece7a68c725ed373bb7ca661abf8fdcc", "sha256": "862a4c9d7a2c6f40e3af6f3b3c6d9cb8d0de861f323d04c7726b5b8bf0b234d7" }, "downloads": -1, "filename": "exsu-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ece7a68c725ed373bb7ca661abf8fdcc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18682, "upload_time": "2021-09-06T19:24:56", "upload_time_iso_8601": "2021-09-06T19:24:56.423538Z", "url": "https://files.pythonhosted.org/packages/1f/83/61c26dfb54173db22022164c02d3b69df6360d1179315d9937e29a6738b9/exsu-0.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "503e1de0c3689fd674a6c3683449fd86", "sha256": "f932b4569b0430a394118b6115b678f9fc9722b4eb59aa53efc404a17921cb51" }, "downloads": -1, "filename": "exsu-0.6.0.tar.gz", "has_sig": false, "md5_digest": "503e1de0c3689fd674a6c3683449fd86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19079, "upload_time": "2021-09-06T19:24:58", "upload_time_iso_8601": "2021-09-06T19:24:58.374783Z", "url": "https://files.pythonhosted.org/packages/ab/fe/8922c0f0e775f40a7c1fc6a50334f5dc090de08e6d8e18addf64cf4efc8a/exsu-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }