Skip to content

Latest commit

 

History

History
87 lines (71 loc) · 2.08 KB

File metadata and controls

87 lines (71 loc) · 2.08 KB

Contributing to OpenLabel Validator

We welcome contributions to the OpenLabel Validator project! This document provides guidelines for contributing.

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally:
    git clone https://github.com/your-username/openlabel-validator.git
    cd openlabel-validator
  3. Create a virtual environment:
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  4. Install dependencies:
    pip install -r requirements.txt

Development Workflow

  1. Create a new branch for your feature or bug fix:
    git checkout -b feature/your-feature-name
  2. Make your changes
  3. Run tests to ensure everything works:
    python -m pytest tests/
  4. Test your changes manually:
    python validate_openlabel.py examples/valid_example.json
  5. Commit your changes:
    git add .
    git commit -m "Add your descriptive commit message"
  6. Push to your fork:
    git push origin feature/your-feature-name
  7. Create a Pull Request on GitHub

Code Standards

  • Follow PEP 8 style guidelines
  • Add type hints where appropriate
  • Include docstrings for new functions and classes
  • Keep functions focused and small
  • Use meaningful variable and function names

Testing

  • Add tests for new functionality
  • Ensure all existing tests pass
  • Test with different Python versions if possible
  • Test with various OpenLabel file formats

Areas for Contribution

  • Additional validation features
  • Performance improvements
  • Better error messages
  • Documentation improvements
  • Additional output formats (JSON, XML)
  • Integration with CI/CD systems
  • Support for OpenLabel schema versions

Reporting Issues

When reporting issues, please include:

  • Python version
  • Operating system
  • Steps to reproduce the issue
  • Sample files that demonstrate the issue (if applicable)
  • Full error messages

Questions?

Feel free to open an issue for questions or start a discussion in the repository.

Thank you for contributing!