简单应用程序消息传递协议 (astropy.samp#

astropy.samp 是SAMP消息传递系统的Python实现。

简单应用程序消息传递协议(SAMP)是一种进程间通信系统,它允许通常在同一台计算机上运行的不同客户端程序通过交换可能引用外部数据文件的短消息来相互通信。该协议是在国际虚拟天文台联盟(IVOA)内制定的,许多桌面天文学工具都能理解该协议,包括 TOPCATSAO DS9 ,以及 Aladin

所以通过使用 astropy.samp ,Python代码可以与其他正在运行的桌面客户机交互,例如在DS9中显示一个命名的FITS文件,提示Aladin在给定的天空位置重新居中,或者在用户高亮显示TOPCAT中的打印点时接收到一条标识行的消息。

协议的工作方式是SAMP“Hub”进程必须在本地主机上运行,然后各种客户机程序才能连接到它。一旦连接起来,这些客户机就可以通过集线器互相发送消息。有关详细信息,请参阅 SAMP standard .

astropy.samp 提供的类既可以设置这样的集线器进程,也可以帮助实现可以发送和接收消息的客户端。它还提供了一个独立的程序 samp_hub 它可以在自己的进程中运行持久化集线器。注意,从Python设置hub并不总是必要的,因为其他各种支持SAMP的应用程序可能独立地启动一个hub;在大多数情况下,在SAMP会话期间只使用一个正在运行的hub。

以下类在中可用 astropy.samp

astropy.samp is a full implementation of SAMP V1.3. As well as the Standard Profile, it supports the Web Profile, which means that it can be used to also communicate with web SAMP clients; see the sampjs 库示例以获取更多详细信息。

使用 astropy.samp#

参考/API#

致谢#

此代码改编自 SAMPy 包由Luigi Paioro编写,他已经授予Astropy项目使用BSD许可证下的代码的权限。