旧版 modelx 发布#
v0.0.21 (2019年3月23日)#
更新内容包括重构以分离静态和动态空间类,使用元组实现CellNode,性能提升约20%。
向后不兼容的变更#
Space类现在被拆分为两个独立的具体类:
UserSpace、DynamicSpace和一个基类BaseSpace。module_参数在以下方法中被重命名为module。Space类中的以下方法和属性已重命名为私有,因为在正常使用情况下,预计用户不会直接使用这些内容。
_is_base()_is_sub()_is_static()_is_derived()_is_defined()_is_root()_is_dynamic()_self_cells_derived_cells_self_spaces_derived_spaces
功能增强#
默认情况下,IPython的错误回溯消息不会被抑制。
setup_ipython()被添加用于抑制默认消息。set_recursion()新增用于修改公式递归的最大深度。
Bug修复#
通过赋值表达式将
formula固定为setter,即作为set_formula()的别名。修复
refs。
v0.0.20 (2019年2月2日)#
功能增强#
CellNode表示显示“参数=参数值”。添加
formula属性。
Bug修复#
修复动态空间的重复多重基类问题。
v0.0.19 (2019年1月13日)#
针对定义和使用基类包含动态空间(dynamics spaces)的动态空间的增强/错误修复。
功能增强#
向
open_model()添加name参数。将动态参数传递给其子组件。
使用单一参数遍历单元格时,返回的是值而非单元素元组。
视图的_baseattrs属性不包含以下划线_开头的项。
Bug修复#
修复派生动态空间的基空间。如果动态空间要作为动态子空间的基空间,那么动态空间的静态基空间将替代动态空间成为基空间。
修复解封存模型时出现的AttributeError: ‘BoundFunction’ object has no attribute ‘altfunc’错误。
对其他函数定义块内部定义的函数进行去缩进处理。
修复在合并不同类型索引时转换为DataFrame的错误。
v0.0.18 (2018年12月31日)#
本次发布主要为spyder-modelx添加接口功能/方法 spyder-modelx v0.0.7 (2018年12月31日)
功能增强#
Bug修复#
在Space上执行hasattr/getattr时抛出AttributeError而非KeyError。
v0.0.17 (2018年12月2日)#
本次发布主要为函数添加接口至spyder-modelx spyder-modelx v0.0.6 (2018年12月2日)
功能增强#
get_object()通过完整名称获取modelx对象。
Bug修复#
当modelx尝试在IPython shell可用之前获取它时出错。
v0.0.16 (2018年10月21日)#
spyder-modelx插件引入了一个新的小部件,用于在表格中查看单元格值。 此版本反映了modelx中的一些更新,以使新小部件正常工作。
功能增强#
cur_model()和cur_space()现在除了接受model或space对象的名称外,还可以分别接受model和space对象作为参数。为所有Interface子类添加
model属性。现在,公式调用出错时的回溯消息限制为最多显示6个堆栈跟踪条目。
错误的公式调用产生的错误信息现已简化,不再显示文件回溯信息。
向后不兼容的变更#
cur_model()和cur_space()的参数名称分别从name改为model和space,这是因为这些函数现在除了接受对象名称外,还能直接接受对象本身的功能增强。
v0.0.15 (2018年9月20日)#
功能增强#
导入模块时,如果单元格已存在,则会覆盖其中的公式。
v0.0.14 (2018年9月3日)#
此版本主要更新modelx的Qt部件,以使这些部件能与spyder-modelx的初始版本兼容,这是modelx的Spyder插件。
功能增强#
添加属性
_baseattrs和BaseView._baseattrs。该属性由spyder-modelx使用。
Bug修复#
修复了当调用
cur_model()并使用name参数更改当前模型时导致的崩溃问题。
v0.0.13 (2018年8月5日)#
在此版本中,Space的实现已进行了大幅重写,以使继承逻辑更加健壮。
警告
本版本已停止支持Python 3.4和3.5。
现在仅支持Python 3.6及更新版本。
这主要是因为modelx利用了Python 3.6中引入的dict顺序保持特性。
Python 3.6中dict的性能提升也是放弃支持旧版本的原因。
此版本也不再支持NetworkX 1.x版本。 现在需要NetworkX 2.x版本。
功能增强#
add_bases()和remove_bases()已被添加。bases已添加。
向后不兼容的变更#
不再支持Python 3.6以下版本。现在需要Python 3.6或更高版本。
不再支持 NetworkX 版本 1,现在需要 NetworkX 版本 2。
动态空间现在默认继承其父空间。
new_cells()当单元格已存在时会引发错误。formula现在返回的是 Formula 对象而不是字符串。
Bug修复#
repr()现在在SpaceView和CellsView上只列出选中的项目。
v0.0.12 (2018年6月16日)#
功能增强#
cells返回一个名为CellsView的不可变单元格映射,支持to_frame()方法,该方法返回包含单元格值的DataFrame对象。如果以arg形式给出参数迭代器,则会计算这些参数对应的单元格值,并且DataFrame索引中仅包含给定的参数。更多信息请参阅the reference page单元格现在属于Mapping类型,实现了
keys()、values()、items()方法来获取它们的参数和值。在
cells上的Subscription([])操作符现在支持多个单元格名称参数和单元格名称序列,例如['foo', 'bar']和[['foo', 'bar']],这将返回一个仅包含指定单元格的不可变映射(视图)。
向后不兼容的变更#
frame返回的结果不包含空值或全为None的单元格。
Bug修复#
修复特定于networkx v1.x的问题。
修复
import_module()以正确处理 bases。
v0.0.11 (2018年5月27日)#
Bug修复#
修复 Space.refs
修复将标量单元格转换为Pandas对象的问题
v0.0.10 (2018年5月6日)#
功能增强#
向Space添加
is_*方法。当创建同名模型时,通过在原始名称后添加
_BAKn来重命名模型。添加
rename()。允许使用
name in space表达式,其中name是一个字符串。_space本地引用可用于从子单元格引用父空间。
向后不兼容的变更#
get_self函数已被移除。
Bug修复#
调用栈最大深度设置为1000,以确保所有lifelib示例都能成功运行。
修复了关于图形反序列化的错误。
在派生对象更新后保持相同。
v0.0.9 (2018年4月1日)#
功能增强#
添加
show_tree以在内联模式下显示模型树。添加
get_tree以在自动模式下获取模型树。
Bug修复#
使
get_modeltree可以直接在modelx下使用。
v0.0.8 (2018年3月25日)#
功能增强#
使
get_modeltree可以直接在modelx下使用。添加
import_module()和import_funcs()属性。添加
all_spaces以包含所有子空间,包括动态空间。添加
self_spaces和derived_spaces属性。添加
configure_python()和restore_python()。添加
reload()以重新加载源模块。在公式中出现零除时引发错误。
添加
parent属性。
向后不兼容的变更#
基础空间现在不可删除。
spaces现在仅包含静态空间。现在static_spaces是spaces的别名。
Bug修复#
从
derived_cells中移除被覆盖的单元格当新增单元格时更新
self_cells。修复Windows上Anaconda 64位Python导致的堆栈溢出问题。
感谢#
Stanley Ng
v0.0.7 (2018年2月27日)#
向后不兼容的变更#
将
UserSpace构造函数的参数paramfunc重命名为formula。将
new_cells()参数func重命名为formula。将
Interface中的can_have_none重命名为allow_none。
Bug修复#
修复
open_model()以使cur_model()能正确返回反序列化的模型。