Skip to content

Contributing

Manu Murugesan edited this page Mar 13, 2026 · 1 revision

Contributing

Contributions to medicaid-utils are welcome! Here's how to get started.

Development Setup

# Clone the repository
git clone https://github.com/uc-cms/medicaid-utils.git
cd medicaid-utils

# Install in development mode
pip install -e .

# Install development dependencies
pip install pylint pytest

Running Tests

# Run the full test suite (316 tests)
pytest tests/

# Run tests for a specific module
pytest tests/preprocessing/
pytest tests/adapted_algorithms/

# Run a specific test file
pytest tests/adapted_algorithms/py_elixhauser/test_elixhauser.py

# Run with verbose output
pytest -v tests/

Code Quality

# Run the linter
pylint medicaid_utils

The CI pipeline runs both pylint and pytest on Python 3.11, 3.12, and 3.13 for every push.

Submitting Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b my-feature
  3. Make your changes
  4. Run tests: pytest tests/
  5. Run linter: pylint medicaid_utils
  6. Commit your changes with a descriptive message
  7. Push to your fork and open a pull request

Reporting Issues

Open an issue on GitHub with:

  • Python version and medicaid-utils version
  • Minimal code example that reproduces the issue
  • Full error traceback
  • Description of expected vs. actual behavior

Code Style

  • Follow existing patterns in the codebase
  • Use type hints for function signatures
  • Add docstrings in NumPy format
  • Keep functions focused and avoid over-engineering

Clone this wiki locally