# 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/4d/f6/f40cd6748c69717b2c1dc5458689dd4ca7b17d75b00f8070543f4aa17eec/deephaven_plugin_ui-0.30.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.30.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": null,
"digests": {
"blake2b_256": "82af3f4186f65af798cba58fa1600913e524fa1888dbca39f8459d62837830a9",
"md5": "fc8317478924ef9453baef1c6fed9a3b",
"sha256": "ceb9943d56bedc1b02e4d4a6f1a6c1eebe7e1066aacc2fc137430758598e7c2b"
},
"downloads": -1,
"filename": "deephaven_plugin_ui-0.30.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc8317478924ef9453baef1c6fed9a3b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1150102,
"upload_time": "2025-07-09T19:55:33",
"upload_time_iso_8601": "2025-07-09T19:55:33.076412Z",
"url": "https://files.pythonhosted.org/packages/82/af/3f4186f65af798cba58fa1600913e524fa1888dbca39f8459d62837830a9/deephaven_plugin_ui-0.30.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4df6f40cd6748c69717b2c1dc5458689dd4ca7b17d75b00f8070543f4aa17eec",
"md5": "037ecc5897b60ee57b43664659b3718e",
"sha256": "f3655f0ee30eb92610e0ca05004623ac0d7f2f890f7e0f29bfc25c9bc89434dd"
},
"downloads": -1,
"filename": "deephaven_plugin_ui-0.30.0.tar.gz",
"has_sig": false,
"md5_digest": "037ecc5897b60ee57b43664659b3718e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1032119,
"upload_time": "2025-07-09T19:55:34",
"upload_time_iso_8601": "2025-07-09T19:55:34.983100Z",
"url": "https://files.pythonhosted.org/packages/4d/f6/f40cd6748c69717b2c1dc5458689dd4ca7b17d75b00f8070543f4aa17eec/deephaven_plugin_ui-0.30.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-09 19:55:34",
"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"
}