Thank you for your interest in contributing to Onnx4Deeploy! This document provides guidelines and instructions for contributing.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/Onnx4Deeploy.git cd Onnx4Deeploy - Add upstream remote:
git remote add upstream https://github.com/pulp-platform/Onnx4Deeploy.git
When reporting bugs, please include:
- Description: Clear description of the bug
- Environment: Python version, OS, package versions
- Reproduction: Minimal code to reproduce the issue
- Expected behavior: What you expected to happen
- Actual behavior: What actually happened
- Error messages: Full error messages and stack traces
When requesting features, please include:
- Use case: Why is this feature needed?
- Proposed solution: How should it work?
- Alternatives: Have you considered alternatives?
- Additional context: Any other relevant information
bug: Something isn't workingenhancement: New feature or requestdocumentation: Documentation improvementsgood first issue: Good for newcomershelp wanted: Extra attention needed
To add a new ONNX operator:
- Create operator class in
onnx4deeploy/operators/ - Inherit from
BaseOperator - Implement required methods:
create_model()generate_inputs()expected_output()
- Add tests in
tests/operators/ - Update documentation
Example:
from onnx4deeploy.operators.base_operator import BaseOperator
class NewOperator(BaseOperator):
def create_model(self):
# Implement operator logic
passTo add a new model exporter:
- Create exporter in
onnx4deeploy/models/ - Inherit from
BaseExporter - Implement model export logic
- Add tests in
tests/models/ - Register in CLI tool
- Open a GitHub Issue
- Check existing documentation in
docs/ - Review existing code for examples
Your contributions make Onnx4Deeploy better for everyone. We appreciate your time and effort!