Skip to content

finos/rune-python-runtime

FINOS - Incubating Run Unit Tests OpenSSF Best PracticesPython CI

Rune Python Runtime

Rune Python Runtime - the runtime supports and is an integral part of Python code generated from a Rune DSL defined model. Rune DSL is a Domain-Specific Language used to model Financial Markets activities including the Common Domain Model (CDM).

The Rune Python Runtime is used in collaboration with the Rune Python Code Generator to translate a Rune DSL model into a fully usable Python package.

Installation

The runtime is not generally installed on a stand alone basis but rather comes as part of a generated package such as CDM.

Regardless, to install the package standalone:

  1. Fetch the latest release data from the GitHub API
release_data=$(curl -s https://api.github.com/repos/REGnosys/rune-python-runtime/releases/latest)
  1. Extract the download URL of the first asset
download_url=$(echo "$release_data" | grep '"browser_download_url":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/')
  1. Download the artifact using wget or curl
wget "$download_url"
  1. Install the Runtime
python -m pip install rune.runtime*-py3-*.whl

Development setup

Setup for developers

This guide is meant for everyone who wants to contribute to the Rune Python Runtime and needs to get things up and running.

1. Clone the Project

Start by cloning the project: git clone https://github.com/regnosys/rune-python-generator

2. Setup the Development Environment

Use dev_clean_setup.sh to setup a development environment.

./dev_clean_setup.sh

3. Build

Use build_wheel.sh to build the package

./build_wheel.sh

To run the unit tests:

test/run_runtime_tests.sh

Roadmap

The Roadmap will be aligned to the Rune DSL and CDM roadmaps.

In addition, the intention is to make future releases available at PyPi

Contributors

Contributing

For any questions, bugs or feature requests please open an issue For anything else please send an email to {project mailing list}.

To submit a contribution:

  1. Fork it (https://github.com/regnosys/rune-python-runtime/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email [email protected]

Get in touch with the Rune Python Runtime Team

Get in touch with the Rune team by creating a GitHub issue and labelling it with "help wanted".

We encourage the community to get in touch via the FINOS Slack.

Governance

This project implements https://community.finos.org/docs/governance/#open-source-software-projects

License

Copyright 2023-2025 CLOUDRISK Limited and FT Advisory LLC

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •