# SciStag
### A stack of helpful libraries & applications for the rapid development of data driven solutions.
```
( ( ) ( ) )
`( `( )' )'
`--(_ _)--'
\-/
/oO \
/.. \
`--'. \ .
\ `.__________/)
```
---
Build Status
------------
[![PyPi Version](https://img.shields.io/pypi/v/SciStag.svg)](https://pypi.python.org/pypi/SciStag)
![](https://shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11%7C%203.12-blue)
[![Documentation Status](https://readthedocs.org/projects/scistag/badge/?version=latest)](https://scistag.readthedocs.io/en/latest/?badge=latest)
[![Coverage](https://coveralls.io/repos/github/SciStag/SciStag/badge.svg?branch=main)](https://coveralls.io/github/SciStag/SciStag)
[![Pylint](https://raw.githubusercontent.com/SciStag/SciStag/main/docs/source/generated/pylint.svg)](https://coveralls.io/github/SciStag/SciStag)
[![Ubuntu Unittests Status](https://github.com/scistag/scistag/workflows/Ubuntu%20Unittests/badge.svg)](https://github.com/scistag/scistag/actions?query=workflow%3A%22Ubuntu+Unittests%22)
[![Windows Unittests Status](https://github.com/scistag/scistag/workflows/Windows%20Unittests/badge.svg)](https://github.com/scistag/scistag/actions?query=workflow%3A%22Windows+Unittests%22)
* SciStag is available on pypi: https://pypi.python.org/pypi/SciStag
* The source is hosted on GitHub: https://github.com/SciStag/SciStag
* The documentation is available on ReadTheDocs: https://scistag.readthedocs.io/
---
This project is still under heavy development and in a very early stage -
feel free to experiment with the modules and examples which are already
provided.
The goal of **SciStag** is to bundle the strengths of the many small, awesome
Python technologies from OpenCV via Flask to Pandas and enable users to combine
these libraries and build awesome data driven solutions with a minimum amount of
code.
SciStag currently consists of the following so called **stags**:
<table>
<tr><td><b>VisualLog</b></td>
<td>Allows the dynamic creation of documentation in HTML, Markdown and text format
and the fast data evaluation through its built-in in-place reload of Python
modules so you can quickly and efficiently dive into and browse through your
data, evaluate different parameters quickly etc.
</td></tr>
<tr><td><b>ImageStag</b></td>
<td>Image analysis and modification made easy by combining the strengths of PILLOW, OpenCV and SKImage.
</td>
</tr>
<tr><td><b>MediaStag</b></td>
<td>Easy integration of streaming media data such as videos into your solution.</td>
</tr>
<tr><td><b>DataStag</b></td>
<td>Low-latency inter-container and -process exchange of image and other binary data for Computer Vision and other data
intensive microservice architectures.</td></tr>
<tr><td><b>RemoteStag</b></td>
<td>Remote and asynchronous task execution - such as a neural network inference</td>
</tr>
<tr><td><b>WebStag</b></td>
<td>Helpful tools for accessing, processing web data and the easy provision
of Python components as local microservices.</td></tr>
<tr><td><b>FileStag</b>
</td>
<td>
Tools for handling for large amount of files in a data engineering process
such as easy scanning and handling data in an Azure Storage.
</td></tr>
</table>
---
## Setup
SciStag comes completely bundled with all required standard components.
`pip install scistag[full]` or when using poetry `poetry add scistag[full]` and
you are ready to go! :)
If you do not want to install advanced components with a more light-weighted
`pip install scistag[common]`
## Getting started
You can already find several cool
demos [here](https://github.com/SciStag/SciStag/tree/main/scistag/examples) on
GitHub.
The most advanced and central component of SciStag is currently definitely **
VisualLog** which
lets you create log data and documentation very efficiently with a Jupyter-like
feeling but without loosing all the awesome code editing features of your
IDEs such as Visual Studio Code or PyCharm.
You can find the demos for **VisualLog** in the [
vislog](https://github.com/SciStag/SciStag/tree/main/scistag/examples/vislog)
examples folder.
## License
Copyright (c) 2022-present Michael Ikemann.
Released under the terms of the **MIT License**.
### Third-party data
The SciStag module on PyPi is bundled with the following data:
* The [Roboto](https://fonts.google.com/specimen/Roboto) font - licensed and
distributed under the terms of
the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
.
* The [Roboto Flex](https://github.com/googlefonts/roboto-flex) font - licensed
under
the [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)
* The [JetBrains Mono](https://www.jetbrains.com/lp/mono/) font - licensed under
the [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)
.
* [Iconic font](https://github.com/Templarian/MaterialDesign-Webfont) by the
Material Design Icons community covered
by [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)
* Emojis and country flags from
the [Noto Emoji](https://github.com/googlefonts/noto-emoji) project. Tools and
most
image resources are under
the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
.
* Flag images under the public domain or otherwise exempt from copyright.
* The emoji unicode character name mappings and details are based upon the
unicode data files, Copyright © 1991-2022
Unicode, Inc, licensed under the terms of
the [UNICODE, INC. LICENSE AGREEMENT](https://www.unicode.org/license.txt)
### Third-party source code
* Contains portions of code from [imkgit](https://github.com/jarrekk/imgkit),
Copyright (C) 2016 Cory Dolphin, Olin
College, released under the terms of the **MIT License**.
## Contributors
SciStag is developed by Michael Ikemann / [@Alyxion](https://github.com/Alyxion)
. - Feel free to reach out to me
via [LinkedIn](https://www.linkedin.com/in/michael-ikemann/).
Raw data
{
"_id": null,
"home_page": "https://github.com/scistag/scistag",
"name": "scistag",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<3.13",
"maintainer_email": "",
"keywords": "Data Science,Data Engineering,Data Visualization,Logging,Computer Vision",
"author": "Michael Ikemann",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/ae/c5/4c32a272bf5597ab497c9f92dd6a9118bc6151cba1cf2058e49dced78aa3/scistag-0.9.0.tar.gz",
"platform": null,
"description": "# SciStag\n\n### A stack of helpful libraries & applications for the rapid development of data driven solutions.\n\n```\n ( ( ) ( ) )\n `( `( )' )'\n `--(_ _)--'\n \\-/\n /oO \\\n /.. \\\n `--'. \\ . \n \\ `.__________/)\n```\n\n---\n\nBuild Status\n------------\n\n[![PyPi Version](https://img.shields.io/pypi/v/SciStag.svg)](https://pypi.python.org/pypi/SciStag)\n![](https://shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11%7C%203.12-blue)\n[![Documentation Status](https://readthedocs.org/projects/scistag/badge/?version=latest)](https://scistag.readthedocs.io/en/latest/?badge=latest)\n[![Coverage](https://coveralls.io/repos/github/SciStag/SciStag/badge.svg?branch=main)](https://coveralls.io/github/SciStag/SciStag)\n[![Pylint](https://raw.githubusercontent.com/SciStag/SciStag/main/docs/source/generated/pylint.svg)](https://coveralls.io/github/SciStag/SciStag)\n\n[![Ubuntu Unittests Status](https://github.com/scistag/scistag/workflows/Ubuntu%20Unittests/badge.svg)](https://github.com/scistag/scistag/actions?query=workflow%3A%22Ubuntu+Unittests%22)\n[![Windows Unittests Status](https://github.com/scistag/scistag/workflows/Windows%20Unittests/badge.svg)](https://github.com/scistag/scistag/actions?query=workflow%3A%22Windows+Unittests%22)\n\n* SciStag is available on pypi: https://pypi.python.org/pypi/SciStag\n* The source is hosted on GitHub: https://github.com/SciStag/SciStag\n* The documentation is available on ReadTheDocs: https://scistag.readthedocs.io/\n\n---\n\nThis project is still under heavy development and in a very early stage -\nfeel free to experiment with the modules and examples which are already\nprovided.\n\nThe goal of **SciStag** is to bundle the strengths of the many small, awesome\nPython technologies from OpenCV via Flask to Pandas and enable users to combine\nthese libraries and build awesome data driven solutions with a minimum amount of\ncode.\n\nSciStag currently consists of the following so called **stags**:\n\n<table>\n<tr><td><b>VisualLog</b></td>\n<td>Allows the dynamic creation of documentation in HTML, Markdown and text format\nand the fast data evaluation through its built-in in-place reload of Python\nmodules so you can quickly and efficiently dive into and browse through your \ndata, evaluate different parameters quickly etc.\n</td></tr>\n<tr><td><b>ImageStag</b></td>\n<td>Image analysis and modification made easy by combining the strengths of PILLOW, OpenCV and SKImage.\n</td>\n</tr>\n<tr><td><b>MediaStag</b></td>\n<td>Easy integration of streaming media data such as videos into your solution.</td>\n</tr>\n<tr><td><b>DataStag</b></td>\n<td>Low-latency inter-container and -process exchange of image and other binary data for Computer Vision and other data\n intensive microservice architectures.</td></tr>\n<tr><td><b>RemoteStag</b></td>\n<td>Remote and asynchronous task execution - such as a neural network inference</td>\n</tr>\n<tr><td><b>WebStag</b></td>\n<td>Helpful tools for accessing, processing web data and the easy provision\nof Python components as local microservices.</td></tr>\n<tr><td><b>FileStag</b>\n</td>\n<td>\nTools for handling for large amount of files in a data engineering process \nsuch as easy scanning and handling data in an Azure Storage.\n</td></tr>\n</table>\n\n---\n\n## Setup\n\nSciStag comes completely bundled with all required standard components.\n\n`pip install scistag[full]` or when using poetry `poetry add scistag[full]` and\nyou are ready to go! :)\n\nIf you do not want to install advanced components with a more light-weighted\n\n`pip install scistag[common]`\n\n## Getting started\n\nYou can already find several cool\ndemos [here](https://github.com/SciStag/SciStag/tree/main/scistag/examples) on\nGitHub.\n\nThe most advanced and central component of SciStag is currently definitely **\nVisualLog** which\nlets you create log data and documentation very efficiently with a Jupyter-like\nfeeling but without loosing all the awesome code editing features of your\nIDEs such as Visual Studio Code or PyCharm.\n\nYou can find the demos for **VisualLog** in the [\nvislog](https://github.com/SciStag/SciStag/tree/main/scistag/examples/vislog)\nexamples folder.\n\n## License\n\nCopyright (c) 2022-present Michael Ikemann.\n\nReleased under the terms of the **MIT License**.\n\n### Third-party data\n\nThe SciStag module on PyPi is bundled with the following data:\n\n* The [Roboto](https://fonts.google.com/specimen/Roboto) font - licensed and\n distributed under the terms of\n the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)\n .\n* The [Roboto Flex](https://github.com/googlefonts/roboto-flex) font - licensed\n under\n the [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)\n* The [JetBrains Mono](https://www.jetbrains.com/lp/mono/) font - licensed under\n the [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)\n .\n* [Iconic font](https://github.com/Templarian/MaterialDesign-Webfont) by the\n Material Design Icons community covered\n by [SIL Open Font License 1.1](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web)\n* Emojis and country flags from\n the [Noto Emoji](https://github.com/googlefonts/noto-emoji) project. Tools and\n most\n image resources are under\n the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)\n .\n * Flag images under the public domain or otherwise exempt from copyright.\n* The emoji unicode character name mappings and details are based upon the\n unicode data files, Copyright \u00a9 1991-2022\n Unicode, Inc, licensed under the terms of\n the [UNICODE, INC. LICENSE AGREEMENT](https://www.unicode.org/license.txt)\n\n### Third-party source code\n\n* Contains portions of code from [imkgit](https://github.com/jarrekk/imgkit),\n Copyright (C) 2016 Cory Dolphin, Olin\n College, released under the terms of the **MIT License**.\n\n## Contributors\n\nSciStag is developed by Michael Ikemann / [@Alyxion](https://github.com/Alyxion)\n. - Feel free to reach out to me\nvia [LinkedIn](https://www.linkedin.com/in/michael-ikemann/).\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A stack of helpful libraries & applications for the rapid development of data driven solutions.",
"version": "0.9.0",
"project_urls": {
"Documentation": "https://scistag.readthedocs.io",
"Homepage": "https://github.com/scistag/scistag",
"Repository": "https://github.com/scistag/scistag"
},
"split_keywords": [
"data science",
"data engineering",
"data visualization",
"logging",
"computer vision"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "acfefc97037f089c1a4b2537732b76737693fe222e4153a8c4edde3b4adec1e8",
"md5": "9ad99df496c47e5613576e54b332f685",
"sha256": "8b5d02a47200c9492934bbfe1a02167d97f2f385dbd5c77bd5267a9a520ad8ba"
},
"downloads": -1,
"filename": "scistag-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9ad99df496c47e5613576e54b332f685",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<3.13",
"size": 13822073,
"upload_time": "2024-01-15T22:38:48",
"upload_time_iso_8601": "2024-01-15T22:38:48.570183Z",
"url": "https://files.pythonhosted.org/packages/ac/fe/fc97037f089c1a4b2537732b76737693fe222e4153a8c4edde3b4adec1e8/scistag-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aec54c32a272bf5597ab497c9f92dd6a9118bc6151cba1cf2058e49dced78aa3",
"md5": "daa42a6c499630b4af90814100d2ce29",
"sha256": "6264fb65eb0121c031aa8a2dc8ea00ddd766ba06003bfbd5c936bcb2b3a8d7a9"
},
"downloads": -1,
"filename": "scistag-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "daa42a6c499630b4af90814100d2ce29",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<3.13",
"size": 13670459,
"upload_time": "2024-01-15T22:38:53",
"upload_time_iso_8601": "2024-01-15T22:38:53.327131Z",
"url": "https://files.pythonhosted.org/packages/ae/c5/4c32a272bf5597ab497c9f92dd6a9118bc6151cba1cf2058e49dced78aa3/scistag-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-15 22:38:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scistag",
"github_project": "scistag",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "alabaster",
"specs": [
[
"==",
"0.7.12"
]
]
},
{
"name": "anybadge",
"specs": [
[
"==",
"1.14.0"
]
]
},
{
"name": "anyio",
"specs": [
[
"==",
"3.6.1"
]
]
},
{
"name": "appnope",
"specs": [
[
"==",
"0.1.3"
]
]
},
{
"name": "argon2-cffi-bindings",
"specs": [
[
"==",
"21.2.0"
]
]
},
{
"name": "argon2-cffi",
"specs": [
[
"==",
"21.3.0"
]
]
},
{
"name": "asttokens",
"specs": [
[
"==",
"2.0.8"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"22.1.0"
]
]
},
{
"name": "azure-core",
"specs": [
[
"==",
"1.26.0"
]
]
},
{
"name": "azure-storage-blob",
"specs": [
[
"==",
"12.14.0"
]
]
},
{
"name": "babel",
"specs": [
[
"==",
"2.10.3"
]
]
},
{
"name": "backcall",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
"==",
"4.11.1"
]
]
},
{
"name": "bleach",
"specs": [
[
"==",
"5.0.1"
]
]
},
{
"name": "cairocffi",
"specs": [
[
"==",
"1.4.0"
]
]
},
{
"name": "cairosvg",
"specs": [
[
"==",
"2.5.2"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2022.9.24"
]
]
},
{
"name": "cffi",
"specs": [
[
"==",
"1.15.1"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"2.1.1"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.3"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.5"
]
]
},
{
"name": "contourpy",
"specs": [
[
"==",
"1.0.5"
]
]
},
{
"name": "cryptography",
"specs": [
[
"==",
"38.0.1"
]
]
},
{
"name": "cssselect2",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "cycler",
"specs": [
[
"==",
"0.11.0"
]
]
},
{
"name": "debugpy",
"specs": [
[
"==",
"1.6.3"
]
]
},
{
"name": "decorator",
"specs": [
[
"==",
"4.4.2"
]
]
},
{
"name": "defusedxml",
"specs": [
[
"==",
"0.7.1"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.17.1"
]
]
},
{
"name": "entrypoints",
"specs": [
[
"==",
"0.4"
]
]
},
{
"name": "executing",
"specs": [
[
"==",
"1.1.1"
]
]
},
{
"name": "fastjsonschema",
"specs": [
[
"==",
"2.16.2"
]
]
},
{
"name": "filetype",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "flask",
"specs": [
[
"==",
"2.2.2"
]
]
},
{
"name": "fonttools",
"specs": [
[
"==",
"4.37.4"
]
]
},
{
"name": "gunicorn",
"specs": [
[
"==",
"20.1.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.4"
]
]
},
{
"name": "imageio-ffmpeg",
"specs": [
[
"==",
"0.4.7"
]
]
},
{
"name": "imageio",
"specs": [
[
"==",
"2.22.2"
]
]
},
{
"name": "imagesize",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "imgkit",
"specs": [
[
"==",
"1.2.2"
]
]
},
{
"name": "importlib-metadata",
"specs": [
[
"==",
"5.0.0"
]
]
},
{
"name": "ipykernel",
"specs": [
[
"==",
"6.16.0"
]
]
},
{
"name": "ipython-genutils",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "ipython",
"specs": [
[
"==",
"8.5.0"
]
]
},
{
"name": "ipywidgets",
"specs": [
[
"==",
"8.0.2"
]
]
},
{
"name": "isodate",
"specs": [
[
"==",
"0.6.1"
]
]
},
{
"name": "itsdangerous",
"specs": [
[
"==",
"2.1.2"
]
]
},
{
"name": "jedi",
"specs": [
[
"==",
"0.18.1"
]
]
},
{
"name": "jinja2",
"specs": [
[
"==",
"3.1.2"
]
]
},
{
"name": "json5",
"specs": [
[
"==",
"0.9.10"
]
]
},
{
"name": "jsonschema",
"specs": [
[
"==",
"4.16.0"
]
]
},
{
"name": "jupyter-client",
"specs": [
[
"==",
"7.4.2"
]
]
},
{
"name": "jupyter-console",
"specs": [
[
"==",
"6.4.4"
]
]
},
{
"name": "jupyter-core",
"specs": [
[
"==",
"4.11.1"
]
]
},
{
"name": "jupyter-server",
"specs": [
[
"==",
"1.21.0"
]
]
},
{
"name": "jupyter",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "jupyterlab-pygments",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "jupyterlab-server",
"specs": [
[
"==",
"2.16.0"
]
]
},
{
"name": "jupyterlab-widgets",
"specs": [
[
"==",
"3.0.3"
]
]
},
{
"name": "jupyterlab",
"specs": [
[
"==",
"3.4.8"
]
]
},
{
"name": "kivy-deps-angle",
"specs": [
[
"==",
"0.3.2"
]
]
},
{
"name": "kivy-deps-glew",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "kivy-deps-sdl2",
"specs": [
[
"==",
"0.4.5"
]
]
},
{
"name": "kivy-garden",
"specs": [
[
"==",
"0.1.5"
]
]
},
{
"name": "kivy",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "kiwisolver",
"specs": [
[
"==",
"1.4.4"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "markdown",
"specs": [
[
"==",
"3.4.1"
]
]
},
{
"name": "markupsafe",
"specs": [
[
"==",
"2.1.1"
]
]
},
{
"name": "matplotlib-inline",
"specs": [
[
"==",
"0.1.6"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.6.1"
]
]
},
{
"name": "mdit-py-plugins",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "mistune",
"specs": [
[
"==",
"2.0.4"
]
]
},
{
"name": "moviepy",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "msrest",
"specs": [
[
"==",
"0.7.1"
]
]
},
{
"name": "myst-parser",
"specs": [
[
"==",
"0.18.1"
]
]
},
{
"name": "nbclassic",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "nbclient",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "nbconvert",
"specs": [
[
"==",
"7.2.1"
]
]
},
{
"name": "nbformat",
"specs": [
[
"==",
"5.7.0"
]
]
},
{
"name": "nest-asyncio",
"specs": [
[
"==",
"1.5.6"
]
]
},
{
"name": "notebook-shim",
"specs": [
[
"==",
"0.1.0"
]
]
},
{
"name": "notebook",
"specs": [
[
"==",
"6.4.12"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.23.4"
]
]
},
{
"name": "oauthlib",
"specs": [
[
"==",
"3.2.1"
]
]
},
{
"name": "opencv-contrib-python",
"specs": [
[
"==",
"4.6.0.66"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"21.3"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"1.5.0"
]
]
},
{
"name": "pandocfilters",
"specs": [
[
"==",
"1.5.0"
]
]
},
{
"name": "parso",
"specs": [
[
"==",
"0.8.3"
]
]
},
{
"name": "pexpect",
"specs": [
[
"==",
"4.8.0"
]
]
},
{
"name": "pickleshare",
"specs": [
[
"==",
"0.7.5"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"9.2.0"
]
]
},
{
"name": "pretty-html-table",
"specs": [
[
"==",
"0.9.16"
]
]
},
{
"name": "proglog",
"specs": [
[
"==",
"0.1.10"
]
]
},
{
"name": "prometheus-client",
"specs": [
[
"==",
"0.15.0"
]
]
},
{
"name": "prompt-toolkit",
"specs": [
[
"==",
"3.0.31"
]
]
},
{
"name": "psutil",
"specs": [
[
"==",
"5.9.2"
]
]
},
{
"name": "ptyprocess",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "pure-eval",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "py",
"specs": [
[
"==",
"1.11.0"
]
]
},
{
"name": "pyarrow",
"specs": [
[
"==",
"9.0.0"
]
]
},
{
"name": "pycparser",
"specs": [
[
"==",
"2.21"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"1.10.2"
]
]
},
{
"name": "pygments",
"specs": [
[
"==",
"2.13.0"
]
]
},
{
"name": "pyparsing",
"specs": [
[
"==",
"3.0.9"
]
]
},
{
"name": "pypiwin32",
"specs": [
[
"==",
"223"
]
]
},
{
"name": "pyrsistent",
"specs": [
[
"==",
"0.18.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.8.2"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2022.4"
]
]
},
{
"name": "pywin32",
"specs": [
[
"==",
"304"
]
]
},
{
"name": "pywinpty",
"specs": [
[
"==",
"2.0.8"
]
]
},
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0"
]
]
},
{
"name": "pyzmq",
"specs": [
[
"==",
"24.0.1"
]
]
},
{
"name": "qtconsole",
"specs": [
[
"==",
"5.3.2"
]
]
},
{
"name": "qtpy",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "requests-oauthlib",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.28.1"
]
]
},
{
"name": "send2trash",
"specs": [
[
"==",
"1.8.0"
]
]
},
{
"name": "setuptools-scm",
"specs": [
[
"==",
"7.0.5"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"65.5.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "sniffio",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "snowballstemmer",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "soupsieve",
"specs": [
[
"==",
"2.3.2.post1"
]
]
},
{
"name": "sphinx-autodoc-typehints",
"specs": [
[
"==",
"1.19.4"
]
]
},
{
"name": "sphinx-mdinclude",
"specs": [
[
"==",
"0.5.3"
]
]
},
{
"name": "sphinx-rtd-theme",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "sphinx",
"specs": [
[
"==",
"5.3.0"
]
]
},
{
"name": "sphinxcontrib-applehelp",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "sphinxcontrib-devhelp",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "sphinxcontrib-htmlhelp",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "sphinxcontrib-jsmath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "sphinxcontrib-qthelp",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "sphinxcontrib-serializinghtml",
"specs": [
[
"==",
"1.1.5"
]
]
},
{
"name": "stack-data",
"specs": [
[
"==",
"0.5.1"
]
]
},
{
"name": "tabulate",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "terminado",
"specs": [
[
"==",
"0.16.0"
]
]
},
{
"name": "tinycss2",
"specs": [
[
"==",
"1.1.1"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "tornado",
"specs": [
[
"==",
"6.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.64.1"
]
]
},
{
"name": "traitlets",
"specs": [
[
"==",
"5.4.0"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.4.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.12"
]
]
},
{
"name": "wcwidth",
"specs": [
[
"==",
"0.2.5"
]
]
},
{
"name": "webencodings",
"specs": [
[
"==",
"0.5.1"
]
]
},
{
"name": "websocket-client",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "werkzeug",
"specs": [
[
"==",
"2.2.2"
]
]
},
{
"name": "widgetsnbextension",
"specs": [
[
"==",
"4.0.3"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.9.0"
]
]
},
{
"name": "pytest",
"specs": [
[
"~=",
"7.1.3"
]
]
},
{
"name": "pandas",
"specs": [
[
"~=",
"1.5.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"~=",
"1.23.4"
]
]
},
{
"name": "pydantic",
"specs": [
[
"~=",
"1.10.2"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"~=",
"3.6.1"
]
]
},
{
"name": "requests",
"specs": [
[
"~=",
"2.28.1"
]
]
},
{
"name": "pillow",
"specs": [
[
"~=",
"9.2.0"
]
]
},
{
"name": "six",
"specs": [
[
"~=",
"1.16.0"
]
]
}
],
"lcname": "scistag"
}