Skip to main content

rune-runtime: the Rune DSL runtime for Python

Project description

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. However, pip install rune-runtime would install it from PyPi.

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 help@finos.org

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rune_runtime-1.0.20.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rune_runtime-1.0.20-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file rune_runtime-1.0.20.tar.gz.

File metadata

  • Download URL: rune_runtime-1.0.20.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rune_runtime-1.0.20.tar.gz
Algorithm Hash digest
SHA256 659d398f889387d32591e5aa89b4787ef6da61042c9642dd17f827d0f0aa06f9
MD5 2f90b270cca9338213b46c64d166f6c4
BLAKE2b-256 90d0e83631d0260d45dcc83d0c5af2139d52d998635f69a2dceeba48bbc150f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rune_runtime-1.0.20.tar.gz:

Publisher: release.yml on finos/rune-python-runtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rune_runtime-1.0.20-py3-none-any.whl.

File metadata

  • Download URL: rune_runtime-1.0.20-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rune_runtime-1.0.20-py3-none-any.whl
Algorithm Hash digest
SHA256 3356ab5d3265e9a6388fa72cbe6982048cf63500a3b0a244d30e1a063ec0335d
MD5 05c197ddfcd5752adb7b3c3da7b9a1ac
BLAKE2b-256 1f336b4ce1d6d80cfd46df871aaf1115072a66fece6ec244f2d992da90ff0796

See more details on using hashes here.

Provenance

The following attestation bundles were made for rune_runtime-1.0.20-py3-none-any.whl:

Publisher: release.yml on finos/rune-python-runtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page