Contributing to Daft#
Daft is an open-source project and we welcome contributions from the community. Whether you're reporting bugs, proposing features, or contributing code, this guide will help you get started.
Quick Start#
- Found a bug? 🐛 Report it here
- Have a feature idea? 💡 Start a discussion
- Want to make your first PR? 🚀 Contribute new code
Reporting Issues#
To report bugs and issues with Daft, please file an issue on our issues page.
Additionally, please include the following information in your bug report:
- Operating system
- Daft version
- Python version
- Daft runner (native or Ray)
Proposing Features#
We highly encourage you to propose new features or ideas. Please start a GitHub Discussion in our Ideas channel.
When proposing features, please include:
- Feature Summary (no more than 3 sentences)
- Example usage (pseudo-code to show how it is used)
- Corner-case behavior (how should this code behave in various corner-case scenarios)
Contributing Code#
All non-trivial PRs are required to be linked to an issue that has been approved by a maintainer.
Contribution bar (non-trivial PRs):#
1 2 3 4 | |
Non-trivial PRs that do not meet these requirements may be closed without review.
Trivial PRs#
Trivial PRs (docs, typos, small test fixes, clearly scoped bugfixes) may bypass the issue requirement, but must be labeled no-issue-needed by a maintainer.
What counts as non-trivial#
A PR is considered non-trivial if it: • Changes behavior, APIs, or performance • Touches core execution/planning logic • Adds dependencies or new features • Is large in scope (e.g. > ~300 LOC or many files)
When in doubt, open an issue first.
For detailed development instructions, see our Development Guide.
Governance#
The Daft project is governed by a community of contributors who have helped shape the project into what it is today. Members contribute in different ways and take on a variety of roles.
Maintainer#
A Maintainer is a recognized Contributor who has demonstrated sustained, meaningful contributions to the project. Maintainers are nominated by existing Maintainers or PMC members and approved by a majority vote of the PMC.
- Maintainer/Review: Recognized contributors with review (and approval) permissions
- Maintainer/Merge: Maintainers additionally with merge access to the repository
Maintainers/Review:
| GitHub | Affiliation | Focus Areas |
|---|---|---|
| @conceptofmind | Teraflop AI | Performance and UDF bug reports |
| @everySympathy | ByteDance | Series slicing, partition optimization |
| @gweaverbiodev | Atoms | pyiceberg support, UDF improvements |
| @kevinzwang | SkyPilot | Core refactoring (arrow2 migration), UDF system, vLLM, type conversions |
| @pdames | Nvidia | Catalog support and improvements |
| @VOID001 | ByteDance | Dashboard features, SQL error handling |
| @caican00 | Xiaomi |
Maintainers/Merge:
Maintainers who additionally have merge access to the repository.
| Name | GitHub | Affiliation |
|---|---|---|
| Chris Kellogg | @cckellogg | Eventual |
| Colin Ho | @colin-ho | Eventual |
| Cory Grinstead | @universalmind303 | Eventual |
| Desmond Cheong | @desmondcheongzx | Eventual |
| Everett Kleven | @everettVT | Eventual |
| Jay Chia | @jaychia | Eventual |
| Jeev Balakrishnan | @jeevb | Eventual |
| Oliver Huang | @ohbh | Eventual |
| R. C. Howell | @rchowell | Eventual |
| Rohit Kulshreshtha | @rohitkulshreshtha | Eventual |
| Sam Stokes | @samstokes | Eventual |
| Sammy Sidhu | @samster25 | Eventual |
| Srinivas Lade | @srilman | Eventual |
| Varun Madan | @madvart | Eventual |
| YK | @ykdojo | Eventual |
| Kejian Ju | @Jay-ju | Bytedance |
| Leilei Hu | @huleilei | Bytedance |
| Zhenchao Wang | @plotor | Bytedance |
| Zhiping Wu | @stayrascal | Bytedance |
Project Management Committee (PMC)#
The PMC provides oversight and governance for the Daft project. PMC members have voting rights on community decisions, including approving new Maintainers and setting the strategic direction of the project.
| Name | GitHub |
|---|---|
| Jay Chia | @jaychia |
| Sammy Sidhu | @samster25 |
| Varun Madan | @madvart |