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

  1. Fork the repository
  2. Create a branch for your feature: git checkout -b feature/improve-oop-examples
  3. Make your changes following our guidelines below
  4. Test your changes: make test
  5. Commit with clear messages: git commit -m "feat: add decorator example in module 10"
  6. Push to your fork: git push origin feature/improve-oop-examples
  7. 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! 🐍

Content - Python Tutorial | DeepML