Pyecore

Latest version: v0.15.2

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

Scan your dependencies

Page 6 of 11

0.8.0

+++++

**Features**

- Add first support for ``EDerivedCollection``. The derived collections are
obtained from many features that are also marked as derived. A derived
collection does not stores nor gets direct information, instead it fetches
information from other collection, compute a result and store it. In the
realisation, a derived collection will inherits from a generic derived
collection that only proposed an empty implementation. Then, the
implementation must be manually added.

- Add multi-root support for XMI and JSON resources. XMI and JSON with multiple
roots can now be serialized and deserialized. Their handling is pretty
transparent as the addition of a new root goes through the ``append(...)``
method.

- Add a ``remove(...)`` method on resources. This method is pretty much the
opposite of the ``append(...)`` method on resources, it simply remove a
root from the resource.

**Bugfixes**

- Exception when a wrong type value was inserted in a reference for generated
code. The call to the ``EcoreUtils.isinstance`` method were raising an
exception as the last part of the code tries to deal with an unexisting
methods from the generated class.

- Fix ``EProxy`` 'force resolve' for static metamodels. When a proxy is set
towards a static metaclass, the proxy resolution tries to handle the
inverse reference list which only exists in the ``.eClass`` "level".
Consequently, when a static metaclass is used, the corresponding ``EClass``
instance must be used.

**Miscellaneous**

- Add new module for basic values and collections. This module contains the
``ECollection`` and ``EValue`` classes. These class were formerly in the
``ecore`` module, but due to further development, it is better to have it
into a dedicated place. This modification is retrocompatible and invisible
for existing manual/generated code.

0.7.15

+++++++++
**Features**

- Add xmi option for default value serialization. This new option allows to
save the default value in the produced XMI, and it also gives the ability to
store attribute set to `None` as `xsi:nill="true"` field.

0.7.14

++++++
**Features**

- Add href uuid (de)serialization for XMI. This new features allows the XMI
for having href that directly uses the uuid of the target element.


**Bugfixes**

- Fix nsmap computation for heteroneous models with crossrefs. When crossrefs
are serialized in XMI, they need to add the referenced namespace at the
root of the XMI. This fix adds these namespace and their related prefixes.

0.7.13

++++++

**Bugfixes**

- Fix bad ``EAttribute`` decoding for XMI root element. By default, each field
of an XMI root were decoded as strings instead of making use of the
``from_string(...)`` method from the type of each attribute. This case is not
very common, but could still occur.

0.7.12

++++++

**Features**

- Add option for specific XMI "type" field serialization. XMI uses a special
field to encode the type of the element. This field is almost always named:
``xsi:type``, but in some cases, ``xmi:type`` is used instead. To deal with such
cases, an option is now available: ``XMIOptions.OPTION_USE_XMI_TYPE``.

**Bugfixes**
- Add missing 'type' field for XMI href serialization. The 'xsi:type' field is
required when a crossreference is serialized. This field is used to check if
the resolved resource has the right type (not really, but it help). This
field is kinda optional at the moment for PyEcore, but required for Java-EMF,
otherwise the EMF will not be able to create the right proxy for the
crossreferenced resource.

0.7.8

++++++++++++

**Features**

- Add missing ``eAllAttributes()`` method for retriving all
``eStructuralFeatures`` that are ``EAttributes``.

**Bugfixes**

- Fix issue with double notification for x..1--x..* opposite references. When a
relationship with an eOpposite involving a x..1 and a x..* relationship, in
case the x..1 was set, the x..* opposite update was doing a "double set",
thus throwing two times the notification.

Page 6 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.