modelx v0.24.0 (2023年12月2日)#
本次发布引入了多项不向后兼容的变更。
要更新到 modelx v0.24.0,请使用以下命令:
>>> pip install modelx --upgrade
Anaconda用户应改用conda命令:
>>> conda update modelx
向后不兼容的变更#
1. 子空间对UserSpaces继承行为的变更#
在之前的版本中,从带有子空间的UserSpace继承时,会自动将这些子空间包含在继承中。
从 v0.24.0 开始,子空间默认不再继承。考虑以下示例:
import modelx as mx
m = mx.new_model("m")
A = m.new_space("A")
B = A.new_space("B")
foo = A.new_cells("foo", formula=lambda x: x)
C = m.new_space("C", bases=A)
C.B # Now raises AttributionError
之前,创建一个继承自A的新空间C时,会自动将A的子空间B复制到C中。更新后的行为改变了这一点;B不再自动继承。下图比较了变更前后的行为。
要在C中继承B,您需要在C中显式创建一个新空间并从B继承。
C.new_space('B', bases=B)
注意:此更改不影响动态空间。 参数化空间的动态子空间仍会被复制:
A.parameters = ("i",)
A[1].B # Returns <DynamicSpace m.A[1].B>
2. 移除已弃用的备份和恢复功能#
备份和恢复功能已被弃用,现已被移除。 以下函数和方法不再可用:
restore_modelopen_modelModel.backupModel.save