Skip to content

Commit 2a740d3

Browse files
readme update
1 parent aec7ffa commit 2a740d3

File tree

1 file changed

+32
-40
lines changed

1 file changed

+32
-40
lines changed

README.md

Lines changed: 32 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,28 @@
22

33
<img align="right" width="15%" alt="FINOS" src="https://www.finos.org/hubfs/FINOS/finos-logo/FINOS_Icon_Wordmark_Name_RGB_horizontal.png">
44

5+
56
# Rune Python Generator
67

7-
*Rune Python Generator* - the generator enables creation of Python from [Rune](https://github.com/finos/rune-dsl). It supports the full Rune type syntax, and, as described in [EXPRESSION_SUPPORT.md](./EXPRESSION_SUPPORT.md), expression coverage is comprehensive. The generator does not yet fully implement function generation.
8+
The Rune Python Generator creates Python code from [Rune](https://github.com/finos/rune-dsl). It fully supports the Rune type syntax and has comprehensive [expression coverage](./EXPRESSION_SUPPORT.md), though function generation is not yet fully implemented.
89

9-
The generated Python relies upon the [RunePythonRuntime](https://github.com/finos/rune-python-runtime) library and requires Python version 3.11+.
10+
The generated code requires the [RunePythonRuntime](https://github.com/finos/rune-python-runtime) library and Python 3.11+.
1011

11-
## Release Notes
12+
## Releases
1213

13-
The features of the current version can be found in the [release notes](./RELEASE.md)
14+
Releases are [triggered manually](./.github/workflows.yml) and follow a four-part semantic versioning scheme (x.y.z.n). The first three numbers match the **rosetta.dsl.version** in the **pom.xml**, and the fourth number tracks generator changes.
1415

15-
## Releases
16+
For example, when the DSL version updates to **9.64.1**, the first release will be tagged **9.64.1.0**. Subsequent releases will only increment the fourth digit (e.g., **9.64.1.1**) until the DSL version changes again.
1617

17-
Releases are made automatically by invoking the [release workflow](./.github/workflows.yml). Releases will be sequentially tagged using four semantic elements (x.y.z.n). Each change of the value of rosetta.dsl.version in the POM resets the fourth digit.
18+
Releases **should** not be manually tagged.
1819

19-
For example, if the dsl version is 9.64.1, the release will be tagged 9.64.1.0. Until a new dsl version, each subsequent release will increment the fourth digit (i.e. the next release would be tagged 9.64.1.1).
20+
### Release Notes
2021

21-
Releases should not be manually tagged.
22+
The features of the current version can be found in the [release notes](./RELEASE.md)
2223

2324
### Rune-DSL Updates
2425

25-
Renovate will generate a PR when the version of the DSL has been updated at com.regnosys.rosetta:com.regnosys.rosetta. The PR will clarify whether the change succsessfully builds and passes JUNIT and Python unit testing. Any maintainer can merge changes that successfully build and pass the tests.
26-
27-
A PR must be raised for changes to address address build or testing failures.
26+
The Renovate bot automatically handles DSL updates by creating a pull request. Maintainers can merge this PR if it passes the automated build and unit tests. Manual changes including a new PR are required if the tests fail.
2827

2928
## Repository Organization
3029

@@ -39,13 +38,13 @@ A PR must be raised for changes to address address build or testing failures.
3938

4039
## Development setup
4140

42-
### Setup for developers
41+
### For developers
4342

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

4645
Detailed build and testing instructions can be found in [BUILDANDTEST.md](./BUILDANDTEST.md)
4746

48-
If this guide does not work for you, be sure to raise an issue. This way we can help you figure out what the problem is and update this guide to prevent the same problem for future users.
47+
Troubleshooting: If you run into issues, please open an [issue](https://github.com/finos/rune-python-generator/issues). This helps us improve the guide for everyone.
4948

5049
### 1. Building with Maven
5150

@@ -79,66 +78,59 @@ Go to Import... > Existing Maven Project, select the right folder, click Finish.
7978

8079
### Standalone CLI
8180

82-
The generator includes a standalone CLI which can be invoked to generate Python from a single file or from directory. To invoke the CLI, first build the project and then:
81+
To generate Python code from a single file or directory, after building the project use the standalone CLI by executing the following command:
8382

84-
```sh
83+
```bash
8584
java -cp target/python-0.0.0.main-SNAPSHOT.jar com.regnosys.rosetta.generator.python.PythonCodeGeneratorCLI
8685
```
8786

88-
### To Generate CDM from Rune
87+
### Generating CDM from Rune
8988

90-
Use this script to generated the Python version of CDM
89+
To generate the Python version of the Common Domain Model (CDM), use the **build_cdm.sh** script. This script uses the branch specified in the file and creates a wheel in target/python-cdm.
9190

92-
```sh
91+
```bash
9392
test/cdm_tests/cdm_setup/build_cdm.sh
9493
```
9594

96-
The script will use the CDM from the branch specified in the file (E.G. master) of the [FINOS Repo](https://github.com/finos/common-domain-model) and generate a wheel in the project directory `target/python-cdm`
97-
98-
To use a different version of CDM, update CDM_VERSION in the script.
95+
To use a different version of CDM, simply update the **CDM_VERSION** variable in the script.
9996

100-
## Roadmap
97+
## Roadmap, Contributing, Getting in Touch, and Governance
10198

102-
The Roadmap will be aligned to the [Rune-DSL](https://github.com/finos/rune-dsl/) and [CDM](https://github.com/finos/common-domain-model/blob/master/ROADMAP.md) roadmaps.
99+
### Roadmap
103100

104-
## Contributing
101+
The project roadmap is aligned with the [Rune-DSL](https://github.com/finos/rune-dsl/) and [CDM](https://github.com/finos/common-domain-model/blob/master/ROADMAP.md) roadmaps.
105102

106-
For any questions, bugs or feature requests please open an [issue](https://github.com/finos/rune-python-generator/issues)
107-
For anything else please send an email to {project mailing list}.
103+
### Contributing
108104

109-
To submit a contribution:
105+
We welcome contributions! Please follow these steps to get started:
110106

111-
1. Fork it (<https://github.com/finos/rune-python-generator/fork>)
107+
1. Fork the repository (<https://github.com/finos/rune-python-generator/fork>)
112108
2. Create your feature branch (`git checkout -b feature/fooBar`)
113109
3. Read our [contribution guidelines](.github/CONTRIBUTING.md) and [Community Code of Conduct](https://www.finos.org/code-of-conduct)
114110
4. Commit your changes (`git commit -am 'Add some fooBar'`)
115111
5. Push to the branch (`git push origin feature/fooBar`)
116112
6. Create a new Pull Request
117113

118-
*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
119-
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
120-
and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
114+
**NOTE: FINOS repositories require an executed and active FINOS Individual Contributor License Agreement (ICLA) or an executed and active FINOS Corporate Contribution License Agreement (CCLA). The FINOS Clabot tool (or EasyCLA) will flag and block commits from individuals not covered. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.**
121115

122-
If you are unsure if you are covered under an existing CCLA send an email to [email protected]
116+
If you are unsure if you are covered under an existing CCLA send an email to <[email protected]>
123117

124-
## Get in touch with the Rune Python Generator Team
118+
### Get In Touch
125119

126-
Get in touch with the Rune team by creating a [GitHub issue](https://github.com/finos/rune-python-generator/issues/new) and labelling it with "help wanted".
120+
Get in touch with the Rune Python Generator team by creating a [GitHub issue](https://github.com/finos/rune-python-generator/issues/new) and labelling it with "help wanted".
127121

128-
We encourage the community to get in touch via the [FINOS Slack](https://www.finos.org/blog/finos-announces-new-community-slack).
122+
We also encourage the community to get in touch via the [FINOS Slack](https://www.finos.org/blog/finos-announces-new-community-slack).
129123

130-
## Governance
124+
### Governance
131125

132-
This project implements <https://community.finos.org/docs/governance/#open-source-software-projects>
126+
This project is governed by the FINOS Open Source Software Project Governance <https://community.finos.org/docs/governance/#open-source-software-projects>
133127

134-
## License
128+
### License
135129

136130
Copyright 2023-2025 CLOUDRISK Limited and FT Advisory LLC
137131

138132
Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
139133

140-
SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0)
141-
142134
## Contributors
143135

144136
- [CLOUDRISK Limited](https://www.cloudrisk.uk), email: <[email protected]>

0 commit comments

Comments
 (0)