Docs
content
Contributing to Python Learning Curriculum
Thank you for your interest in contributing! This project aims to provide a comprehensive Python learning resource for developers at all levels.
🤝 How to Contribute
Reporting Issues
- •Use the GitHub issue tracker
- •Search existing issues before creating a new one
- •Include Python version, OS, and steps to reproduce
Suggesting Improvements
- •Open an issue describing your suggestion
- •Explain why it would benefit learners
- •Include examples if possible
Submitting Changes
- •Fork the repository
- •Create a branch for your feature:
git checkout -b feature/improve-oop-examples - •Make your changes following our guidelines below
- •Test your changes:
make test - •Commit with clear messages:
git commit -m "feat: add decorator example in module 10" - •Push to your fork:
git push origin feature/improve-oop-examples - •Open a Pull Request
📝 Guidelines
Code Style
- •Follow PEP 8 conventions
- •Use type hints for function signatures
- •Keep examples simple and focused on one concept
- •Add comments explaining the "why", not just the "what"
Exercise Guidelines
- •Include clear instructions in comments
- •Provide hints without giving away the solution
- •Solutions should be commented out or in separate files
- •Test all exercises work correctly
Documentation
- •Keep README files clear and concise
- •Use markdown formatting consistently
- •Include practical, runnable examples
- •Update table of contents if adding new modules
Commit Messages
Follow conventional commits:
feat: add new feature
fix: fix a bug
docs: update documentation
test: add or update tests
refactor: code refactoring
chore: maintenance tasks
🧪 Testing
Run the test suite before submitting:
# Run all tests
make test
# Run linting
make lint
# Format code
make format
📋 Pull Request Checklist
- • Code follows project style guidelines
- • All tests pass
- • New code has appropriate comments
- • Documentation updated if needed
- • Commit messages are clear and descriptive
🎯 Areas for Contribution
- •New Examples: Add practical examples to existing modules
- •Exercises: Create new practice problems
- •Documentation: Improve explanations and clarity
- •Bug Fixes: Fix errors in examples or exercises
- •Translations: Help translate content to other languages
📜 Code of Conduct
- •Be respectful and inclusive
- •Provide constructive feedback
- •Focus on what is best for learners
- •Welcome newcomers and help them contribute
📬 Questions?
Feel free to open an issue for any questions about contributing.
Thank you for helping make Python learning accessible to everyone! 🐍