In this document, you will find some guidelines on contributing to Apache Iceberg. Please keep in mind that none of these are hard rules and they're meant as a collection of helpful suggestions to make contributing as seamless of an experience as possible.
If you are thinking of contributing but first would like to discuss the change you wish to make, we welcome you to head over to the Community page on the official Iceberg documentation site to find a number of ways to connect with the community, including slack and our mailing lists. Of course, always feel free to just open a new issue in the GitHub repo.
Pull requests are the preferred mechanism for contributing to Iceberg
- PRs are automatically labeled based on the content by our github-actions labeling action
- It's helpful to include a prefix in the summary that provides context to PR reviewers, such as
Build:
,Docs:
,Spark:
,Flink:
,Core:
,API:
- If a PR is related to an issue, adding
Closes #1234
in the PR description will automatically close the issue and helps keep the project clean - If a PR is posted for visibility and isn't necessarily ready for review or merging, be sure to convert the PR to a draft
Please refer to the Building section of the main readme for instructions on how to build iceberg locally.
For Java styling, check out the section
Setting up IDE and Code Style from the
documentation site. For Python, please use the tox command tox -e format
to apply autoformatting to the project.