Back to Daft

Contributing to Daft

docs/contributing/overview.md

0.7.106.8 KB
Original Source

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

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:

  1. Operating system
  2. Daft version
  3. Python version
  4. 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:

  1. Feature Summary (no more than 3 sentences)
  2. Example usage (pseudo-code to show how it is used)
  3. 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.	Link an approved issue (Fixes #…).
2.	Include tests or explain why not.
3.	Keep PRs small; large changes require a plan/design note and should be split.
4.	Disclose material AI usage and what you verified.

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:

GitHubAffiliationFocus Areas
@conceptofmindTeraflop AIPerformance and UDF bug reports
@everySympathyByteDanceSeries slicing, partition optimization
@gweaverbiodevCloudKitchenspyiceberg support, UDF improvements
@kevinzwangSkyPilotCore refactoring (arrow2 migration), UDF system, vLLM, type conversions
@pdamesNvidiaCatalog support and improvements
@VOID001ByteDanceDashboard features, SQL error handling
@caican00Xiaomi

Maintainers/Merge:

Maintainers who additionally have merge access to the repository.

NameGitHubAffiliation
Chris Kellogg@cckelloggEventual
Colin Ho@colin-hoEventual
Cory Grinstead@universalmind303Eventual
Desmond Cheong@desmondcheongzxEventual
Everett Kleven@everettVTEventual
Jay Chia@jaychiaEventual
Jeev Balakrishnan@jeevbEventual
Oliver Huang@ohbhEventual
R. C. Howell@rchowellEventual
Rohit Kulshreshtha@rohitkulshreshthaEventual
Sam Stokes@samstokesEventual
Sammy Sidhu@samster25Eventual
Srinivas Lade@srilmanEventual
Varun Madan@madvartEventual
YK@ykdojoEventual
Kejian Ju@Jay-juBytedance
Leilei Hu@huleileiBytedance
Zhenchao Wang@plotorBytedance
Zhiping Wu@stayrascalBytedance

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.

NameGitHub
Jay Chia@jaychia
Sammy Sidhu@samster25
Varun Madan@madvart