Skip to content

Latest commit

 

History

History
72 lines (50 loc) · 2.37 KB

File metadata and controls

72 lines (50 loc) · 2.37 KB

Contributing to Python Decorator Tutorial

Thank you for your interest in contributing to this Python decorator tutorial! 🎉

🚀 Ways to Contribute

1. The @graceful_tool Challenge

We're running a community challenge to build better AI agent tools. Here's how to participate:

Submit Your Solution:

  1. Fork this repository
  2. Create a new branch for your implementation
  3. Add your @graceful_tool decorator to a new file (e.g., your_name_graceful_tool.py)
  4. Include tests showing how your decorator handles different error scenarios
  5. Submit a Pull Request with:
    • Clear description of your design choices
    • Why you chose specific return messages for different errors
    • How your solution helps LLMs self-correct

Design Considerations:

  • What should the decorator return for different error types?
  • How can the error message help an LLM understand and fix the problem?
  • Should different exceptions return different messages?

2. General Contributions

Code Contributions:

  • New decorator examples
  • Bug fixes in existing decorators
  • Performance improvements
  • Better error handling

Documentation:

  • Improve explanations in the notebook
  • Add more examples or use cases
  • Fix typos or clarify confusing sections
  • Translate documentation

Testing:

  • Add unit tests for decorators

📝 Development Setup

  1. Clone and setup (see README.md)
  2. Create a virtual environment
  3. Install dependencies: pip install -r requirements.txt
  4. Run tests: python -m pytest (if tests exist)

🐛 Reporting Issues

  • Use GitHub Issues to report bugs
  • Include Python version, OS, and steps to reproduce
  • For decorator-related issues, include the decorator code and expected vs actual behavior

💡 Feature Requests

  • Open an issue with the "enhancement" label
  • Describe the problem and proposed solution
  • Explain why this would benefit the tutorial

📄 License

By contributing, you agree that your contributions will be licensed under the same license as this project.

🙏 Recognition

Contributors will be acknowledged in the README and repository contributors list. Special recognition for creative @graceful_tool implementations!


Ready to contribute? Check out the Issues page for current challenges and opportunities! 🚀