Skip to content

Instantly share code, notes, and snippets.

@neuromusic
Created March 17, 2021 20:18
Show Gist options
  • Save neuromusic/274a662c15d54d3fafec624e3659ebf5 to your computer and use it in GitHub Desktop.
Save neuromusic/274a662c15d54d3fafec624e3659ebf5 to your computer and use it in GitHub Desktop.
script to pull napari plugin info from pypi
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"packages = [\n",
" 'napari-aicsimageio',\n",
" 'affinder',\n",
" 'napping',\n",
" 'napari-pyclesperanto-assistant',\n",
" 'napari-cellfinder',\n",
" 'napari-btrack-reader',\n",
" 'napari-nikon-nd2',\n",
" 'napari-hdf5-labels-io',\n",
" 'napari-demo',\n",
" 'brainreg-segment',\n",
" 'cellfinder-napari',\n",
" 'napari-compressed-labels-io',\n",
" 'napari-console',\n",
" 'brainglobe-napari-io',\n",
" 'napari-em-reader',\n",
" 'napari-brainreg',\n",
" 'napari-czifile2',\n",
" 'napari-lazy-openslide',\n",
" 'PartSeg',\n",
" 'napari-dv',\n",
" 'napari-dzi-zarr',\n",
" 'napari_video',\n",
" 'nd2-dask',\n",
" 'ome-zarr',\n",
" 'napari-imc'\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"25"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(packages)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [],
"source": [
"package = packages[0]"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [],
"source": [
"url_template = \"https://pypi.org/pypi/{}/json\""
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'https://pypi.org/pypi/napari-aicsimageio/json'"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url_template.format(package)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"info\": {\n",
" \"author\": \"Jackson Maxfield Brown\",\n",
" \"author_email\": \"jmaxfieldbrown@gmail.com\",\n",
" \"bugtrack_url\": null,\n",
" \"classifiers\": [\n",
" \"Development Status :: 5 - Production/Stable\",\n",
" \"Framework :: napari\",\n",
" \"Intended Audience :: Science/Research\",\n",
" \"License :: OSI Approved :: BSD License\",\n",
" \"Natural Language :: English\",\n",
" \"Programming Language :: Python :: 3.7\",\n",
" \"Programming Language :: Python :: 3.8\",\n",
" \"Programming Language :: Python :: 3.9\",\n",
" \"Topic :: Scientific/Engineering\",\n",
" \"Topic :: Scientific/Engineering :: Bio-Informatics\",\n",
" \"Topic :: Scientific/Engineering :: Information Analysis\",\n",
" \"Topic :: Scientific/Engineering :: Visualization\"\n",
" ],\n",
" \"description\": \"# napari-aicsimageio\\n\\n[![Build Status](https://github.com/AllenCellModeling/napari-aicsimageio/workflows/Build%20Master/badge.svg)](https://github.com/AllenCellModeling/napari-aicsimageio/actions)\\n[![Code Coverage](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio/branch/master/graph/badge.svg)](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio)\\n\\nAICSImageIO bindings for napari\\n\\n---\\n\\n## Features\\n* Supports reading metadata and imaging data for:\\n * `CZI`\\n * `OME-TIFF`\\n * `TIFF`\\n * Any formats supported by [aicsimageio](https://github.com/AllenCellModeling/aicsimageio)\\n * Any additional format supported by [imageio](https://github.com/imageio/imageio)\\n* Two variants of the AICSImageIO bindings:\\n * `aicsimageio`, which reads the image fully into memory\\n * `aicsimageio-delayed`, which delays reading YX planes until requested for large file support\\n\\n## Installation\\n**Stable Release:** `pip install napari-aicsimageio`<br>\\n**Development Head:** `pip install git+https://github.com/AllenCellModeling/napari-aicsimageio.git`\\n\\n## Development\\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.\\n\\n***Free software: BSD-3-Clause***\\n\\n\\n\",\n",
" \"description_content_type\": \"text/markdown\",\n",
" \"docs_url\": null,\n",
" \"download_url\": \"\",\n",
" \"downloads\": {\n",
" \"last_day\": -1,\n",
" \"last_month\": -1,\n",
" \"last_week\": -1\n",
" },\n",
" \"home_page\": \"https://github.com/AllenCellModeling/napari-aicsimageio\",\n",
" \"keywords\": \"napari,aicsimageio,imaging\",\n",
" \"license\": \"BSD-3-Clause\",\n",
" \"maintainer\": \"\",\n",
" \"maintainer_email\": \"\",\n",
" \"name\": \"napari-aicsimageio\",\n",
" \"package_url\": \"https://pypi.org/project/napari-aicsimageio/\",\n",
" \"platform\": \"\",\n",
" \"project_url\": \"https://pypi.org/project/napari-aicsimageio/\",\n",
" \"project_urls\": {\n",
" \"Homepage\": \"https://github.com/AllenCellModeling/napari-aicsimageio\"\n",
" },\n",
" \"release_url\": \"https://pypi.org/project/napari-aicsimageio/0.2.0/\",\n",
" \"requires_dist\": [\n",
" \"aicsimageio (>=3.3.3)\",\n",
" \"napari-plugin-engine (>=0.1.4)\",\n",
" \"aicsimageio (>=3.3.3) ; extra == 'all'\",\n",
" \"napari-plugin-engine (>=0.1.4) ; extra == 'all'\",\n",
" \"pytest-runner (>=5.2) ; extra == 'all'\",\n",
" \"black (>=19.10b0) ; extra == 'all'\",\n",
" \"codecov (>=2.1.4) ; extra == 'all'\",\n",
" \"flake8 (>=3.8.3) ; extra == 'all'\",\n",
" \"flake8-debugger (>=3.2.1) ; extra == 'all'\",\n",
" \"napari[pyqt5] (>=0.3.0) ; extra == 'all'\",\n",
" \"pytest (>=5.4.3) ; extra == 'all'\",\n",
" \"pytest-cov (>=2.9.0) ; extra == 'all'\",\n",
" \"pytest-raises (>=0.11) ; extra == 'all'\",\n",
" \"bumpversion (>=0.6.0) ; extra == 'all'\",\n",
" \"coverage (>=5.1) ; extra == 'all'\",\n",
" \"ipython (>=7.15.0) ; extra == 'all'\",\n",
" \"m2r (>=0.2.1) ; extra == 'all'\",\n",
" \"Sphinx (<3,>=2.0.0b1) ; extra == 'all'\",\n",
" \"sphinx-rtd-theme (>=0.4.3) ; extra == 'all'\",\n",
" \"tox (>=3.15.2) ; extra == 'all'\",\n",
" \"twine (>=3.1.1) ; extra == 'all'\",\n",
" \"wheel (>=0.34.2) ; extra == 'all'\",\n",
" \"pytest-runner (>=5.2) ; extra == 'dev'\",\n",
" \"black (>=19.10b0) ; extra == 'dev'\",\n",
" \"codecov (>=2.1.4) ; extra == 'dev'\",\n",
" \"flake8 (>=3.8.3) ; extra == 'dev'\",\n",
" \"flake8-debugger (>=3.2.1) ; extra == 'dev'\",\n",
" \"napari[pyqt5] (>=0.3.0) ; extra == 'dev'\",\n",
" \"pytest (>=5.4.3) ; extra == 'dev'\",\n",
" \"pytest-cov (>=2.9.0) ; extra == 'dev'\",\n",
" \"pytest-raises (>=0.11) ; extra == 'dev'\",\n",
" \"bumpversion (>=0.6.0) ; extra == 'dev'\",\n",
" \"coverage (>=5.1) ; extra == 'dev'\",\n",
" \"ipython (>=7.15.0) ; extra == 'dev'\",\n",
" \"m2r (>=0.2.1) ; extra == 'dev'\",\n",
" \"Sphinx (<3,>=2.0.0b1) ; extra == 'dev'\",\n",
" \"sphinx-rtd-theme (>=0.4.3) ; extra == 'dev'\",\n",
" \"tox (>=3.15.2) ; extra == 'dev'\",\n",
" \"twine (>=3.1.1) ; extra == 'dev'\",\n",
" \"wheel (>=0.34.2) ; extra == 'dev'\",\n",
" \"pytest-runner (>=5.2) ; extra == 'setup'\",\n",
" \"black (>=19.10b0) ; extra == 'test'\",\n",
" \"codecov (>=2.1.4) ; extra == 'test'\",\n",
" \"flake8 (>=3.8.3) ; extra == 'test'\",\n",
" \"flake8-debugger (>=3.2.1) ; extra == 'test'\",\n",
" \"napari[pyqt5] (>=0.3.0) ; extra == 'test'\",\n",
" \"pytest (>=5.4.3) ; extra == 'test'\",\n",
" \"pytest-cov (>=2.9.0) ; extra == 'test'\",\n",
" \"pytest-raises (>=0.11) ; extra == 'test'\"\n",
" ],\n",
" \"requires_python\": \">=3.7\",\n",
" \"summary\": \"AICSImageIO bindings for napari\",\n",
" \"version\": \"0.2.0\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" \"last_serial\": 8893371,\n",
" \"releases\": {\n",
" \"0.1.0\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"0d557e84dab5589fe4ee7b897d1a32cb\",\n",
" \"sha256\": \"824dfceccc436d3f589ceb77c49df3a9bd04851e62aa3c171901f19401b0a4b3\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.1.0-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"0d557e84dab5589fe4ee7b897d1a32cb\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6530,\n",
" \"upload_time\": \"2020-03-26T20:10:54\",\n",
" \"upload_time_iso_8601\": \"2020-03-26T20:10:54.889461Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/d4/66/bf0c7912cc7a6ff099b8a1f98c6ffe0727e79c12bd5f4e389d745862e35d/napari_aicsimageio-0.1.0-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"22ab10e0b0481352a85f26730b971b59\",\n",
" \"sha256\": \"4374eda8bf6a2a60b3bdd5ca580cff8a747262f1c338e40401a986d6e0e32e05\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.1.0.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"22ab10e0b0481352a85f26730b971b59\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6257,\n",
" \"upload_time\": \"2020-03-26T20:10:57\",\n",
" \"upload_time_iso_8601\": \"2020-03-26T20:10:57.858112Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/d4/1b/c4f9006396c3935226fe294696e8e72b8e629731f008a5c8b4602bda8f19/napari-aicsimageio-0.1.0.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ],\n",
" \"0.1.1\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"93faead6eaf30ea1f5ecb9d64775da5a\",\n",
" \"sha256\": \"72e8a4ac4d3dff569686d39ea6bdcd60158dbe64eab0d83685f799a7999e870e\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.1.1-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"93faead6eaf30ea1f5ecb9d64775da5a\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6565,\n",
" \"upload_time\": \"2020-04-28T19:51:47\",\n",
" \"upload_time_iso_8601\": \"2020-04-28T19:51:47.729723Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/c3/8e/12638b457f8a4223bf3c34d0ac9b2d8a36b9dd098e02685c8f0928514155/napari_aicsimageio-0.1.1-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"1059ee4ce0d85ab9729a80f5e566dd46\",\n",
" \"sha256\": \"66d68a04cb1e5b3758a5cef02e91eaf77019d73f3194d64b11ee810d8f7dd6cc\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.1.1.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"1059ee4ce0d85ab9729a80f5e566dd46\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6408,\n",
" \"upload_time\": \"2020-04-28T19:51:48\",\n",
" \"upload_time_iso_8601\": \"2020-04-28T19:51:48.692757Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/31/6e/f270a5668b74a155dbeb7ee3e4a6c18797714961fd87bce81b40c577ceff/napari-aicsimageio-0.1.1.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ],\n",
" \"0.1.2\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"4393cbdb7fe6dfb0a7b2697fb2cda1c1\",\n",
" \"sha256\": \"ee60bc3d982583edf7a92abd3c5568c01e33d88d1ffc70d669b88e53868343e9\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.1.2-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"4393cbdb7fe6dfb0a7b2697fb2cda1c1\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6664,\n",
" \"upload_time\": \"2020-06-23T19:52:34\",\n",
" \"upload_time_iso_8601\": \"2020-06-23T19:52:34.211176Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/8d/4b/5504d12b937358c321cc66e2268a0aa562b1aa5651f5bcd31d9540f9b29c/napari_aicsimageio-0.1.2-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"d1dea35874a3bab84e0909005c916aaf\",\n",
" \"sha256\": \"52da28c7c19b3593adec00c8bee1f991f379205586449d30c33fc56b1ed89bae\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.1.2.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"d1dea35874a3bab84e0909005c916aaf\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6890,\n",
" \"upload_time\": \"2020-06-23T19:52:37\",\n",
" \"upload_time_iso_8601\": \"2020-06-23T19:52:37.021462Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/99/d4/2108f5ffde75e7cf44844c8a751e632d4ceafb3162c14932d1437d3bbd71/napari-aicsimageio-0.1.2.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ],\n",
" \"0.1.3\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"6fba278a4706d1bc8dbed8e97b623f84\",\n",
" \"sha256\": \"270d5fb9b59b36bb9a52aced90c89ff9369c4c695ef5c8e11208f795bf1d96ab\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.1.3-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"6fba278a4706d1bc8dbed8e97b623f84\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6686,\n",
" \"upload_time\": \"2020-06-24T22:49:20\",\n",
" \"upload_time_iso_8601\": \"2020-06-24T22:49:20.228058Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/c4/00/4b1bfa125d0212c2b8f3f3332ebdc3e10435143d541d173b0739866a81a1/napari_aicsimageio-0.1.3-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"c2c4f25927740ac5b777906fbe41cdc1\",\n",
" \"sha256\": \"92b655170fc9677644be02a4f4933e107cc6a9fcc0ea51976a307a410defba54\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.1.3.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"c2c4f25927740ac5b777906fbe41cdc1\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.6\",\n",
" \"size\": 6913,\n",
" \"upload_time\": \"2020-06-24T22:49:21\",\n",
" \"upload_time_iso_8601\": \"2020-06-24T22:49:21.423297Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/8b/c7/14ac84229cf127ee9627d46e4a3645ebb8a530ef7d18e44cd30666b7cdfe/napari-aicsimageio-0.1.3.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ],\n",
" \"0.2.0\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"d2140c4b74f71af45afa46e0defecea7\",\n",
" \"sha256\": \"fa87d611da53daa5051a244db39b49883917990c12f3a8f5e01b8451a01fbf22\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.2.0-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"d2140c4b74f71af45afa46e0defecea7\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.7\",\n",
" \"size\": 6015,\n",
" \"upload_time\": \"2020-12-14T07:30:26\",\n",
" \"upload_time_iso_8601\": \"2020-12-14T07:30:26.366917Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/c5/25/86011a70876e75632d17c2525d48d7221c7cff468cf67dcdd320ed58734b/napari_aicsimageio-0.2.0-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"e0f45c041c0101d63528c42f9564a931\",\n",
" \"sha256\": \"7df8b9756afd92b608f959437814d823d1395242e67ad275b44b105845df2675\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.2.0.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"e0f45c041c0101d63528c42f9564a931\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.7\",\n",
" \"size\": 6272,\n",
" \"upload_time\": \"2020-12-14T07:30:27\",\n",
" \"upload_time_iso_8601\": \"2020-12-14T07:30:27.357730Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/74/ea/ec991c7a00366e93de3f2333e999a6db67923d68d541704482269c3826e1/napari-aicsimageio-0.2.0.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ]\n",
" },\n",
" \"urls\": [\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"d2140c4b74f71af45afa46e0defecea7\",\n",
" \"sha256\": \"fa87d611da53daa5051a244db39b49883917990c12f3a8f5e01b8451a01fbf22\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari_aicsimageio-0.2.0-py2.py3-none-any.whl\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"d2140c4b74f71af45afa46e0defecea7\",\n",
" \"packagetype\": \"bdist_wheel\",\n",
" \"python_version\": \"py2.py3\",\n",
" \"requires_python\": \">=3.7\",\n",
" \"size\": 6015,\n",
" \"upload_time\": \"2020-12-14T07:30:26\",\n",
" \"upload_time_iso_8601\": \"2020-12-14T07:30:26.366917Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/c5/25/86011a70876e75632d17c2525d48d7221c7cff468cf67dcdd320ed58734b/napari_aicsimageio-0.2.0-py2.py3-none-any.whl\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" },\n",
" {\n",
" \"comment_text\": \"\",\n",
" \"digests\": {\n",
" \"md5\": \"e0f45c041c0101d63528c42f9564a931\",\n",
" \"sha256\": \"7df8b9756afd92b608f959437814d823d1395242e67ad275b44b105845df2675\"\n",
" },\n",
" \"downloads\": -1,\n",
" \"filename\": \"napari-aicsimageio-0.2.0.tar.gz\",\n",
" \"has_sig\": false,\n",
" \"md5_digest\": \"e0f45c041c0101d63528c42f9564a931\",\n",
" \"packagetype\": \"sdist\",\n",
" \"python_version\": \"source\",\n",
" \"requires_python\": \">=3.7\",\n",
" \"size\": 6272,\n",
" \"upload_time\": \"2020-12-14T07:30:27\",\n",
" \"upload_time_iso_8601\": \"2020-12-14T07:30:27.357730Z\",\n",
" \"url\": \"https://files.pythonhosted.org/packages/74/ea/ec991c7a00366e93de3f2333e999a6db67923d68d541704482269c3826e1/napari-aicsimageio-0.2.0.tar.gz\",\n",
" \"yanked\": false,\n",
" \"yanked_reason\": null\n",
" }\n",
" ]\n",
"}\n"
]
}
],
"source": [
"import json\n",
"from urllib import request\n",
"\n",
"def pprint(data):\n",
" print(json.dumps(data, indent=4, sort_keys=True))\n",
"\n",
" \n",
"def get_package_data(package):\n",
" url = url_template.format(package)\n",
"\n",
" with request.urlopen(url) as f:\n",
" response = f.read()\n",
" data = json.loads(response)\n",
" return data\n",
"\n",
"data = get_package_data(package)\n",
"pprint(data)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"queries = {}"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'napari-aicsimageio'"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_name(data):\n",
" return data['info'].get('name',None)\n",
"queries['name'] = get_name\n",
"queries['name'](data)"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'AICSImageIO bindings for napari'"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_summary(data):\n",
" return data['info'].get('summary',None)\n",
"queries['summary'] = get_summary\n",
"queries['summary'](data)"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'# napari-aicsimageio\\n\\n[![Build Status](https://github.com/AllenCellModeling/napari-aicsimageio/workflows/Build%20Master/badge.svg)](https://github.com/AllenCellModeling/napari-aicsimageio/actions)\\n[![Code Coverage](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio/branch/master/graph/badge.svg)](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio)\\n\\nAICSImageIO bindings for napari\\n\\n---\\n\\n## Features\\n* Supports reading metadata and imaging data for:\\n * `CZI`\\n * `OME-TIFF`\\n * `TIFF`\\n * Any formats supported by [aicsimageio](https://github.com/AllenCellModeling/aicsimageio)\\n * Any additional format supported by [imageio](https://github.com/imageio/imageio)\\n* Two variants of the AICSImageIO bindings:\\n * `aicsimageio`, which reads the image fully into memory\\n * `aicsimageio-delayed`, which delays reading YX planes until requested for large file support\\n\\n## Installation\\n**Stable Release:** `pip install napari-aicsimageio`<br>\\n**Development Head:** `pip install git+https://github.com/AllenCellModeling/napari-aicsimageio.git`\\n\\n## Development\\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.\\n\\n***Free software: BSD-3-Clause***\\n\\n\\n'"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_description(data):\n",
" return data['info'].get('description',None)\n",
"queries['description'] = get_description\n",
"queries['description'](data)"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'text/markdown'"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_description_content_type(data):\n",
" return data['info'].get('description_content_type',None)\n",
"queries['description_content_type'] = get_description_content_type\n",
"queries['description_content_type'](data)"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Jackson Maxfield Brown'"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_author(data):\n",
" return data['info'].get('author',None)\n",
"queries['author'] = get_author\n",
"queries['author'](data)"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'jmaxfieldbrown@gmail.com'"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_author_email(data):\n",
" return data['info'].get('author_email',None)\n",
"queries['author_email'] = get_author_email\n",
"queries['author_email'](data)"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'BSD-3-Clause'"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_license(data):\n",
" return data['info']['license']\n",
"queries['license'] = get_license\n",
"queries['license'](data)"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'>=3.7'"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_python_versions(data):\n",
" return data['info'].get('requires_python',None)\n",
"queries['requires_python'] = get_python_versions\n",
"queries['requires_python'](data)"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
"# operating system"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Scientific/Engineering',\n",
" 'Scientific/Engineering :: Bio-Informatics',\n",
" 'Scientific/Engineering :: Information Analysis',\n",
" 'Scientific/Engineering :: Visualization']"
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# topics\n",
"\n",
"def get_topics(data):\n",
" return [cl[9:] for cl in data['info']['classifiers'] if cl.startswith('Topic')]\n",
" \n",
"queries['topics'] = get_topics\n",
"queries['topics'](data)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['aicsimageio',\n",
" 'napari-plugin-engine',\n",
" 'aicsimageio',\n",
" 'napari-plugin-engine',\n",
" 'pytest-runner',\n",
" 'black',\n",
" 'codecov',\n",
" 'flake8',\n",
" 'flake8-debugger',\n",
" 'napari[pyqt5]',\n",
" 'pytest',\n",
" 'pytest-cov',\n",
" 'pytest-raises',\n",
" 'bumpversion',\n",
" 'coverage',\n",
" 'ipython',\n",
" 'm2r',\n",
" 'Sphinx',\n",
" 'sphinx-rtd-theme',\n",
" 'tox',\n",
" 'twine',\n",
" 'wheel',\n",
" 'pytest-runner',\n",
" 'black',\n",
" 'codecov',\n",
" 'flake8',\n",
" 'flake8-debugger',\n",
" 'napari[pyqt5]',\n",
" 'pytest',\n",
" 'pytest-cov',\n",
" 'pytest-raises',\n",
" 'bumpversion',\n",
" 'coverage',\n",
" 'ipython',\n",
" 'm2r',\n",
" 'Sphinx',\n",
" 'sphinx-rtd-theme',\n",
" 'tox',\n",
" 'twine',\n",
" 'wheel',\n",
" 'pytest-runner',\n",
" 'black',\n",
" 'codecov',\n",
" 'flake8',\n",
" 'flake8-debugger',\n",
" 'napari[pyqt5]',\n",
" 'pytest',\n",
" 'pytest-cov',\n",
" 'pytest-raises']"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_requirements(data):\n",
" return [req.split(' ')[0] for req in data['info'].get('requires_dist',[])]\n",
"queries['requirements'] = get_requirements\n",
"queries['requirements'](data)"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'https://github.com/AllenCellModeling/napari-aicsimageio'"
]
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_homepage(data):\n",
" return data['info'].get('home_page',None)\n",
"queries['homepage'] = get_homepage\n",
"queries['homepage'](data)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'1' < ''"
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'2020-12-14T07:30:26.366917Z'"
]
},
"execution_count": 131,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_latest_release(data):\n",
" latest = {}\n",
" for version, release in data['releases'].items():\n",
" upload_time = release[0]['upload_time_iso_8601']\n",
" if upload_time > latest.get('datetime', ''):\n",
" latest['datetime'] = upload_time\n",
" latest['version'] = version\n",
" return latest\n",
"\n",
"def get_release_date(data):\n",
" return get_latest_release(data)['datetime']\n",
"\n",
"\n",
"queries['release_date'] = get_release_date\n",
"queries['release_date'](data)"
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'0.2.0'"
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_version(data):\n",
" return get_latest_release(data)['version']\n",
"\n",
"queries['version'] = get_version\n",
"queries['version'](data)"
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'2020-03-26T20:10:54.889461Z'"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_first_released(data): \n",
" first = {}\n",
" for version, release in data['releases'].items():\n",
" upload_time = release[0]['upload_time_iso_8601']\n",
" if upload_time < first.get('datetime', 'X'):\n",
" first['datetime'] = upload_time\n",
" first['verstion'] = version\n",
" return first['datetime']\n",
"\n",
"queries['first_released'] = get_first_released\n",
"queries['first_released'](data)"
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"author\": \"Jackson Maxfield Brown\",\n",
" \"author_email\": \"jmaxfieldbrown@gmail.com\",\n",
" \"description\": \"# napari-aicsimageio\\n\\n[![Build Status](https://github.com/AllenCellModeling/napari-aicsimageio/workflows/Build%20Master/badge.svg)](https://github.com/AllenCellModeling/napari-aicsimageio/actions)\\n[![Code Coverage](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio/branch/master/graph/badge.svg)](https://codecov.io/gh/AllenCellModeling/napari-aicsimageio)\\n\\nAICSImageIO bindings for napari\\n\\n---\\n\\n## Features\\n* Supports reading metadata and imaging data for:\\n * `CZI`\\n * `OME-TIFF`\\n * `TIFF`\\n * Any formats supported by [aicsimageio](https://github.com/AllenCellModeling/aicsimageio)\\n * Any additional format supported by [imageio](https://github.com/imageio/imageio)\\n* Two variants of the AICSImageIO bindings:\\n * `aicsimageio`, which reads the image fully into memory\\n * `aicsimageio-delayed`, which delays reading YX planes until requested for large file support\\n\\n## Installation\\n**Stable Release:** `pip install napari-aicsimageio`<br>\\n**Development Head:** `pip install git+https://github.com/AllenCellModeling/napari-aicsimageio.git`\\n\\n## Development\\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.\\n\\n***Free software: BSD-3-Clause***\\n\\n\\n\",\n",
" \"description_content_type\": \"text/markdown\",\n",
" \"first_released\": \"2020-03-26T20:10:54.889461Z\",\n",
" \"homepage\": \"https://github.com/AllenCellModeling/napari-aicsimageio\",\n",
" \"license\": \"BSD-3-Clause\",\n",
" \"name\": \"napari-aicsimageio\",\n",
" \"release_date\": \"2020-12-14T07:30:26.366917Z\",\n",
" \"requirements\": [\n",
" \"aicsimageio\",\n",
" \"napari-plugin-engine\",\n",
" \"aicsimageio\",\n",
" \"napari-plugin-engine\",\n",
" \"pytest-runner\",\n",
" \"black\",\n",
" \"codecov\",\n",
" \"flake8\",\n",
" \"flake8-debugger\",\n",
" \"napari[pyqt5]\",\n",
" \"pytest\",\n",
" \"pytest-cov\",\n",
" \"pytest-raises\",\n",
" \"bumpversion\",\n",
" \"coverage\",\n",
" \"ipython\",\n",
" \"m2r\",\n",
" \"Sphinx\",\n",
" \"sphinx-rtd-theme\",\n",
" \"tox\",\n",
" \"twine\",\n",
" \"wheel\",\n",
" \"pytest-runner\",\n",
" \"black\",\n",
" \"codecov\",\n",
" \"flake8\",\n",
" \"flake8-debugger\",\n",
" \"napari[pyqt5]\",\n",
" \"pytest\",\n",
" \"pytest-cov\",\n",
" \"pytest-raises\",\n",
" \"bumpversion\",\n",
" \"coverage\",\n",
" \"ipython\",\n",
" \"m2r\",\n",
" \"Sphinx\",\n",
" \"sphinx-rtd-theme\",\n",
" \"tox\",\n",
" \"twine\",\n",
" \"wheel\",\n",
" \"pytest-runner\",\n",
" \"black\",\n",
" \"codecov\",\n",
" \"flake8\",\n",
" \"flake8-debugger\",\n",
" \"napari[pyqt5]\",\n",
" \"pytest\",\n",
" \"pytest-cov\",\n",
" \"pytest-raises\"\n",
" ],\n",
" \"requires_python\": \">=3.7\",\n",
" \"summary\": \"AICSImageIO bindings for napari\",\n",
" \"topics\": [\n",
" \"Scientific/Engineering\",\n",
" \"Scientific/Engineering :: Bio-Informatics\",\n",
" \"Scientific/Engineering :: Information Analysis\",\n",
" \"Scientific/Engineering :: Visualization\"\n",
" ],\n",
" \"version\": \"0.2.0\"\n",
"}\n"
]
}
],
"source": [
"def etl(package):\n",
" data = get_package_data(package)\n",
" extracted = {}\n",
" for key, func in queries.items():\n",
" extracted[key] = func(data)\n",
" return extracted\n",
"\n",
"extracted = etl(package)\n",
"pprint(extracted)"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name</th>\n",
" <th>summary</th>\n",
" <th>description</th>\n",
" <th>description_content_type</th>\n",
" <th>author</th>\n",
" <th>author_email</th>\n",
" <th>license</th>\n",
" <th>requires_python</th>\n",
" <th>topics</th>\n",
" <th>requirements</th>\n",
" <th>homepage</th>\n",
" <th>release_date</th>\n",
" <th>version</th>\n",
" <th>first_released</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>napari-aicsimageio</td>\n",
" <td>AICSImageIO bindings for napari</td>\n",
" <td># napari-aicsimageio\\n\\n[![Build Status](https...</td>\n",
" <td>text/markdown</td>\n",
" <td>Jackson Maxfield Brown</td>\n",
" <td>jmaxfieldbrown@gmail.com</td>\n",
" <td>BSD-3-Clause</td>\n",
" <td>&gt;=3.7</td>\n",
" <td>[Scientific/Engineering, Scientific/Engineerin...</td>\n",
" <td>[aicsimageio, napari-plugin-engine, aicsimagei...</td>\n",
" <td>https://github.com/AllenCellModeling/napari-ai...</td>\n",
" <td>2020-12-14T07:30:26.366917Z</td>\n",
" <td>0.2.0</td>\n",
" <td>2020-03-26T20:10:54.889461Z</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>affinder</td>\n",
" <td>Quickly find the affine matrix mapping one ima...</td>\n",
" <td># affinder\\n\\n[![License](https://img.shields....</td>\n",
" <td>text/markdown</td>\n",
" <td>Juan Nunez-Iglesias</td>\n",
" <td>juan.nunez-iglesias@monash.edu</td>\n",
" <td>BSD-3</td>\n",
" <td>&gt;=3.7</td>\n",
" <td>[Software Development :: Testing]</td>\n",
" <td>[napari-plugin-engine, napari, numpy, scikit-i...</td>\n",
" <td>https://github.com/jni/affinder</td>\n",
" <td>2021-02-04T10:12:07.298699Z</td>\n",
" <td>0.1.0</td>\n",
" <td>2021-02-04T10:12:07.298699Z</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>napping</td>\n",
" <td>Control point mapping and coordination transfo...</td>\n",
" <td># napping\\n\\n![PyPI](https://img.shields.io/py...</td>\n",
" <td>text/markdown</td>\n",
" <td>Jonas Windhager</td>\n",
" <td>jonas.windhager@uzh.ch</td>\n",
" <td>MIT</td>\n",
" <td>&gt;=3.7</td>\n",
" <td>[Scientific/Engineering :: Bio-Informatics, Sc...</td>\n",
" <td>[imagecodecs, napari[all], napari-plugin-engin...</td>\n",
" <td>https://github.com/BodenmillerGroup/napping</td>\n",
" <td>2021-03-15T23:01:07.633925Z</td>\n",
" <td>0.1.7</td>\n",
" <td>2021-02-02T20:57:19.679669Z</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>napari-pyclesperanto-assistant</td>\n",
" <td>OpenCL based GPU-accelerated image processing ...</td>\n",
" <td># napari-pyclesperanto-assistant\\nThe py-clEsp...</td>\n",
" <td>text/markdown</td>\n",
" <td>Robert Haase</td>\n",
" <td>robert.haase@tu-dresden.de</td>\n",
" <td></td>\n",
" <td>&gt;=3.6</td>\n",
" <td>[]</td>\n",
" <td>[numpy, pyopencl, toolz, scikit-image, napari,...</td>\n",
" <td>https://github.com/clesperanto/napari_pyclespe...</td>\n",
" <td>2021-02-13T13:24:04.922531Z</td>\n",
" <td>0.7.2</td>\n",
" <td>2020-12-19T16:01:10.190324Z</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>napari-cellfinder</td>\n",
" <td>Visualise cellfinder results with napari</td>\n",
" <td># napari-cellfinder\\n\\n[![License](https://img...</td>\n",
" <td>text/markdown</td>\n",
" <td>Adam Tyson</td>\n",
" <td>adam.tyson@ucl.ac.uk</td>\n",
" <td>MIT</td>\n",
" <td>&gt;=3.6</td>\n",
" <td>[Software Development :: Testing]</td>\n",
" <td>[napari-plugin-engine, imlib, bg-space, napari...</td>\n",
" <td>https://github.com/brainglobe/napari-cellfinder</td>\n",
" <td>2021-01-14T15:41:12.438954Z</td>\n",
" <td>0.2.1</td>\n",
" <td>2020-08-14T09:07:02.660802Z</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name \\\n",
"0 napari-aicsimageio \n",
"1 affinder \n",
"2 napping \n",
"3 napari-pyclesperanto-assistant \n",
"4 napari-cellfinder \n",
"\n",
" summary \\\n",
"0 AICSImageIO bindings for napari \n",
"1 Quickly find the affine matrix mapping one ima... \n",
"2 Control point mapping and coordination transfo... \n",
"3 OpenCL based GPU-accelerated image processing ... \n",
"4 Visualise cellfinder results with napari \n",
"\n",
" description description_content_type \\\n",
"0 # napari-aicsimageio\\n\\n[![Build Status](https... text/markdown \n",
"1 # affinder\\n\\n[![License](https://img.shields.... text/markdown \n",
"2 # napping\\n\\n![PyPI](https://img.shields.io/py... text/markdown \n",
"3 # napari-pyclesperanto-assistant\\nThe py-clEsp... text/markdown \n",
"4 # napari-cellfinder\\n\\n[![License](https://img... text/markdown \n",
"\n",
" author author_email license \\\n",
"0 Jackson Maxfield Brown jmaxfieldbrown@gmail.com BSD-3-Clause \n",
"1 Juan Nunez-Iglesias juan.nunez-iglesias@monash.edu BSD-3 \n",
"2 Jonas Windhager jonas.windhager@uzh.ch MIT \n",
"3 Robert Haase robert.haase@tu-dresden.de \n",
"4 Adam Tyson adam.tyson@ucl.ac.uk MIT \n",
"\n",
" requires_python topics \\\n",
"0 >=3.7 [Scientific/Engineering, Scientific/Engineerin... \n",
"1 >=3.7 [Software Development :: Testing] \n",
"2 >=3.7 [Scientific/Engineering :: Bio-Informatics, Sc... \n",
"3 >=3.6 [] \n",
"4 >=3.6 [Software Development :: Testing] \n",
"\n",
" requirements \\\n",
"0 [aicsimageio, napari-plugin-engine, aicsimagei... \n",
"1 [napari-plugin-engine, napari, numpy, scikit-i... \n",
"2 [imagecodecs, napari[all], napari-plugin-engin... \n",
"3 [numpy, pyopencl, toolz, scikit-image, napari,... \n",
"4 [napari-plugin-engine, imlib, bg-space, napari... \n",
"\n",
" homepage \\\n",
"0 https://github.com/AllenCellModeling/napari-ai... \n",
"1 https://github.com/jni/affinder \n",
"2 https://github.com/BodenmillerGroup/napping \n",
"3 https://github.com/clesperanto/napari_pyclespe... \n",
"4 https://github.com/brainglobe/napari-cellfinder \n",
"\n",
" release_date version first_released \n",
"0 2020-12-14T07:30:26.366917Z 0.2.0 2020-03-26T20:10:54.889461Z \n",
"1 2021-02-04T10:12:07.298699Z 0.1.0 2021-02-04T10:12:07.298699Z \n",
"2 2021-03-15T23:01:07.633925Z 0.1.7 2021-02-02T20:57:19.679669Z \n",
"3 2021-02-13T13:24:04.922531Z 0.7.2 2020-12-19T16:01:10.190324Z \n",
"4 2021-01-14T15:41:12.438954Z 0.2.1 2020-08-14T09:07:02.660802Z "
]
},
"execution_count": 142,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame([etl(package) for package in packages])\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [],
"source": [
"df.to_csv('napari_plugins.csv')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment