0.13.1
- Echo more useful error message when failing to instanciate a Class schema type object
- Fix list size from csv to match actually used
0.13.0
- Added new method
is_type_compatibletoTypeValidatorclass to check for type compatibility. - Allow field overrides when extending a
Structas long as type is compatible. - Fixed several issues with
Structextensions:- missing aliases
- double fields in serialization
- Fixed internal inconsistencies with mixins and global validation handling leading to classes where returned value may not have associated mixins bound and global validation called.
0.12.3
- Check for QApplication instance existence before creating it in
dasedit. - Removed unnecessary deprecated warnings.
0.12.2
- Improved handling of dynamic
Structschema type modifications.
0.12.1
- Observe optional field editable property in editor.
- Show type/description in editor's new value dialog.
0.12.0
- Prelimiray support for Struct type extensions:
- Struct schema type can be extended dynamically.
- To extend at the schema level, use
__extends__keyword argument in the Struct arguments:
{ "MyBaseType": Struct(mybasefield1=Real(default=0.5), name=String()),
"MyType": Struct(myfield1=Integer(default=1), __extends__=["MyBaseType"])}- Mixins can now be explicitely registered against a specific schema type.
NOTES
schema_typekeyword arguments also accepts a schema type instance (aTypeValidatorsub-class). It has to be a properly registered type so it won't work with inline types.
das.register_mixins(MixinClass1, MixinClass2, schema_type="schemaname.typename")- Added properties to schema type base class with the following methods:
-
has_property
-
set_property
-
get_property
-
set_properties
-
get_properties
-
remove_property
NOTES
- bound mixins are now stored preferably in the schema type itself, whereas it used to only be tracked in the type registry so far)
- informations about type extensions is tracked using the property system
-
0.11.1
- Allow for more flexible
Classschema type value assignment.
0.11.0
- Improved error reporting.
- Improved
Ortype'smakemethod to be more dynamic depending on passed arguments. - Fixed string representation failure with tuple's schema type default values.
- Enabled usage of mixins with anonymous/inline schema types.
- Re-validate container type objects after element insertion and removal.
0.10.0
- Support csv serialization.
- Fix duplication of mixin class names issue.
- Add conform function that conform value to match given schema type.
0.9.5
- Support deprecated alias.
- Transfer alias values to their aliased field on read.
- Error on alias value conflicts.
0.9.4
- Fixed inline type not being editable.
0.9.3
- Fixed a couple of UI issues.
0.9.2
- Fixed broken document when using multi-line string.
0.9.1
- Improved loose schema reading.
- Only ignore
Struct's unknown keys if all known ones were set. Ortype tries to first match in strict mode before falling back to loose mode.
- Only ignore
- Strict compatibility doesn't let unknown
Structkeys through anymore. - Fixed write issue when using alias type value in structs.
0.9.0
- Add
das.define_inline_typefunction to ease dynamic creation of schema types. - Improved value shadowing (when a field overrides one of the schema type base class function).
- More flexible boolean type (now accepts strings matching 0,1,off,on,no,yes,false or true).
- Observe struct field order on serialization.
0.8.0
- Add dynamic schema type registration.
- Add
das.is_compatiblefunction, less strict thandas.checkanddas.validate. - Avoid double mixin registration.
0.7.1
- Fixed error happening when
Structschema type constructor__order__keyword argument value contained invalid field names.
0.7.0
- Added
__order__keyword argument toStructschema type. - Fixed issue with
das.cli.evalfunction. - Fixed issue with
dasevalcommand line tool.
0.6.1
das.qtui.Model.findIndexwas not consistently returning a QModelIndex.
0.6.0
- Fixed issue with
Dictschema type key adaptation. - Fixed error happening with sequences of
Ortypes. - Added
updateDatamethod to Qt model class. - Added
refreshDatamethod to Qt editor class - Added
master_typesmetadata to schema. - Added
Newfile menu indasedit. - Support incremental schema loading scheme.
- Improved editor contextual menu.
- Mixin class initializers are now called upon binding.
0.5.0
Stringschema type'schoiceskeyword argument now also accepts functions.- Add
strictkeyword argument forStringfor use withchoices. - Add
enumkeyword argument toIntegertype. - Add global validation through mixin
_validate_globallymethod. - Add simple data and schema version checks.
- Add functions to generate empty schema and update schema metadata.
- Add new
strict_schemakeyword argument todas.readfunction (defaults to True). - Add option to override schema name in its metadata.
- Add
Setschema type. - Add
Aliasschema type. - Better unicode support.
- Add Qt based editor for schema data.
- Add command line interface.
0.4.1
- Fix user name environment variable on windows.
0.4.0
Orschema type now accepts unlimited number of types.Classschema type now accepts string as well as class objects.- Add new
das.read_stringfunction. das.validatefunction now returns the validated value.
0.3.1
- Using
Deprecatedschema type was causing error on schema read. - Don't allow setting new key in
Structschema type. - More consistent deprecated key usage warning
0.3.0
- Reorganized modules.
- Add mixin functionality to dynamically add methods to schema types.
- Auto validation.
- Add sub classes for all standard data containers.
- Add
Emptyschema type. - Add
Deprecatedschema type. - Add metadata to file (author, data, schema_type, library version).
- Add new
das.makefunction taking arbitraty arguments. - Deprecated
structmodule. - Deprecated
Dastype, usedas.types.Structinstead. - Deprecated
StaticDictandDynamicDictschema types, usedas.schematypes.Structanddas.schematypes.Dictinstead.
0.2.0
- Add
make_defaultfunction that takes a schema type name as sole argument. list_schema_typescan now take an optionalschemaargument to limit the listed type to the specified schema.- Allow default override in SchemaType class.
0.1.0
- Initial release.