# deephaven.ui Plugin
Plugin prototype for programmatic layouts and callbacks. Currently calling it `deephaven.ui` but that's not set in stone.
## Build
To create your build / development environment (skip the first two lines if you already have a venv):
```sh
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip setuptools
pip install build deephaven-plugin plotly
```
To build:
```sh
python -m build --wheel
```
The wheel is stored in `dist/`.
To test within [deephaven-core](https://github.com/deephaven/deephaven-core), note where this wheel is stored (using `pwd`, for example).
Then, follow the directions in the top-level README.md to install the wheel into your Deephaven environment.
To unit test, run the following command from the root of the repo:
```sh
tox -e py
```
## Usage
Once you have the JS and python plugins installed and the server started, you can use deephaven.ui. See [examples](docs/README.md) for examples.
## Logging
The Python library uses the [logging](https://docs.python.org/3/howto/logging.html) module to log messages. The default log level is `WARNING`. To change the log level for debugging, set the log level to `DEBUG`:
```python
import logging
import sys
# Have the root logger output to stdout instead of stderr
logging.basicConfig(stream=sys.stdout, level=logging.WARNING)
# Set the log level for the deephaven.ui logger to DEBUG
logging.getLogger("deephaven.ui").setLevel(level=logging.DEBUG)
```
You can also set the log level for specific modules if you want to see specific modules' debug messages or filter out other ones, e.g.
```python
# Only log warnings from deephaven.ui.hooks
logging.getLogger("deephaven.ui.hooks").setLevel(level=logging.WARNING)
# Log all debug messages from the render module specifically
logging.getLogger("deephaven.ui.render").setLevel(level=logging.DEBUG)
```
## Docs
Docs can be built locally
Install the necessary dependencies:
```shell
pip install -r ../../sphinx_ext/sphinx-requirements.txt
pip install dist/deephaven_plugin_ui-*.whl
```
then run the docs make script:
```shell
python make_docs.py
```
The files will be built into `docs/build/markdown`.
Note that these built files should not be committed to the repository.
## Update Icon Types
Available IconTypes can be generated automatically using icon TypeScript definitions in node_modules.
Writes to `icon_types.py`.
```shell
npm install
cd plugins/ui
python make_icon_types.py
```
Raw data
{
"_id": null,
"home_page": "https://github.com/deephaven/deephaven-plugins",
"name": "deephaven-plugin-ui",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "deephaven, plugin, graph",
"author": "Deephaven Data Labs",
"author_email": "support@deephaven.io",
"download_url": "https://files.pythonhosted.org/packages/b4/00/da4dd7852a268d4ba42b0018393556b50dccaa50314ab85a10a2e9cfdf40/deephaven_plugin_ui-0.22.0.tar.gz",
"platform": "any",
"description": "# deephaven.ui Plugin\n\nPlugin prototype for programmatic layouts and callbacks. Currently calling it `deephaven.ui` but that's not set in stone.\n\n## Build\n\nTo create your build / development environment (skip the first two lines if you already have a venv):\n\n```sh\npython -m venv .venv\nsource .venv/bin/activate\npip install --upgrade pip setuptools\npip install build deephaven-plugin plotly\n```\n\nTo build:\n\n```sh\npython -m build --wheel\n```\n\nThe wheel is stored in `dist/`.\n\nTo test within [deephaven-core](https://github.com/deephaven/deephaven-core), note where this wheel is stored (using `pwd`, for example).\nThen, follow the directions in the top-level README.md to install the wheel into your Deephaven environment.\n\nTo unit test, run the following command from the root of the repo:\n\n```sh\ntox -e py\n```\n\n## Usage\n\nOnce you have the JS and python plugins installed and the server started, you can use deephaven.ui. See [examples](docs/README.md) for examples.\n\n## Logging\n\nThe Python library uses the [logging](https://docs.python.org/3/howto/logging.html) module to log messages. The default log level is `WARNING`. To change the log level for debugging, set the log level to `DEBUG`:\n\n```python\nimport logging\nimport sys\n\n# Have the root logger output to stdout instead of stderr\nlogging.basicConfig(stream=sys.stdout, level=logging.WARNING)\n\n# Set the log level for the deephaven.ui logger to DEBUG\nlogging.getLogger(\"deephaven.ui\").setLevel(level=logging.DEBUG)\n```\n\nYou can also set the log level for specific modules if you want to see specific modules' debug messages or filter out other ones, e.g.\n\n```python\n# Only log warnings from deephaven.ui.hooks\nlogging.getLogger(\"deephaven.ui.hooks\").setLevel(level=logging.WARNING)\n\n# Log all debug messages from the render module specifically\nlogging.getLogger(\"deephaven.ui.render\").setLevel(level=logging.DEBUG)\n```\n\n## Docs\nDocs can be built locally\n\nInstall the necessary dependencies:\n```shell\npip install -r ../../sphinx_ext/sphinx-requirements.txt\npip install dist/deephaven_plugin_ui-*.whl\n```\nthen run the docs make script:\n```shell\npython make_docs.py\n```\n\nThe files will be built into `docs/build/markdown`.\nNote that these built files should not be committed to the repository.\n\n## Update Icon Types\nAvailable IconTypes can be generated automatically using icon TypeScript definitions in node_modules.\n\nWrites to `icon_types.py`. \n\n```shell\nnpm install\ncd plugins/ui\npython make_icon_types.py\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "deephaven.ui plugin",
"version": "0.22.0",
"project_urls": {
"Bug Tracker": "https://github.com/deephaven/deephaven-plugins/issues",
"Homepage": "https://github.com/deephaven/deephaven-plugins",
"Source Code": "https://github.com/deephaven/deephaven-plugins"
},
"split_keywords": [
"deephaven",
" plugin",
" graph"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "84737b2f447dc8d431569b8420a7dc8ed9b61edefb45fe8bb8d2d4edd824d128",
"md5": "0b07bdbe276f2f2df25cf2812043378e",
"sha256": "dce326ede7c1ea390b121b9d1414b8455faa5c3d9af4f42331dc2a4ba22a0a45"
},
"downloads": -1,
"filename": "deephaven_plugin_ui-0.22.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0b07bdbe276f2f2df25cf2812043378e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 264311,
"upload_time": "2024-10-01T19:32:53",
"upload_time_iso_8601": "2024-10-01T19:32:53.571591Z",
"url": "https://files.pythonhosted.org/packages/84/73/7b2f447dc8d431569b8420a7dc8ed9b61edefb45fe8bb8d2d4edd824d128/deephaven_plugin_ui-0.22.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b400da4dd7852a268d4ba42b0018393556b50dccaa50314ab85a10a2e9cfdf40",
"md5": "1db42c206d505e12bc71a12efb0e0127",
"sha256": "7f9051477a8e0839b13951cba718c2fe623c942f1d66043025f8b1a8f0df64fa"
},
"downloads": -1,
"filename": "deephaven_plugin_ui-0.22.0.tar.gz",
"has_sig": false,
"md5_digest": "1db42c206d505e12bc71a12efb0e0127",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 189488,
"upload_time": "2024-10-01T19:32:54",
"upload_time_iso_8601": "2024-10-01T19:32:54.889307Z",
"url": "https://files.pythonhosted.org/packages/b4/00/da4dd7852a268d4ba42b0018393556b50dccaa50314ab85a10a2e9cfdf40/deephaven_plugin_ui-0.22.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-01 19:32:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "deephaven",
"github_project": "deephaven-plugins",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pre-commit",
"specs": [
[
"==",
"3.3.3"
]
]
},
{
"name": "build",
"specs": []
},
{
"name": "pip",
"specs": []
},
{
"name": "setuptools",
"specs": []
},
{
"name": "tox",
"specs": []
}
],
"lcname": "deephaven-plugin-ui"
}