Deephaven的日期时间输入插件
项目描述
deephaven_ui_datetimeinput
这是一个由deephaven-plugin模板生成的Deephaven Python插件。
具体来说,此插件是一个双向小部件插件,可以在客户端和服务器上发送和接收消息。该插件即插即用,演示了基本的插件结构,可以作为构建更复杂插件的开端。
插件结构
src
目录包含插件的Python和JavaScript代码。在src
目录中,deephaven_ui_datetimeinput目录包含Python代码,而js
目录包含JavaScript代码。
Python文件具有以下结构:deephaven_ui_datetimeinput_object.py
定义了一个简单的Python类,可以向客户端发送消息。deephaven_ui_datetimeinput_type.py
定义了插件(用于注册)的Python类型和一个简单的消息流。js_plugin.py
定义了用于设置插件JavaScript方面的Python类。register.py
将插件注册到Deephaven。
JavaScript文件具有以下结构:DeephavenUiDateTimeInputPlugin.ts
将插件注册到Deephaven。DeephavenUiDateTimeInputView.tsx
定义了插件面板和消息处理。
此外,test
目录包含插件的Python测试。这演示了如何在使用测试时使用嵌入的Deephaven服务器。建议使用tox
来运行测试,项目包括tox.ini
文件。
构建插件
要构建插件,您需要安装npm
和python
,以及Python的build
包。nvm
也强烈推荐,项目包括.nvmrc
文件。可以使用以下命令创建python venv并安装推荐的包
cd deephaven_ui_datetimeinput
python -m venv .venv
source .venv/bin/activate
pip install --upgrade -r requirements.txt
从src/js
目录构建JavaScript插件
cd src/js
nvm install
npm install
npm run build
然后,从顶级目录构建Python插件
cd ../..
python -m build --wheel
构建的轮文件将位于dist
目录。
安装插件
可以使用pip install <wheel file>
将插件安装到Deephaven实例中。构建插件后,轮文件将存储在dist
目录中。具体如何操作取决于您运行Deephaven的方式。如果您使用上面创建的venv,可以使用以下命令创建插件和服务器
pip install deephaven-server
pip install dist/deephaven_ui_datetimeinput-0.0.1.dev0-py3-none-any.whl --force-reinstall
deephaven server
有关更多信息,请参阅插件文档。
使用插件
一旦Deephaven服务器启动,插件就可以使用了。
from deephaven_ui_datetimeinput import DateTimeInput
obj = DateTimeInput()
应该会弹出一个面板。现在您可以使用该对象向客户端发送消息。
obj.send_message("Hello, world!")
面板也可以通过使用输入字段将消息发送回Python客户端。
分发插件
要分发插件,您可以将轮文件上传到软件包仓库,例如PyPI。可以在setup.cfg
文件中更新插件的版本。
为测试目的,有一个单独的PyPI实例。首先在TestPyPI上创建账户。然后,从账户管理获取API令牌,设置“范围”为“整个账户”。
要上传到测试实例,请使用以下命令
python -m pip install --upgrade twine
python -m twine upload --repository testpypi dist/*
现在,您可以从测试实例安装插件。需要额外的索引来查找依赖关系
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.ac.cn/simple/ deephaven_ui_datetimeinput
对于生产版本,请访问PyPI创建账户。然后,从账户管理获取API令牌,设置“范围”为“整个账户”。
要上传到生产实例,请使用以下命令。请注意,--repository
默认为生产实例,因此可以省略
python -m pip install --upgrade twine
python -m twine upload dist/*
现在,您可以从生产实例安装插件
pip install deephaven_ui_datetimeinput
有关更多信息,请参阅Python打包文档。
项目详情
散列 for deephaven_ui_datetimeinput-0.0.1.dev0-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | dc537fa967f05870f459b4cc43d74ee1593a9cfd22f0b2b8fa163795fddf990f |
|
MD5 | 60e27e1a28627c6eb029dceff8cc3bd2 |
|
BLAKE2b-256 | 30a127bd984a828e15d9fa992155cdc1de5652cdba09c4e6d6788e855316af71 |