All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added: discussion of limits
of
audobject.resolver.Function
in its documentation - Added:
audobject.Object.short_id
- Fixed: replace deprecated
pkg_resources
bypackaging
insideaudobject.Parameter
- Added: support for Python 3.11
- Fixed: speed up package name lookup in
audobject.Object.to_dict()
, which makes repeated object serialization up to 100x faster - Fixed: avoid deprecation warning
by replacing
pkg_resources
internally withimportlib.metadata
- Removed: support for Python 3.7
- Fixed: require
sphinx-audeering-theme>=1.2.1
to ensure the correct theme is used for the public documentation
- Fixed: correct reference to
audobject.Object.arguments
inside theto_dict()
method in the documentation
- Added: support for Python 3.10
- Changed: split API documentation into sub-pages for each function/class
- Fixed: do not resolve arguments set to
None
- Fixed: resolve non-keyword arguments
- Fixed:
audobject.Object.is_loaded_from_dict
returns correct value in__init__()
- Added:
audobject.Object.is_loaded_from_dict
- Fixed: if
__init__()
acceptskwargs
no longer all attributes will be serialized, but only the ones included inkwargs
(in addition to the other arguments). This requires thatsuper.__init__(**kwargs)
is called in the constructor
- Fixed: support comparison with arbitrary objects
in
audibject.Object.__eq__
, which is needed withsignature
- Fixed: apply
auto_install
inaudobject.from_yaml()
- Fixed: support
auto_install
with nested objects
- Added: argument
auto_install
toaudobject.from_dict()
,audobject.from_yaml()
,audobject.from_yaml_s()
- Added:
audobject.define.PackageMismatchWarnLevel
- Added:
audobject.config.PACKAGE_MISMATCH_WARN_LEVEL
- Changed: store package in YAML if it does not match module
- Changed: by default raises warning if required package has a newer version than the installed one
- Removed: deprecation warning for
ignore_vars
fromaudobject.init_decorator()
- Added: Python 3.9 support
- Added: docstring examples to resolver classes
- Changed: update documentation on borrowed arguments
- Removed: Python 3.6 support
- Added: argument
override_args
tofrom_dict()
,from_yaml()
,from_yaml_s()
- Changed:
resolver.Function
supports callable objects of typeObject
- Deprecated:
**kwargs
fromfrom_dict()
,from_yaml()
,from_yaml_s()
- Added: subpackage
resolver
- Added:
resolver.FilePath
,resolver.Function
,resolver.Tuple
,resolver.Type
- Deprecated:
FilePathResolver
,FunctionResolver
,TupleResolver
,TypeResolver
- Fixed: preserve default arguments in serialized functions
- Fixed: attach source to dynamically created functions
- Added:
audobject.FunctionResolver
- Added:
audobject.from_dict
- Added:
audobject.from_yaml
- Added:
audobject.from_yaml_s
- Deprecated:
audobject.Object.from_dict
- Deprecated:
audobject.Object.from_yaml
- Deprecated:
audobject.Object.from_yaml_s
- Added:
FilePathResolver
- Fixed: inherit
borrow
,hide
andresolvers
- Fixed: link "Edit on Github" in documentation
- Fixed: link to
audfactory.Lookup
in documentation
- Fixed: remove footer links in documentation
- Changed: add badges to README
- Fixed: updated all links to Github
- Fixed: package metadata defined in
setup.cfg
- Changed: move to Github and make open source release
- Changed:
audobject.Object
implements__hash__()
- Changed: borrow arguments from dictionary
- Fixed: avoid warnings for unsupported
kwargs
inaudobject.Object.from_dict()
- Added:
borrow
argument toaudobject.init_decorator()
- Changed: parse authors and project name from setup
- Changed: use
audeer.deprecated_keyword_argument()
- Changed: raise error when serializing a callable
- Changed: better error messages
- Changed:
audobject.init_decorator()
stores hidden arguments before calling__init__
- Added: argument
flatten
toaudobject.Object.to_dict()
- Added:
audobject.Object.arguments()
,audobject.Object.hidden_arguments()
,audobject.Object.resolvers()
- Added:
hide
toaudobject.init_decorator()
(replacesignore_vars
) - Changed: Serialize only arguments of
__init__
to YAML - Changed: Raise error if user tries to hide argument without default value
- Changed: Raise error if argument that is not hidden is not assigned to a variable
- Removed:
check_vars
fromaudobject.init_decorator
- Fixed: dependency to
audeer
- Fixed: support empty dictionary
- Changed: replace
override_vars
withkwargs
- Added: option to ignore variables
- Added: option to override variables
- Changed: change
sanity_check=True
tocheck_vars=False
- Added:
audobject.init_decorator()
- Added:
audobject.Dictionary
- Added: initial release