We're excited that you're interested in contributing to the Dagster community integrations repository!
This project aims to foster growth and collaboration within the Dagster ecosystem by providing a space for users to share their custom integrations without needing to manage the build or release process of their packages.
Need help or want to talk to someone first? Join us in our Slack in the #community-contributions channel.
-
Fork the
dagster-io/community-integrationsrepository on GitHub. -
Clone your forked repository
# clone the repository git clone https://github.com/your-username/community-integrations.git # navigate to the directory cd community-integrations
- Standard code formatting is enforced using the Ruff package.
- Unit tests should be included for core functionality of the integration.
- Running a static type checker like Pyright is heavily encouraged.
For each integration, unit tests, formatting, and Pyright are required to pass before it can be merged into the main branch.
Each integration typically includes a Makefile that will have directives for the above checks:
make testmake ruffmake check
Integrations live in the libraries/ folder of this repository. We recommend using uv for project management.
Packages are to be named dagster-<name> where <name> is the name of the tool or service that you are integrating with.
-
Navigate to the
libraries/directory:cd libraries -
Create a copy the
_templateintegration:cp -r _template dagster-<my-package>
-
Replace the references of
example-integrationwith the name of your module. -
Update the README to include:
- A clear description of what your integration does
- Installation instructions
- Usage examples
- Any dependencies or prerequisites
-
Add your integration code, ensuring it follows Dagster's best practices and coding standards.
-
Include tests for your integration to ensure reliability.
-
Create GitHub Actions workflows using the templates located at
.github/workflows/template-*.
You can replicate most of the GitHub Actions workflows locally using act. This provides a smoother development experience than pushing to GitHub and waiting for GitHub Actions to run on each commit.
-
Follow the installation instructions on the
actwebsite. -
Make sure you're in the root of the
community-integrationsrepository (i.e. the folder containing the hidden.githubfolder). -
Ensure Docker Engine is running.
-
Run a workflow using the
actcommand. For example:act -W .github/workflows/quality-check-dagster-anthropic.yml
Note
To run a workflow that uses testcontainers, use the following workaround:
act --env TESTCONTAINERS_HOST_OVERRIDE=`ipconfig getifaddr en0` -W .github/workflows/quality-check-dagster-iceberg.yml- A Dagster maintainer will review your pull request.
- Address any feedback or requested changes.
- Once approved, your integration will be merged into the main repository.
- Be respectful and inclusive in all interactions.
- Provide constructive feedback on other contributions.
- Follow the Dagster Code of Conduct.
We love collaboration and want to enable you. If you are unsure of where to start, please reach out.
You can join us either on Slack or on GitHub, in discussions or by opening an issue.
Thank you for contributing to the Dagster community! Your efforts help make data orchestration more accessible and powerful for everyone.