Skip to content

Contributing โ€‹

Thank you for your interest in Purple8 DocIntel! We welcome bug reports, feature requests, and community feedback.

Ways to Contribute โ€‹

๐Ÿ› Bug Reports โ€‹

Found a bug? Open a bug report with:

  • A clear, descriptive title
  • Steps to reproduce the issue
  • Expected vs. actual behaviour
  • Your environment (OS, Python version, Purple8 version)
  • Any relevant logs or error messages

See Reporting Issues for a detailed walkthrough.

๐Ÿ’ก Feature Requests โ€‹

Have an idea? Open a feature request with:

  • A clear description of the problem you're trying to solve
  • Your proposed solution (if any)
  • Why this would benefit other users

๐Ÿ”’ Security Vulnerabilities โ€‹

Do not open a public issue for security vulnerabilities. Please see the Security Policy for responsible disclosure instructions.

Development Setup โ€‹

bash
# Clone the repository
git clone git@github.com:Purple8-Technologies/Purple8-DocIntel.git
cd Purple8-DocIntel

# Create a virtual environment
python3.11 -m venv .venv
source .venv/bin/activate

# Install in development mode with all extras
pip install -e ".[dev,all]"

# Run the test suite
python -m pytest tests/ -q

Python version

We recommend Python 3.11 for development. The full test suite runs against 3.11 and 3.12 in CI.

Code Style โ€‹

  • Python 3.11+ โ€” we use modern Python features (type hints, match statements, etc.)
  • Formatting โ€” we follow PEP 8 conventions with a 100-character line length
  • Linting โ€” Ruff with I, UP, B rules enabled
  • Type hints โ€” all public APIs should have type annotations
  • Tests โ€” every new feature or bug fix should include tests. We currently maintain 238+ tests.

Pull Request Process โ€‹

  1. Fork the repository and create your branch from main
  2. Write clear, focused commits with descriptive messages
  3. Ensure the full test suite passes:
    bash
    python -m pytest tests/ -q
  4. Update documentation if your change affects public APIs or behaviour
  5. Open a pull request with a clear description of what changed and why

PR Checklist โ€‹

Every pull request uses our PR template which includes:

  • [ ] Change type (bug fix / feature / breaking change / docs)
  • [ ] Tests added or updated
  • [ ] Documentation updated (if applicable)
  • [ ] CHANGELOG entry added

Code of Conduct โ€‹

We are committed to providing a welcoming and inclusive environment. Please be respectful and constructive in all interactions. Harassment, discrimination, and abusive behaviour will not be tolerated.

License โ€‹

Purple8 DocIntel is proprietary software. By contributing, you agree that your contributions will be subject to the project's license.

Questions? โ€‹

TopicContact
Generalhello@purple8.ai
Enterpriseenterprise@purple8.ai
Securitysecurity@purple8.ai
Bug reportsGitHub Issues

Purple8 DocIntel v0.12.5 ยท Universal Document Intelligence ยท NVIDIA Inception Member ยท Red Hat Technology Partner.