Thank you for your interest in contributing to PSDL (Patient Scenario Definition Language)! This document provides guidelines for contributing.
| Type | Description | Where |
|---|---|---|
| Specification | Propose language features, operators, semantics | rfcs/, spec/ |
| Implementation | Build runtimes, backends, tooling | src/psdl/ |
| Documentation | Improve guides, tutorials, examples | docs/ |
| Testing | Add conformance tests, find edge cases | tests/ |
| Examples | Share clinical scenarios and notebooks | src/psdl/examples/, examples/notebooks/ |
# Clone the repository
git clone https://github.com/Chesterguan/PSDL.git
cd PSDL
# Set up Python environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
# Run tests to verify setup
pytest tests/ -v- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Add tests for new functionality
- Run tests:
pytest tests/ -v - Update documentation if needed
- Push your branch:
git push origin feature/your-feature-name - Open a Pull Request on GitHub
- Fill out the PR template
- Wait for review
- Follow PEP 8
- Use type hints where appropriate
- Document functions with docstrings
- Keep functions focused and small
- Use consistent indentation (2 spaces)
- Include comments explaining clinical rationale
- Provide descriptions for all logic rules
For significant language changes, please:
- Open a Discussion first to gather feedback
- Write an RFC in
rfcs/using the template - Allow time for community review (minimum 2 weeks)
- Revise based on feedback
- Submit for final approval
# RFC: [Title]
## Summary
Brief description of the proposal.
## Motivation
Why is this change needed?
## Detailed Design
Technical specification of the change.
## Drawbacks
What are the downsides?
## Alternatives
What other approaches were considered?
## Open Questions
What remains to be decided?When reporting bugs:
- Check if the issue already exists
- Include a minimal reproducible example
- Specify your environment (Python version, OS, etc.)
- Describe expected vs actual behavior
All contributors must adhere to our Code of Conduct. We are committed to providing a welcoming and inclusive environment.
- Open a GitHub Discussion for questions
- Join our community channels (coming soon)
Thank you for helping make PSDL better!