Releases: finos/rune-python-runtime
Releases · finos/rune-python-runtime
Rune Functions Support
Rune Python Runtime 2.0.0
Rune Python Runtime 2.0.0 is a major update focused on function execution support, safer mutation semantics, and better compatibility with generated Rune model packages.
Highlights
- Added first-class runtime support for generated Rune functions.
- Introduced replaceable function proxies, scoped function replacement, unchecked invocation helpers, and native function registration/loading.
- Added copy-on-write support for models, builders, lists, dicts, and sets so generated functions can work with mutable views without mutating original inputs.
- Introduced
ObjectBuilderfor draft-style model construction and materialization into validated Rune models. - Improved
BaseDataClass, metadata, and reference handling to better support Pydantic validation, function return finalization, and internal, external, and scoped references. - Added support for namespace-prefixed model installations, allowing prefixed generated packages and native implementations to be resolved correctly.
- Aligned utility behavior more closely with Rune semantics for null handling, list operations, attribute resolution, and cardinality checks.
- Expanded test coverage across function execution, copy-on-write behavior, object building, key/reference resolution, namespace-prefix handling, and runtime utilities.
Breaking Changes
- Some older mutation-oriented helper patterns have been replaced by
ObjectBuilder, copy-on-write wrappers, andrune_add_to_list. - Edge-case behavior involving
None, empty collections, and list comparisons now follows Rune semantics more closely and may differ from 1.x releases.
Upgrade Notes
- Update any custom code that relied on
Draftto useObjectBuilder. - Review custom integrations around runtime helper utilities if they depended on legacy mutation helpers.
- If you use generated Rune functions or prefixed generated packages, upgrade the runtime together with a compatible generator output.
This release lays the foundation for richer generated-function support in Python while improving model safety, interoperability, and correctness.
Release to PyPi
Merge pull request #26 from finos/plamen-neykov-patch-1 Update pyproject.toml
Minor fix of the serialization interface
Fixes an inconsistency in the deserialization interface when a json string is supplied.
Update to datetime handling
Merge pull request #9 from finos/plamen-neykov-patch-1 Update run-tests.yml
Build system refactoring
Consolidated all dependencies in the pyproject.toml and removed auxiliary dependency files.
Minor fix to check also allowed meta of the type itself.
Merge pull request #7 from Cloudrisk/develop minor fix to check in addition to _KEY_REF_CONSTRAINTS the type speci…
Fix for reference resolution bug
Merge pull request #6 from Cloudrisk/develop fixed the reference resolution issue when deeper nesting was present
Flag to control constraints execution
Merge pull request #5 from Cloudrisk/develop Develop
Better handling of type mismatches
Merge pull request #4 from Cloudrisk/develop Develop
Allow basic types with metadata to be initialised by its underlying type
Merge pull request #3 from Cloudrisk/develop allow ..WithMeta data types to be initialized with objects of the bas…