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.
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:
- Fetch the latest release data from the GitHub API
release_data=$(curl -s https://api.github.com/repos/REGnosys/rune-python-runtime/releases/latest)
- Extract the download URL of the first asset
download_url=$(echo "$release_data" | grep '"browser_download_url":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/')
- Download the artifact using wget or curl
wget "$download_url"
- Install the Runtime
python -m pip install rune.runtime*-py3-*.whl
This guide is meant for everyone who wants to contribute to the Rune Python Runtime and needs to get things up and running.
Start by cloning the project: git clone https://github.com/regnosys/rune-python-generator
Use dev_clean_setup.sh to setup a development environment.
./dev_clean_setup.sh
Use build_wheel.sh to build the package
./build_wheel.sh
To run the unit tests:
test/run_runtime_tests.sh
The Roadmap will be aligned to the Rune DSL and CDM roadmaps.
In addition, the intention is to make future releases available at PyPi
- CLOUDRISK Limited, email: [email protected]
- FT Advisory LLC, email: [email protected]
- TradeHeader SL, email: [email protected]
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:
- Fork it (https://github.com/regnosys/rune-python-runtime/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Read our contribution guidelines and Community Code of Conduct
- Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - 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 team by creating a GitHub issue and labelling it with "help wanted".
We encourage the community to get in touch via the FINOS Slack.
This project implements https://community.finos.org/docs/governance/#open-source-software-projects
Copyright 2023-2025 CLOUDRISK Limited and FT Advisory LLC
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0