Contributing to Arrow Gateway Engine
Thank you for your interest in contributing. This guide will help you get started.
Project Structure
./src: Main source code../tests: Test suite for the project../Documentation: Documentation source files for this site.
Getting Started
Fork the repository and clone your fork.
Install dependencies as required by the project.
On Linux (Debian), you may use
./scripts/envSetup.shfor quick environment setup.poetryis used to manage Python dependencies.Julia dependencies must be installed manually:
julia --project=./src/service/optimization_service/julia -e "import Pkg; Pkg.instantiate()"
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
Making Changes
Place all source code changes in
./src.Add or update tests in
./tests.Add or update documentation in
./Documentation.Ensure your code follows the project’s style and linting rules.
Running Tests
Run the test suite to verify your changes:
poetry run pytest
Add -s to see STDOUT output from tests.
Submitting Changes
Commit your changes with clear messages.
Push your branch to your fork.
Open a Pull Request against the main repository.
Code Review
Address feedback from reviewers.
Ensure all tests pass before merging.
Questions?
Open an issue if you need help or clarification.
Thank you for contributing!