Contributing to Edsger

We welcome contributions to the Edsger library! This document provides guidelines for contributing to the project.

Getting Started

Development Environment

  1. Clone the repository:

    git clone https://github.com/aetperf/Edsger.git
    cd Edsger
    
  2. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install development dependencies:

    pip install -r requirements-dev.txt
    pip install -e .
    

Development Guidelines

Code Style

  • Follow PEP 8 for Python code

  • Use meaningful variable and function names

  • Add docstrings to all public functions and classes

  • Keep functions focused and concise

Testing

  • Write tests for all new features

  • Ensure all tests pass before submitting a pull request

  • Aim for high test coverage

Documentation

  • Update documentation for any new features or changes

  • Use clear and concise language

  • Include examples where appropriate

Submitting Changes

  1. Fork the repository on GitHub

  2. Create a new branch for your feature or bugfix

  3. Make your changes and commit them with clear commit messages

  4. Push your branch to your fork

  5. Submit a pull request with a clear description of your changes

Reporting Issues

When reporting issues, please include:

  • A clear description of the problem

  • Steps to reproduce the issue

  • Expected vs actual behavior

  • System information (OS, Python version, etc.)

Questions?

If you have questions about contributing, please open an issue on GitHub or contact the maintainers.

Thank you for contributing to Edsger!