旧版 modelx 发布#

v0.0.21 (2019年3月23日)#

更新内容包括重构以分离静态和动态空间类,使用元组实现CellNode,性能提升约20%。

向后不兼容的变更#

  • Space类现在被拆分为两个独立的具体类:UserSpaceDynamicSpace和一个基类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修复#

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日)

功能增强#

  • CellNode添加predssuccs属性。

  • node()添加到Cells

  • InterfaceBaseView及其子类的literaldict属性重命名为_baseattrs

  • SelectedViewset_keys方法重命名为_set_keys

Bug修复#

  • 在Space上执行hasattr/getattr时抛出AttributeError而非KeyError。

v0.0.17 (2018年12月2日)#

本次发布主要为函数添加接口至spyder-modelx spyder-modelx v0.0.6 (2018年12月2日)

功能增强#

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 改为 modelspace,这是因为这些函数现在除了接受对象名称外,还能直接接受对象本身的功能增强。

v0.0.15 (2018年9月20日)#

功能增强#

  • 导入模块时,如果单元格已存在,则会覆盖其中的公式。

v0.0.14 (2018年9月3日)#

此版本主要更新modelx的Qt部件,以使这些部件能与spyder-modelx的初始版本兼容,这是modelx的Spyder插件。

功能增强#

  • 添加属性 _baseattrsBaseView._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版本。

功能增强#

向后不兼容的变更#

  • 不再支持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_spacesderived_spaces 属性。

  • 添加 configure_python()restore_python()

  • 添加 reload() 以重新加载源模块。

  • ModelUserSpace 可以通过 dir() 列出它们的成员。

  • 在公式中出现零除时引发错误。

  • 添加 parent 属性。

向后不兼容的变更#

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() 能正确返回反序列化的模型。