Thank you for your interest in contributing to PyExecutorHub! This document provides guidelines for contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/PyExecutorHub.git - Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test your changes
- Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- Python 3.11+
- Docker
- Docker Compose
# Clone the repository
git clone https://github.com/YOUR_USERNAME/PyExecutorHub.git
cd PyExecutorHub
# Copy environment file
cp env.example .env
# Edit configuration
nano .env
# Start the development environment
docker compose up -d --build
# Test the API
curl http://localhost:8000/health# Test the API endpoints
curl http://localhost:8000/programs
# Test script execution
curl -X POST http://localhost:8000/execute \
-H "Content-Type: application/json" \
-d '{"program_id": "example_script"}'- Follow PEP 8 style guidelines
- Use type hints where appropriate
- Add docstrings to functions and classes
- Keep functions small and focused
- Use snake_case for variables and functions
- Use PascalCase for classes
- Use UPPER_CASE for constants
- Maximum line length: 88 characters (Black formatter)
- Write clear, concise docstrings
- Use English for all comments and documentation
- Include examples in docstrings
- Use conventional commit messages
- Format:
type(scope): description - Examples:
feat(api): add new endpoint for program statusfix(docker): resolve container timeout issuedocs(readme): update installation instructions
When reporting bugs, please include:
- Environment: OS, Python version, Docker version
- Steps to reproduce: Clear, step-by-step instructions
- Expected behavior: What you expected to happen
- Actual behavior: What actually happened
- Logs: Relevant error messages and logs
- Screenshots: If applicable
When requesting features, please include:
- Problem description: What problem does this solve?
- Proposed solution: How should it work?
- Use cases: Who would benefit from this?
- Alternatives considered: What other approaches were considered?
- Code follows the project's style guidelines
- Tests pass locally
- Documentation is updated
- No sensitive data is included
- Commit messages are clear and descriptive
- Summary: Brief description of changes
- Motivation: Why these changes are needed
- Testing: How to test the changes
- Breaking Changes: Any breaking changes and migration steps
- Update README.md for user-facing changes
- Update docstrings for API changes
- Add examples for new features
- Include troubleshooting guides for complex features
- Use clear, simple language
- Include code examples
- Add screenshots for UI changes
- Keep documentation up to date
- DO NOT create a public issue for security vulnerabilities
- Email security issues to: [your-email@example.com]
- Include detailed information about the vulnerability
- Allow time for response before public disclosure
- Never commit sensitive data (API keys, passwords, etc.)
- Use environment variables for configuration
- Validate all user inputs
- Follow security best practices
This project follows Semantic Versioning:
- MAJOR: Incompatible API changes
- MINOR: New functionality in a backward-compatible manner
- PATCH: Backward-compatible bug fixes
By contributing to this project, you agree that your contributions will be licensed under the MIT License.
- Thank you for contributing to PyExecutorHub!
- Your contributions help make this project better for everyone
- We appreciate your time and effort
⚡ PyExecutorHub - Deploy Python scripts in seconds, execute with confidence.
Need help? Open an issue or reach out to the maintainers!