Skip to content

Contributing

Stephen Cox edited this page Dec 13, 2025 · 4 revisions

We welcome contributions to qBittorrent Automation!

How to Contribute

  1. Fork the repository on GitHub
  2. Create a feature branch:
    git checkout -b feature/my-new-feature
  3. Install in editable mode:
    pip install -e .
  4. Make your changes with clear commit messages:
    git commit -m "feat: Add custom operator for field comparison"
  5. Test your changes:
    pytest
    qbt-rules --dry-run --validate
  6. Push to your fork:
    git push origin feature/my-new-feature
  7. Create a Pull Request with description of changes

Code Style

  • Follow PEP 8 style guide
  • Use descriptive variable names
  • Add docstrings to functions
  • Keep functions focused and modular

Testing

Before submitting PR:

# Run test suite
pytest

# Test with coverage
pytest --cov=qbt_rules --cov-report=term-missing

# Test imports
python -c "from qbt_rules.api import QBittorrentAPI"
python -c "from qbt_rules.engine import RulesEngine"

# Validate example configs
qbt-rules --validate --config-dir config

# Run with dry-run
qbt-rules --dry-run --config-dir config

Reporting Issues

When reporting bugs, include:

  1. Environment details:

    • Python version
    • qBittorrent version
    • Operating system
  2. Configuration:

    • Sanitized config.yml (remove credentials!)
    • Relevant rules from rules.yml
  3. Error output:

    • Full error message
    • Traceback if applicable
    • Logs with --trace flag
  4. Steps to reproduce

🎯 qbt-rules

v0.3.0 | GitHub


📚 Getting Started

📖 Core Concepts

🔧 Configuration

🆘 Help & Support

🤝 Contributing


🆕 What's New (v0.3.0)

  • ✅ Unified CLI (qbt-rules)
  • ✅ Custom triggers
  • ✅ Trigger-agnostic mode
  • ✅ Size operators (50GB)

🔗 Quick Links

Clone this wiki locally