一个用于控制ESS kafkatonexus文件编写器的小型Python库。

file-writer-control的Python项目详细描述


文件编写器控件

这是一个用于控制ESS HDF5/NeXus file-writer application的小库。文件编写器是通过apachekafka代理向其发送命令来控制的。该库实现了命令的编码/解码以及该接口的抽象,以简化命令和控制。在

入门

关于这个库的用法的文档可以在这个存储库根目录下的examples目录中找到。要开始使用,请查看以下代码片段:

fromfile_writer_control.WorkerCommandChannelimportWorkerCommandChannelfromfile_writer_control.WriteJobimportWriteJobfromfile_writer_control.JobHandlerimportJobHandlerfromdatetimeimportdatetime,timedeltaimporttimecommand_channel=WorkerCommandChannel("dmsc-kafka01:9092/command_topic")job_handler=JobHandler(worker_finder=command_channel)write_job=WriteJob(nexus_structure="{...}","file.nxs","dmsc-kafka01:9092",datetime.now())start_handler=job_handler.start_job(write_job)whilenotstart_handler.is_done():time.sleep(1)stop_handler=job_handler.set_stop_time(datetime.now()+timedelta(seconds=60))whilenotstop_handler.is_done():time.sleep(1)whilenotwrite_job.is_done():time.sleep(1)print("Write job is done")

正在安装依赖项

这个库使用kafka-python库与Kafka代理进行通信,python-streaming-data-types用于序列化和反序列化与filewriter之间的消息。可以通过在存储库的根目录下执行以下命令来安装这些依赖项:

^{pr2}$

或者,要安装仅对当前用户可用的依赖项,请执行以下命令:

pip install --user -r requirements.txt

注意:在撰写本文时,此库所需的python流数据类型库版本尚未发布。如果要使用此库,则必须手动(并在本地)安装该库的filewriter\uctrl分支。在

另请注意:这个库是使用Python3.8开发的,但它很可能可以与Python3.6及更高版本一起使用。在

运行单元测试

要运行单元测试,请在此存储库的根目录下执行以下命令:

python -m pytest -s .

在本地安装开发版本

首先,卸载此库的所有现有版本:

pip uninstall file-writer-control

然后,从file writer control根目录运行以下命令:

pip install --user -e ./

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么ThreadLocal的initialValue不增加我的变量?   我将完成所选图像时未调用java onActivityResult   xml Java Servlet检查用户名是否已存在   java如何制作一个循环来打印以下模式?   java线程同步和单例问题   java使用反射来调用公共方法   java使用控制台的readPassword方法?   java Android:按键盘上的“完成”按钮   java密钥斗篷:在多个身份提供程序中检查密码   hadoop中的java瞬态变量和静态方法,dev寻求启示   hashmap如何在Java中基于一个关键字段合并映射?   内部类中的java Android开发变量   java无法在pom中将打包添加为war。将xml转换为eclipse中的maven项目   在Java中从自定义键盘或鼠标捕获按键输入   java如何在Android中设置我的报警应用程序中的报警铃声   java的机制是什么?   Java/Mysql。。SQLException:表必须至少有1列SQLState:42000 VendorError:1113   java如何向上滑动(打开)隐藏的文本视图/布局而不向下推视图/小部件?