Odin

Latest version: v2.10

Safety actively analyzes 637053 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 6

0.8.1

=====

- Bug fix for compatibility.deprecated decorator. Was breaking baldr when handling
classes.
- Some documentation fixes.

0.8

===

- Added key_fields to resource meta options. This allows definition of which field(s)
are used to uniquely identify the resource.
- Added support to TraversalPath (and ResourceTraversalIterator) for using key_fields,
both generating and traversing a Resource tree.
- CodecDecodeError and CodecEncodeError now inherit off CodecError.
- TraversalPath now raises multiple error types InvalidPathError, NoMatchError,
and MultipleMatchesError
- Some additional tweaks to inspect tool, as of now is still only available to
Python 3.
- Additional test cases.

0.7

===

- Python 3.5 added for Travis CI test runner
- Added empty flag to ListOf and DictOf files to validate if fields is allowed to
be empty
- Added key_choices to DictOf field to allow allow keys to be validated
- Added TypedDictField this is a analog of the TypedListField but for dict objects
- Project is now owned by the python-odin group
- Initial work on combined string serialisation framework. This is to unify text
serialisation support between the various codecs so additional serialises only
need to be registered in a central location.
- Added DictCodec, this is codec for converting between a dict structure and resource
structure. As Resource.to_dict is explicitly designed to not act in a recursively
this codec fills in a gap where a developer my require a nested dict to be generated.
- Initial implementation of resource filtering. Filtering allows for a filter expression
to be defined and used to filter a list of resources or ensure a particular resource
matches the expression. Expressions are easy to define and read and allow for
filtering against sub-resources etc.
- Added caching to the results of mapping operations. Previously iterating through
a mapping multiple times caused the mapping to be re-run. This has been made the
default behaviour, if the previous behaviour is desired the MappingResult class
can be provided to Mapping.apply instead of CachingMappingResult.
- ResourceAdapter.apply_to now caches Meta object of matching resources types, previously
a new meta object was created for each resource.
- ResourceAdapterOptions.virtual_fields is now filtered using include/exclude options.
- More tests, more docs
- Various bug fixes.

0.6

===

Odin
----

- Changed the generated type name for mapping factory to ensure a more unique name.
- Pass through excluded_fields when generating types in mapping factory.
- Added ignored fields parameter to be provided to Resource.convert_to method.
- Added included fields parameter to the Mapping.update method
- Updated the ResourceAdapter interface to match that of a normal Resource, can
now be used in place of a Resource with any codec.
- Added ResourceAdapter.apply_to method that simplifies applying a resource adapter
to a list of Resources.
- Updated create_resource_from_dict to accept a list and return a list of resources.
- Fixed bug in auto-mapping generation of MapListOf fields to set the to_list flag
correctly
- Added forward_mapping_factory a shortcut version of mapping_factory when only
a forward mapping is required.
- Added the assign (similar to the define shortcut) shortcut for defining an assignment
mapping
- Fixed a bug where performing a full clean on a Resource that was created via a
mapping would fail when a MappingResult object was encountered.
- Added ResourceOptions.element_field_map for use in XML codecs
- Added container flag and ResourceOptions.container_fields for XML style codecs
- Large number of documentation updates
- Fixed bug where Mapping.loop_idx was not being updated correctly, after 2 levels
of nesting the wrong index was being updated.

Sphinx Integration
------------------

- Add max length into resource documentation
- Added description to validators that can be used in sphinx documentation

Page 6 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.