Thank you for your interest in contributing to spring-boot-python-executor! Your contributions help improve the project and make it more useful to the community. This document provides guidelines to help you get started and ensure smooth collaboration.
spring-boot-python-executor is a Spring Boot module that allows executing Python scripts directly from a Spring application. It supports:
- Execution of Python scripts with SpEL integration.
- Secure execution using RestrictedPython.
- REST and gRPC servers for isolated script execution.
- Starter and autoconfigure support for seamless Spring Boot integration.
Whether you want to report a bug, propose new features, or improve documentation, your contributions are welcome!
We expect all contributors to follow a respectful and professional attitude in discussions, issues, and pull requests. Please:
- Be respectful and considerate.
- Avoid offensive or discriminatory language.
- Focus on technical content and constructive feedback.
For a detailed guide, see the Code of Conduct (if available).
To report bugs or request new features:
- Search existing issues to avoid duplicates.
- Provide a clear and descriptive title.
- Include relevant details:
- Steps to reproduce the bug.
- Expected vs. actual behavior.
- Versions of Spring Boot, Python, and this module.
- Logs or stack traces if applicable.
- Use labels or milestones if you have permission.
GitHub Issues is the primary platform for tracking bugs and feature requests.
Follow these steps to submit a PR:
- Fork the repository and clone it locally.
- Create a new branch for your feature or fix:
git checkout -b feature/my-feature- Make your changes following the project’s coding standards.
- Write clear and concise commit messages:
- Include issue numbers if applicable, e.g.,
Fixes #123.
- Include issue numbers if applicable, e.g.,
- Push your branch and open a pull request against
main.
Branch naming conventions:
- Features:
feature/short-description - Bug fixes:
fix/short-description - Documentation:
docs/short-description
- Follow Spring Boot and Java best practices.
- Use consistent formatting and indentation.
- Linting tools:
Checkstyle,SpotlessorIDE formatting rules. - Ensure your code passes all tests before submitting a PR.
- The project uses JUnit 5 for unit tests.
- Run tests locally with:
/mvnw test- Write tests for any new functionality or bug fixes.
- Ensure all tests pass before submitting a PR.
To set up a development environment:
- Clone the repository:
git clone https://github.com/w4t3rcs/spring-boot-python-executor.git- Navigate to the project directory:
cd spring-boot-python-executor- Ensure you have Java 17+ and Maven installed.
- Build the project:
./mvnw clean install- Optional: Run Docker containers for sandboxed execution if needed (see README).
-
Documentation is maintained in
README.mdand Javadoc comments. -
When adding new features, update the README with:
- New endpoints, configuration options, or examples.
- Any required setup instructions.
-
Use clear Markdown formatting and consistent style.
This project is licensed under the MIT License. By contributing, you agree that your contributions will be licensed under the same terms. See the LICENSE file for full terms.
We appreciate all contributions from:
- Contributors who report issues or submit pull requests.
- Open-source libraries and frameworks used:
- Spring Boot
- RestrictedPython
- Py4J
- The community for support and feedback.
Thank you for helping make spring-boot-python-executor better!