snowflake-kafka-connector
April 15, 2026 ยท View on GitHub
The Snowflake Kafka Connector is a plugin for Apache Kafka Connect. It ingests data from a Kafka Topic into a Snowflake Table.
Official documentation for the Snowflake Kafka Connector
Contributing
Guidelines
The following requirements must be met before you can merge your PR:
- Tests: all test suites must pass, see the test README
- Formatting: Java sources must pass Google Java Format (
./format.sh) and Python test code must passruff check+ruff format --check. The pre-commit hook runs both automatically. - CLA: all contributers must sign the Snowflake CLA. This is a one time signature, please provide your email so we can work with you to get this signed after you open a PR.
Thank you for contributing! We will review and approve PRs as soon as we can.
Pre-commit hook
A pre-commit hook is provided in .githooks/ that enforces the same formatting checks as CI.
Python formatting is skipped when ruff is not available. To enable the hook:
git config core.hooksPath .githooks
Unit tests
mvn package -Dgpg.skip=true
Runs all test files in src/test that do not end with IT. Requires SNOWFLAKE_CREDENTIAL_FILE to be set.
Integration tests
mvn verify -Dgpg.skip=true
Runs all test files in src/test, including unit tests.
End-to-end tests
Refer to test/README.md.
Third party licenses
Custom license handling process is run during build to meet legal standards.
- License files are copied directly from JAR if present in one of the following locations: META-INF/LICENSE.txt, META-INF/LICENSE, META-INF/LICENSE.md
- If no license file is found then license must be manually added to
process_licenses.pyscript in order to pass build