Older modelx releases#
v0.0.21 (23 March 2019)#
Updates include refactoring to separate static and dynamic space classes, use tuple for CellNode implementation, gaining approximately 20% performance improvement.
Backwards Incompatible Changes#
Space class is now split into two separate concrete classes,
UserSpace
,DynamicSpace
and one base classBaseSpace
.module_
parameter of the methods below are renamed tomodule
.Methods and properties below on Space classes are renamed to be private, as these are expected not to be used directly by users for normal usage.
_is_base()
_is_sub()
_is_static()
_is_derived()
_is_defined()
_is_root()
_is_dynamic()
_self_cells
_derived_cells
_self_spaces
_derived_spaces
Enhancements#
IPython error traceback message is not suppressed by default.
setup_ipython()
is added to suppress the default message.set_recursion()
is added to change the maximum depth of formula recursion.
Bug Fixes#
Fix
formula
as setter by assignment expression i.e. alias toset_formula()
.Fix
refs
.
v0.0.20 (2 February 2019)#
Enhancements#
CellNode
repr to show “parameter=arguments”.Add
formula
property.
Bug Fixes#
Fix duplicate multiple bases of a dynamic space.
v0.0.19 (13 January 2019)#
Enhancements / bug fixes for defining and using dynamics spaces whose base includes dynamics spaces.
Enhancements#
Add
name
parameter toopen_model()
.Pass dynamic arguments down to its children.
Iterating over cells with single parameter returns values instead of tuples of single elements.
View’s _baseattrs to not include items with _ prefixed names.
Bug Fixes#
Fix bases of derived dynamic spaces. If dynamic spaces are to be the base spaces of a dynamic sub space, then the static base spaces of the dynamic spaces become the base spaces in replacement for the dynamic spaces.
Fix AttributeError: ‘BoundFunction’ object has no attribute ‘altfunc’ on unpickled models.
Dedent function definitions for those defined inside blocks of other function definition.
Fix error in conversion to DataFrame when merging indexes with different types.
v0.0.18 (31 December 2018)#
This release is mainly for adding interface functions/methods to spyder-modelx spyder-modelx v0.0.7 (31 December 2018)
Enhancements#
Bug Fixes#
Raise not KeyError but AttributeError upon hasattr/getattr on Space.
v0.0.17 (2 December 2018)#
This release is mainly for adding interface to functions to spyder-modelx spyder-modelx v0.0.6 (2 December 2018)
Enhancements#
get_object()
to get a modelx object from its full name.
Bug Fixes#
Error when modelx tries to get IPython shell before it becomes available.
v0.0.16 (21 October 2018)#
spyder-modelx plugin introduces a new widget to view cells values in a table. This release reflects some updates in modelx to make the new widget work.
Enhancements#
cur_model()
andcur_space()
now accept model and space objects as their arguments respectively, in addition to the names of model or space objects.Add
model
property to all Interface subclasses.Traceback messages upon erroneous formula calls are now limited to 6 trace stack entries.
Error messages upon erroneous formula calls are now simplified not to show file traceback.
Backwards Incompatible Changes#
The parameters to
cur_model()
andcur_space()
are renamed fromname
tomodel
andspace
respectively, due to the enhancement for these functions to accept objects, in addition to the names of the objects.
v0.0.15 (20 September 2018)#
Enhancements#
Importing a module overrides formulas if their cells already exist.
v0.0.14 (3 September 2018)#
This version is mainly for updating modelx Qt widgets, in order for the widgets to work with the initial version of spyder-modelx, Spyder plugin for modelx.
Enhancements#
Add property
_baseattrs
andBaseView._baseattrs
. This property is used by spyder-modelx.
Bug Fixes#
Fix crashes when
cur_model()
is called withname
argument to change the current model.
v0.0.13 (5 August 2018)#
Space implementation has been largely rewritten in this release to make the inheritance logic more robust.
Warning
Support for Python 3.4, 3.5 is dropped in this release.
Now only Python 3.6 and newer are supported.
This is mainly due to the fact that modelx utilizes
the order preservation nature of dict
introduced in Python 3.6.
dict
performance improvement in Python 3.6 is also the reason
to drop support for older versions.
Support for NetworkX ver 1.x is also dropped in this release. NetworkX version 2.x is now required.
Enhancements#
add_bases()
andremove_bases()
are added.bases
is added.
Backwards Incompatible Changes#
Support for Python older than 3.6 is dropped. Now Python 3.6 or above is required.
Support for NetworkX version 1 is dropped. Now NetworkX version 2 is required.
Dynamic spaces now inherit their parent spaces by default.
new_cells()
raises an error when the cells already exists.formula
now returns Formula object instead of string.
Bug Fixes#
repr()
on SpaceView and CellsView now list only selected items.
v0.0.12 (16 June 2018)#
Enhancements#
cells
returns an immutable mapping of cells namedCellsView
supportingto_frame()
method, which returns a DataFrame object containing cells values. If an iterator of arguments are given asarg
, values of the cells for the arguments are calculated and only the given arguments are included in the DataFrame index(es). For more, seethe reference page
Cells are now of a Mapping type, which implements
keys()
,values()
,items()
methods to get their arguments and values.Subscription(
[]
) operator oncells
now accepts multiple args of cell names and a sequence of cell names, such as['foo', 'bar']
and[['foo', 'bar']]
, which returns an immutable mapping (view) that includes only specified cells.
Backwards Incompatible Changes#
frame
returns does not include empty or all-None cells.
Bug Fixes#
Fix issues specific to networkx v1.x.
Fix
import_module()
to handle bases properly.
v0.0.11 (27 May 2018)#
Bug Fixes#
Fix Space.refs
Fix conversion of scalar cells to Pandas objects
v0.0.10 (6 May 2018)#
Enhancements#
Add
is_*
methods to Space.Rename a model by adding
_BAKn
to its original name when another model with the same name is created.Add
rename()
.name in space
expression is allowed wherename
is a string._space
local reference is available to refer to the parent space from its child cells.
Backwards Incompatible Changes#
get_self
function is removed.
Bug Fixes#
Call stack max depth is set to 1000 to run all lifelib samples successfully.
Fix an error around graph unpickling.
Keep the same derived objects after they are updated.
v0.0.9 (1 April 2018)#
Enhancements#
Add
show_tree
to show model tree in inline mode.Add
get_tree
to get model tree in automatic mode.
Bug Fixes#
Make
get_modeltree
available directly undermodelx
.
v0.0.8 (25 March 2018)#
Enhancements#
Make
get_modeltree
available directly undermodelx
.Add
import_module()
andimport_funcs()
properties.Add
all_spaces
to contain all child spaces, including dynamic spaces.Add
self_spaces
andderived_spaces
properties.Add
configure_python()
andrestore_python()
.Add
reload()
to reload the source module.Raise an error upon zero division in formulas.
Add
parent
property.
Backwards Incompatible Changes#
Base spaces are now indelible.
spaces
now contains only statics spaces. Nowstatic_spaces
is an alias tospaces
.
Bug Fixes#
Remove overridden cells from
derived_cells
Update
self_cells
when new cells are added.Fix stack overflow with Anaconda 64-bit Python on Windows.
Thanks#
Stanley Ng
v0.0.7 (27 February 2018)#
Backwards Incompatible Changes#
Renamed
UserSpace
constructor parameterparamfunc
toformula
.Renamed
new_cells()
parameterfunc
toformula
.Renamed
Interface
can_have_none
toallow_none
.
Bug Fixes#
Fix
open_model()
to makecur_model()
properly return unpickled model.