Metadata-Version: 2.1
Name: KqlmagicCustom
Version: 0.1.114.post23
Summary: Kqlmagic: Microsoft Azure Monitor magic extension to Jupyter notebook (Custom Dependencies)
Home-page: https://github.com/Microsoft/jupyter-Kqlmagic
Author: Michael Binshtock
Author-email: michabin@microsoft.com
Maintainer: Michael Binshtock
Maintainer-email: michabin@microsoft.com
License: MIT License
Project-URL: Documentation, https://github.com/microsoft/jupyter-Kqlmagic/blob/master/README.md
Project-URL: Source, https://github.com/microsoft/jupyter-Kqlmagic
Keywords: database ipython jupyter jupyterlab jupyter-notebook nteract azureml query language kql adx azure-data-explorer kusto loganalytics applicationinsights aria
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Customer Service
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Environment :: Console
Classifier: Environment :: Plugins
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Topic :: Database
Classifier: Topic :: Database :: Front-Ends
Classifier: Framework :: IPython
Classifier: Framework :: Jupyter
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE.TXT
License-File: NOTICE.TXT
Requires-Dist: python-dateutil>=2.7.5
Requires-Dist: traitlets>=4.3.2
Provides-Extra: default
Requires-Dist: lxml>=4.2.5; extra == "default"
Requires-Dist: ipykernel>=5.1.1; extra == "default"
Requires-Dist: msrestazure>=0.6.3; extra == "default"
Requires-Dist: msal-extensions>=0.3.0; extra == "default"
Requires-Dist: ipywidgets; extra == "default"
Requires-Dist: pandas>=0.23.4; extra == "default"
Requires-Dist: requests>=2.21.0; extra == "default"
Requires-Dist: azure-identity>=1.5.0; extra == "default"
Requires-Dist: isodate>=0.6.0; extra == "default"
Requires-Dist: psutil>=5.4.7; extra == "default"
Requires-Dist: cryptography>=2.7; extra == "default"
Requires-Dist: pyperclip>=1.7.0; extra == "default"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "default"
Requires-Dist: ipython>=7.1.1; extra == "default"
Requires-Dist: matplotlib>=3.0.0; extra == "default"
Requires-Dist: msal>=1.11.0; extra == "default"
Requires-Dist: setuptools>=41.0.1; extra == "default"
Requires-Dist: Markdown>=3.0.1; extra == "default"
Requires-Dist: azure-common>=1.1.25; extra == "default"
Requires-Dist: plotly>=3.10.0; extra == "default"
Requires-Dist: prettytable>=0.7.2; extra == "default"
Requires-Dist: flask>=1.0.3; extra == "default"
Requires-Dist: password-strength>=0.0.3; extra == "default"
Requires-Dist: Pygments>=2.2.0; extra == "default"
Provides-Extra: naked
Provides-Extra: saw
Requires-Dist: msal>=1.11.0; extra == "saw"
Requires-Dist: ipykernel>=5.1.1; extra == "saw"
Requires-Dist: ipywidgets; extra == "saw"
Requires-Dist: pandas>=0.23.4; extra == "saw"
Requires-Dist: Pygments>=2.2.0; extra == "saw"
Requires-Dist: ipython>=7.1.1; extra == "saw"
Provides-Extra: jupyter-basic
Requires-Dist: requests>=2.21.0; extra == "jupyter-basic"
Requires-Dist: prettytable>=0.7.2; extra == "jupyter-basic"
Requires-Dist: ipykernel>=5.1.1; extra == "jupyter-basic"
Requires-Dist: msal>=1.11.0; extra == "jupyter-basic"
Provides-Extra: ipython-basic
Requires-Dist: requests>=2.21.0; extra == "ipython-basic"
Requires-Dist: prettytable>=0.7.2; extra == "ipython-basic"
Requires-Dist: ipython>=7.1.1; extra == "ipython-basic"
Requires-Dist: msal>=1.11.0; extra == "ipython-basic"
Provides-Extra: python-basic
Requires-Dist: requests>=2.21.0; extra == "python-basic"
Requires-Dist: prettytable>=0.7.2; extra == "python-basic"
Requires-Dist: msal>=1.11.0; extra == "python-basic"
Provides-Extra: basic
Requires-Dist: prettytable>=0.7.2; extra == "basic"
Requires-Dist: msal>=1.11.0; extra == "basic"
Requires-Dist: ipykernel>=5.1.1; extra == "basic"
Requires-Dist: requests>=2.21.0; extra == "basic"
Requires-Dist: ipython>=7.1.1; extra == "basic"
Provides-Extra: jupyter-extended
Requires-Dist: lxml>=4.2.5; extra == "jupyter-extended"
Requires-Dist: ipykernel>=5.1.1; extra == "jupyter-extended"
Requires-Dist: msrestazure>=0.6.3; extra == "jupyter-extended"
Requires-Dist: msal-extensions>=0.3.0; extra == "jupyter-extended"
Requires-Dist: requests>=2.21.0; extra == "jupyter-extended"
Requires-Dist: azure-identity>=1.5.0; extra == "jupyter-extended"
Requires-Dist: isodate>=0.6.0; extra == "jupyter-extended"
Requires-Dist: psutil>=5.4.7; extra == "jupyter-extended"
Requires-Dist: cryptography>=2.7; extra == "jupyter-extended"
Requires-Dist: pyperclip>=1.7.0; extra == "jupyter-extended"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "jupyter-extended"
Requires-Dist: matplotlib>=3.0.0; extra == "jupyter-extended"
Requires-Dist: msal>=1.11.0; extra == "jupyter-extended"
Requires-Dist: setuptools>=41.0.1; extra == "jupyter-extended"
Requires-Dist: Markdown>=3.0.1; extra == "jupyter-extended"
Requires-Dist: azure-common>=1.1.25; extra == "jupyter-extended"
Requires-Dist: prettytable>=0.7.2; extra == "jupyter-extended"
Requires-Dist: flask>=1.0.3; extra == "jupyter-extended"
Requires-Dist: password-strength>=0.0.3; extra == "jupyter-extended"
Requires-Dist: Pygments>=2.2.0; extra == "jupyter-extended"
Provides-Extra: ipython-extended
Requires-Dist: lxml>=4.2.5; extra == "ipython-extended"
Requires-Dist: msrestazure>=0.6.3; extra == "ipython-extended"
Requires-Dist: msal-extensions>=0.3.0; extra == "ipython-extended"
Requires-Dist: requests>=2.21.0; extra == "ipython-extended"
Requires-Dist: azure-identity>=1.5.0; extra == "ipython-extended"
Requires-Dist: isodate>=0.6.0; extra == "ipython-extended"
Requires-Dist: psutil>=5.4.7; extra == "ipython-extended"
Requires-Dist: cryptography>=2.7; extra == "ipython-extended"
Requires-Dist: pyperclip>=1.7.0; extra == "ipython-extended"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "ipython-extended"
Requires-Dist: ipython>=7.1.1; extra == "ipython-extended"
Requires-Dist: matplotlib>=3.0.0; extra == "ipython-extended"
Requires-Dist: msal>=1.11.0; extra == "ipython-extended"
Requires-Dist: setuptools>=41.0.1; extra == "ipython-extended"
Requires-Dist: Markdown>=3.0.1; extra == "ipython-extended"
Requires-Dist: azure-common>=1.1.25; extra == "ipython-extended"
Requires-Dist: prettytable>=0.7.2; extra == "ipython-extended"
Requires-Dist: flask>=1.0.3; extra == "ipython-extended"
Requires-Dist: password-strength>=0.0.3; extra == "ipython-extended"
Requires-Dist: Pygments>=2.2.0; extra == "ipython-extended"
Provides-Extra: python-extended
Requires-Dist: lxml>=4.2.5; extra == "python-extended"
Requires-Dist: msrestazure>=0.6.3; extra == "python-extended"
Requires-Dist: msal-extensions>=0.3.0; extra == "python-extended"
Requires-Dist: azure-identity>=1.5.0; extra == "python-extended"
Requires-Dist: requests>=2.21.0; extra == "python-extended"
Requires-Dist: isodate>=0.6.0; extra == "python-extended"
Requires-Dist: psutil>=5.4.7; extra == "python-extended"
Requires-Dist: cryptography>=2.7; extra == "python-extended"
Requires-Dist: pyperclip>=1.7.0; extra == "python-extended"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "python-extended"
Requires-Dist: matplotlib>=3.0.0; extra == "python-extended"
Requires-Dist: msal>=1.11.0; extra == "python-extended"
Requires-Dist: setuptools>=41.0.1; extra == "python-extended"
Requires-Dist: Markdown>=3.0.1; extra == "python-extended"
Requires-Dist: azure-common>=1.1.25; extra == "python-extended"
Requires-Dist: prettytable>=0.7.2; extra == "python-extended"
Requires-Dist: flask>=1.0.3; extra == "python-extended"
Requires-Dist: password-strength>=0.0.3; extra == "python-extended"
Requires-Dist: Pygments>=2.2.0; extra == "python-extended"
Provides-Extra: extended
Requires-Dist: lxml>=4.2.5; extra == "extended"
Requires-Dist: ipykernel>=5.1.1; extra == "extended"
Requires-Dist: msrestazure>=0.6.3; extra == "extended"
Requires-Dist: msal-extensions>=0.3.0; extra == "extended"
Requires-Dist: requests>=2.21.0; extra == "extended"
Requires-Dist: azure-identity>=1.5.0; extra == "extended"
Requires-Dist: isodate>=0.6.0; extra == "extended"
Requires-Dist: psutil>=5.4.7; extra == "extended"
Requires-Dist: cryptography>=2.7; extra == "extended"
Requires-Dist: pyperclip>=1.7.0; extra == "extended"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "extended"
Requires-Dist: ipython>=7.1.1; extra == "extended"
Requires-Dist: matplotlib>=3.0.0; extra == "extended"
Requires-Dist: msal>=1.11.0; extra == "extended"
Requires-Dist: setuptools>=41.0.1; extra == "extended"
Requires-Dist: Markdown>=3.0.1; extra == "extended"
Requires-Dist: azure-common>=1.1.25; extra == "extended"
Requires-Dist: prettytable>=0.7.2; extra == "extended"
Requires-Dist: flask>=1.0.3; extra == "extended"
Requires-Dist: password-strength>=0.0.3; extra == "extended"
Requires-Dist: Pygments>=2.2.0; extra == "extended"
Provides-Extra: jupyter-all
Requires-Dist: lxml>=4.2.5; extra == "jupyter-all"
Requires-Dist: ipykernel>=5.1.1; extra == "jupyter-all"
Requires-Dist: msrestazure>=0.6.3; extra == "jupyter-all"
Requires-Dist: msal-extensions>=0.3.0; extra == "jupyter-all"
Requires-Dist: ipywidgets; extra == "jupyter-all"
Requires-Dist: pandas>=0.23.4; extra == "jupyter-all"
Requires-Dist: requests>=2.21.0; extra == "jupyter-all"
Requires-Dist: azure-identity>=1.5.0; extra == "jupyter-all"
Requires-Dist: isodate>=0.6.0; extra == "jupyter-all"
Requires-Dist: psutil>=5.4.7; extra == "jupyter-all"
Requires-Dist: cryptography>=2.7; extra == "jupyter-all"
Requires-Dist: pyperclip>=1.7.0; extra == "jupyter-all"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "jupyter-all"
Requires-Dist: matplotlib>=3.0.0; extra == "jupyter-all"
Requires-Dist: msal>=1.11.0; extra == "jupyter-all"
Requires-Dist: setuptools>=41.0.1; extra == "jupyter-all"
Requires-Dist: Markdown>=3.0.1; extra == "jupyter-all"
Requires-Dist: azure-common>=1.1.25; extra == "jupyter-all"
Requires-Dist: plotly>=3.10.0; extra == "jupyter-all"
Requires-Dist: prettytable>=0.7.2; extra == "jupyter-all"
Requires-Dist: flask>=1.0.3; extra == "jupyter-all"
Requires-Dist: password-strength>=0.0.3; extra == "jupyter-all"
Requires-Dist: Pygments>=2.2.0; extra == "jupyter-all"
Provides-Extra: ipython-all
Requires-Dist: lxml>=4.2.5; extra == "ipython-all"
Requires-Dist: msrestazure>=0.6.3; extra == "ipython-all"
Requires-Dist: msal-extensions>=0.3.0; extra == "ipython-all"
Requires-Dist: ipywidgets; extra == "ipython-all"
Requires-Dist: pandas>=0.23.4; extra == "ipython-all"
Requires-Dist: requests>=2.21.0; extra == "ipython-all"
Requires-Dist: azure-identity>=1.5.0; extra == "ipython-all"
Requires-Dist: isodate>=0.6.0; extra == "ipython-all"
Requires-Dist: psutil>=5.4.7; extra == "ipython-all"
Requires-Dist: cryptography>=2.7; extra == "ipython-all"
Requires-Dist: pyperclip>=1.7.0; extra == "ipython-all"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "ipython-all"
Requires-Dist: ipython>=7.1.1; extra == "ipython-all"
Requires-Dist: matplotlib>=3.0.0; extra == "ipython-all"
Requires-Dist: msal>=1.11.0; extra == "ipython-all"
Requires-Dist: setuptools>=41.0.1; extra == "ipython-all"
Requires-Dist: Markdown>=3.0.1; extra == "ipython-all"
Requires-Dist: azure-common>=1.1.25; extra == "ipython-all"
Requires-Dist: plotly>=3.10.0; extra == "ipython-all"
Requires-Dist: prettytable>=0.7.2; extra == "ipython-all"
Requires-Dist: flask>=1.0.3; extra == "ipython-all"
Requires-Dist: password-strength>=0.0.3; extra == "ipython-all"
Requires-Dist: Pygments>=2.2.0; extra == "ipython-all"
Provides-Extra: python-all
Requires-Dist: lxml>=4.2.5; extra == "python-all"
Requires-Dist: msrestazure>=0.6.3; extra == "python-all"
Requires-Dist: msal-extensions>=0.3.0; extra == "python-all"
Requires-Dist: ipywidgets; extra == "python-all"
Requires-Dist: pandas>=0.23.4; extra == "python-all"
Requires-Dist: requests>=2.21.0; extra == "python-all"
Requires-Dist: azure-identity>=1.5.0; extra == "python-all"
Requires-Dist: isodate>=0.6.0; extra == "python-all"
Requires-Dist: psutil>=5.4.7; extra == "python-all"
Requires-Dist: cryptography>=2.7; extra == "python-all"
Requires-Dist: pyperclip>=1.7.0; extra == "python-all"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "python-all"
Requires-Dist: matplotlib>=3.0.0; extra == "python-all"
Requires-Dist: msal>=1.11.0; extra == "python-all"
Requires-Dist: setuptools>=41.0.1; extra == "python-all"
Requires-Dist: Markdown>=3.0.1; extra == "python-all"
Requires-Dist: azure-common>=1.1.25; extra == "python-all"
Requires-Dist: plotly>=3.10.0; extra == "python-all"
Requires-Dist: prettytable>=0.7.2; extra == "python-all"
Requires-Dist: flask>=1.0.3; extra == "python-all"
Requires-Dist: password-strength>=0.0.3; extra == "python-all"
Requires-Dist: Pygments>=2.2.0; extra == "python-all"
Provides-Extra: plotly
Requires-Dist: plotly>=3.10.0; extra == "plotly"
Provides-Extra: pandas
Requires-Dist: pandas>=0.23.4; extra == "pandas"
Provides-Extra: widgets
Requires-Dist: ipywidgets; extra == "widgets"
Provides-Extra: sso
Requires-Dist: msal>=1.11.0; extra == "sso"
Requires-Dist: password-strength>=0.0.3; extra == "sso"
Requires-Dist: cryptography>=2.7; extra == "sso"
Requires-Dist: msal-extensions>=0.3.0; extra == "sso"
Requires-Dist: msrestazure>=0.6.3; extra == "sso"
Requires-Dist: azure-common>=1.1.25; extra == "sso"
Requires-Dist: azure-identity>=1.5.0; extra == "sso"
Provides-Extra: azcli-sso
Requires-Dist: azure-identity>=1.5.0; extra == "azcli-sso"
Requires-Dist: azure-common>=1.1.25; extra == "azcli-sso"
Provides-Extra: msi-sso
Requires-Dist: msrestazure>=0.6.3; extra == "msi-sso"
Provides-Extra: vscode-sso
Requires-Dist: azure-identity>=1.5.0; extra == "vscode-sso"
Provides-Extra: msal-sso
Requires-Dist: msal-extensions>=0.3.0; extra == "msal-sso"
Provides-Extra: kqlmagic-sso
Requires-Dist: cryptography>=2.7; extra == "kqlmagic-sso"
Requires-Dist: msal-extensions>=0.3.0; extra == "kqlmagic-sso"
Requires-Dist: msal>=1.11.0; extra == "kqlmagic-sso"
Requires-Dist: password-strength>=0.0.3; extra == "kqlmagic-sso"
Provides-Extra: kqlmagic-msal-sso
Requires-Dist: cryptography>=2.7; extra == "kqlmagic-msal-sso"
Requires-Dist: password-strength>=0.0.3; extra == "kqlmagic-msal-sso"
Provides-Extra: kqlmagic-fernet-sso
Requires-Dist: cryptography>=2.7; extra == "kqlmagic-fernet-sso"
Requires-Dist: password-strength>=0.0.3; extra == "kqlmagic-fernet-sso"
Provides-Extra: utils
Requires-Dist: lxml>=4.2.5; extra == "utils"
Requires-Dist: matplotlib>=3.0.0; extra == "utils"
Requires-Dist: isodate>=0.6.0; extra == "utils"
Requires-Dist: setuptools>=41.0.1; extra == "utils"
Requires-Dist: psutil>=5.4.7; extra == "utils"
Requires-Dist: flask>=1.0.3; extra == "utils"
Requires-Dist: Markdown>=3.0.1; extra == "utils"
Requires-Dist: pyperclip>=1.7.0; extra == "utils"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "utils"
Requires-Dist: Pygments>=2.2.0; extra == "utils"
Provides-Extra: base-utils
Requires-Dist: psutil>=5.4.7; extra == "base-utils"
Requires-Dist: setuptools>=41.0.1; extra == "base-utils"
Requires-Dist: flask>=1.0.3; extra == "base-utils"
Requires-Dist: isodate>=0.6.0; extra == "base-utils"
Provides-Extra: text-utils
Requires-Dist: Markdown>=3.0.1; extra == "text-utils"
Requires-Dist: beautifulsoup4>=4.6.3; extra == "text-utils"
Requires-Dist: lxml>=4.2.5; extra == "text-utils"
Provides-Extra: json-color
Requires-Dist: Pygments>=2.2.0; extra == "json-color"
Provides-Extra: auth-code-clipboard
Requires-Dist: pyperclip>=1.7.0; extra == "auth-code-clipboard"
Provides-Extra: matplotlib-palettes
Requires-Dist: matplotlib>=3.0.0; extra == "matplotlib-palettes"
Provides-Extra: dev
Requires-Dist: twine; extra == "dev"
Requires-Dist: pip; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pipreqs; extra == "dev"
Requires-Dist: mccabe; extra == "dev"
Requires-Dist: pep8autopep8; extra == "dev"
Requires-Dist: pydocstyle; extra == "dev"
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-pep8; extra == "tests"
Requires-Dist: pytest-docstyle; extra == "tests"
Requires-Dist: pytest-flakes; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Requires-Dist: QtPy; extra == "tests"
Requires-Dist: PyQt5; extra == "tests"

Kqlmagic: Microsoft Azure Monitor magic extension to Jupyter notebook
=====================================================================
Enables notebook experience, exploring Microsoft Azure Monitor data: Azure Data Explorer (Kusto),
ApplicationInsights, and LogAnalytics data, from Jupyter notebook (Python3 kernel), using kql (Kusto Query language).




|version| |python| |license| 

|downloads| |monthDownloads| |weekDownloads|




Example
--------


.. code-block:: python

    Install latest version of package
    In [1]: !pip install Kqlmagic --no-cache-dir --upgrade

.. code-block:: python

    Add Kqlmagic to notebook magics
    In [2]: %reload_ext Kqlmagic

.. code-block:: python

    Connect to database at cluster
    In [3]: %kql kusto://code;cluster='help';database='Samples'

.. code-block:: python

    Query database@cluster and render result set to a pie chart
    In [4]: %kql Samples@help StormEvents | summarize count() by State | sort by count_ | limit 10 | render piechart title='my apple pie'



Get Started Notebooks
---------------------

* `Get Started with Kqlmagic for Kusto notebook <https://mybinder.org/v2/gh/Microsoft/jupyter-Kqlmagic/master?filepath=notebooks%2FQuickStart.ipynb>`_.

* `Get Started with Kqlmagic for Application Insights notebook <https://mybinder.org/v2/gh/Microsoft/jupyter-Kqlmagic/master?filepath=notebooks%2FQuickStartAI.ipynb>`_.

* `Get Started with Kqlmagic for Log Analytics notebook <https://mybinder.org/v2/gh/Microsoft/jupyter-Kqlmagic/master?filepath=notebooks%2FQuickStartLA.ipynb>`_.


* `Parametrize your Kqlmagic query with Python notebook <https://mybinder.org/v2/gh/Microsoft/jupyter-Kqlmagic/master?filepath=notebooks%2FParametrizeYourQuery.ipynb>`_.

* `Choose colors palette for your Kqlmagic query chart result notebook <https://mybinder.org/v2/gh/Microsoft/jupyter-Kqlmagic/master?filepath=notebooks%2FColorYourCharts.ipynb>`_.


Links
-----

* `How to install the package <https://github.com/Microsoft/jupyter-Kqlmagic#install>`_.
* `How to install the package on a Secure Access Workstation (SAW) <https://github.com/Microsoft/jupyter-Kqlmagic#Install%20on%20Secure%20Access%20Workstation%20(SAW)>`_.
* `How to load the magic extension <https://github.com/Microsoft/jupyter-Kqlmagic#load>`_.
* `GitHub Repository <https://github.com/Microsoft/jupyter-Kqlmagic/tree/master>`_.






.. |downloads| image:: https://pepy.tech/badge/kqlmagic
    :target: https://pepy.tech/project/kqlmagic

.. |monthDownloads| image:: https://pepy.tech/badge/kqlmagic/month
    :target: https://pepy.tech/project/kqlmagic

.. |weekDownloads| image:: https://pepy.tech/badge/kqlmagic/week
    :target: https://pepy.tech/project/kqlmagic

.. |version| image:: https://img.shields.io/pypi/v/Kqlmagic.svg?style=flat-square
    :target: https://pypi.org/project/Kqlmagic/

.. |python| image:: https://img.shields.io/pypi/pyversions/Kqlmagic.svg?style=flat-square
    :target: https://github.com/Microsoft/jupyter-Kqlmagic/blob/master/setup.py

.. |license| image:: https://img.shields.io/pypi/l/Kqlmagic.svg?style=flat-square
    :target: https://github.com/Microsoft/jupyter-Kqlmagic/blob/master/LICENSE.TXT


