首页 文章

Jupyter笔记本隐藏代码和其他文件

提问于
浏览
2

我有一个正在进行的项目,其中Modelica中的物理建模与FMU一样被提取 . 这些功能模型单元与PyFMI一起使用以实现模拟 . 为此,我还编写了一些Python模块 . 我想要做的是展示模拟结果的一些例子,而不暴露我的模型(.fmu文件)和我的模块 . 用户将能够更改模型中的参数并进行相应的模拟 . 总而言之,我希望它只是一个带有输入参数和输出图的黑盒子 .

我一直在尝试使用Jupyter笔记本(我对任何其他解决方案都持开放态度) . 我将我的Python模块解压缩为.pyd文件以隐藏代码,现在我将它们导入到笔记本中 . 到目前为止,对我来说似乎是合理的但我不知道如何隐藏.fmu文件 . 我会在Python工作区中导入模型,然后保存整个工作区,如果可能的话 .

总结一下,

1)我的代码是否安全为.pyd文件?

2)是否可以在Python中保存工作区?或者你有我的.fmu文件的另一个解决方案?

3)除了Jupyter之外,其他一些工具能否更适合这个目的?毕竟我希望通过网络为任何人提供它,并按照自己的意愿进行尝试 . 但模型本身不允许分发 .

2 回答

  • 1

    嗯,这取决于你的应用程序 . 我最近推出了一个名为modelica.university的网站,展示了涉及Modelica和FMI的应用程序 . 底层平台是专有的,但该网站是公开的 . 所以,如果你有兴趣在那里托管你的模型,我愿意讨论它 . 关键点在于它确实解决了您的问题,因为模型本身无法通过网络访问,只能通过输入和输出访问 .

  • 1

    好吧,如果你需要发送FMU,你可以编译它不包含其中的源代码或modelica源 . 或者您可以通过在某些服务器上运行FMU来隐藏FMU,并且只显示一些API来访问它 .

    我在大学的研究项目中做了一些类似的工作 . 试验实现将FMU暴露给.NET后端,它为REST api提供了操作模型输入,控制模拟和获取模型变量的能力 . 纯HTML5和Javascript中的UI只能通过HTTP访问REST API,而且显示模型变量和模拟控制的能力有限 .

    演示模拟器例如是at:Simulator of Haemodynamics

    在模拟器中,可以在“模拟编辑器”选项卡中编辑屏幕 . 顺便说一句,它可能是在Jupyter项目从IPython发展的同一年写的 . 底层平台是opensource,支持FMU 1.0 . 所以值得考虑的是Jupyter笔记本可以成为适当后端的客户端 .

相关问题