跳转到主要内容

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文件。

构建插件

要构建插件,您需要安装npmpython,以及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打包文档

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

此版本没有可用的源分布文件。有关生成分布存档的教程。

构建分布

deephaven_ui_datetimeinput-0.0.1.dev0-py3-none-any.whl (14.1 kB 查看散列)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面