Pyecore

Latest version: v0.15.1

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

Scan your dependencies

Page 9 of 11

0.5.5

+++++

**Bugfixes**

- Fix ``__update()`` method in ``EClass`` when many elements are added at once.
This case occurs when ``append()`` is used on an ``EClass`` in order to add
many ``EStructuralFeature``.

- Fix shared content for mutable ``EDataType``. When mutable EDatataypes are
defined (e.g: ``EStringToStringMapEntry``), each default value was pointing to
the same shared value (exactly the same thing that when ``def x(self, n={})``).
The default_value is now computed, if a special attribute is set, the default
value is always created as a new empty value.

- Fix default value for property instances accessed after the instance creation.


**Miscellaneous**

- Add missing ``EFeatureMapEntry``.
- Add missing LICENCE file in dist package.
- Add default value managmeent for 'instanceClass' derived datatypes.

0.5.1

Fixed
- Multiple useless `EClass` and `EReference` imports.
- Opposite derived `EReference` name.

0.5.0

+++++

**Features**

- Add new static metamodel generator (`moltob <https://github.com/moltob>`_
contribution, thanks!). The generator, named `pyecoregen <https://github.com/pyecore/pyecoregen>`_,
is written in full Python/Jinja2 using `pymultigen <https://github.com/moltob/pymultigen>`_ a
framework for multiple files generation. The generator usage is prefered over
the MTL/Acceleo one as it can be launched from the command line directly and
does not requires Java or Java-dependencies to run. The generated code is
also automatically formatted using the ``autopep8`` project.

- Add EMF command support. The EMF command support gives the ability to represent
actions that modify the model as single or composed modification command. There
is 5 existing commands:
* Set,
* Add,
* Remove,
* Delete,
* Compound.

Each command affects the model in a certain way. The main advantage of using
commands over direct modification is the fact that each of these commands can
be undo/redo.

- Add Command Stack support. The Command stack gives the ability to easily schedule
the execution of each commands. It also gives a simpler access to the undo/redo
function of each commands and ensure that they are played/re-played in the
right order.


**Bugfixes**

- Fix handling of 'non-required' parameters for ``EOperations``. When a
parameter is set as 'non-required', the Python translation must consider that
the parameter is defined as an optional named parameter.

- Fix issue with the computation of some internal properties for the ``delete()``
method (the ``_inverse_rels`` set). The current algorithm keep track of each
inverse relationships, and when an element is removed, the old record is
deleted while a new one is added to the record set. The bug was affecting the
registration of the new record during the deletion of the old one.

- Fix ``__update()`` method in ``EClass`` when an object deletion occurs. The
update method deals with notifications to add/remove elements on the fly from
the listened notification. When a REMOVE was notified, the wrong notification
property was accessed resulting in a ``NoneTypeError`` exception.


**Miscellaneous**

- Add ``getEAnnotation()`` method on ``EModelElement``.
- Change 'getargspec' by 'getfullargspec' as it seems that 'getargspec' is
deprecated since Python 3.0 and replaced by 'getfullargspec'.
- Add some performance improvements.
- Add missing ``pop()`` operation for ``EList/EBag``.
- Monkey patch ``insert()/pop()`` methods in ``OrderedSet``.
- Add missing ``staticmethod`` when required.
- Add missing ``*args`` and ``**kwargs`` to the meta-instance creation in
``EClass``. This addition allows the user to create it's own '__init__' method
for dynamic metaclasses using some trickery.

0.4.3

Added

- Added option to auto-generate the Python code for the metamodel's dependencies,
see the `--with-dependencies` option.

Fixed
- Missing imports to `EDataType` references that are contained in a metamodel dependency.
- Missing default value generation for `EAttribute`.
- Missing `eSubpackages` and `eSuperPackages` at module level.

Removed
- Removed support for Python 3.3.

0.4.2

Fixed

- Missing 'templates' in the sdist package. The sdist package (`.tar.gz`) is
built using information of the `MANIFEST.in` for non-source files. The
templates were simply missing in it.

0.4.1

Fixed

- README

Page 9 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.