Contributing and future directions#
We welcome your input and contributions to pyROX! If you have suggestions for new features, or if you have found a potential bug, do not hesitate to let us know by opening an issue on GitHub.
Contributing code#
If you would like to implement a new feature or fix a bug, please follow these steps:
Fork the repository: Click the “Fork” button at the top right of the GitHub page to create your own copy of the repository.
Install the repository: Install your forked repository to your machine, in editable mode:
git clone https://github.com/<your-user-name>/pyROX cd pyROX pip install -e .
Create a new branch: Before making changes, it is best to create a new branch:
git checkout -b feature/your-feature-name
Make your changes: Implement the new feature and push to your forked repository.
Create a pull request: Go to the new feature’s branch on GitHub (in your forked repository) and click “Contribute” > “Open pull request”. Select
samderegt/pyROX:devas the base branch to merge into, and your feature branch as the head branch. Check and resolve any conflicts and add a description of your changes. When you are ready, click “Create pull request”.Note
We will implement new features in the
devbranch. Once a feature is stable, we will make a new release and merge the changes into themainbranch.Note
Creating the pull request will automatically trigger some tests to ensure that the changes do not break any existing functionality. You can also run the tests locally by executing
pytestin the root directory.Review and discuss: We will now review your pull request and may ask you to make changes or provide additional information. Once the changes are satisfactory, we will merge the pull request into the
devbranch. Thank you for your contribution to pyROX!
Future directions#
We continue to develop pyROX and add new features. Some of the planned future directions are: - Support for additional databases, such as VALD and ExoAtom. - Support for conversion to other radiative-transfer formats. - More physically motivated line-wing cutoffs and profiles. - Shared-memory parallelisation. - Just-in-time compilation.
If you have other suggestions or want to encourage the development of a specific feature, please do not hesitate to reach out on GitHub.