Skip to content

7.0.0-dev.127

Choose a tag to compare

@hugohills-regnosys hugohills-regnosys released this 30 Jun 08:42
c04698a

Infrastructure - Enable Python Code Generation

What is being released?

Re-enables CDM's Python code generation using the newly released rune-python-generator and moves Python artifact distribution from Maven Central to PyPI, the Python community standard (Issue #3239).

What's New

The updated generator:

  • Generates Python from Rune defined functions (Python Function Support #4224)
  • Protects against namespace collisions (Python: Top Level Package Name Collision Prevention #4584)
  • Adds support for previously missing collection and list operators: sort, min, max, reduce, distinct, flatten, reverse, sum, one-of
  • Fixes circular references in inheritance and attribute handling
  • Completes support for type aliases
  • Refactors object, attribute, and expression generation
  • Provides support for the as operator

Breaking Changes

  • Consistent with the outcome of the recent CDM community survey, distribution to Maven Central is discontinued. Downstream consumers should migrate to PyPI.

Known Limitations

  • No support for functions natively defined in Java
  • No support for the recent code list changes

Review Directions

Changes can be reviewed in PR: #4898