Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 3.01 KB

CONTRIBUTING.md

File metadata and controls

80 lines (54 loc) · 3.01 KB

Contributing

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.

Getting started

  1. Fork the dagster-io/community-integrations repository on GitHub.

  2. Clone your forked repository

    # clone the repository
    git clone https://github.com/your-username/community-integrations.git
    
    # navigate to the directory
    cd community-integrations

Standards

  • 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, for example:

  • make test
  • make ruff
  • make check

Creating a new integration

Integrations live in the libraries/ folder of this repository. We recommend using uv for project management.

Packages are to be named dagster-contrib-<name> where <name> is the name of the tool or service that you are integrating with.

  1. Navigate to the libraries/ directory
    cd libraries
  2. Create a copy the _template integration
    cp -r _template dagster-contrib-<my-package>
  3. Replace the references of example-integration with the name of your module
  4. Update the README to include:
    • A clear description of what your integration does
    • Installation instructions
    • Usage examples
    • Any dependencies or prerequisites
  5. Add your integration code, ensuring it follows Dagster's best practices and coding standards.
  6. Include tests for your integration to ensure reliability.
  7. Create GitHub action workflows using the templates located at .github/workflows/template-*

Code review process

  1. A Dagster maintainer will review your pull request.
  2. Address any feedback or requested changes.
  3. Once approved, your integration will be merged into the main repository.

Community Guidelines

  • Be respectful and inclusive in all interactions.
  • Provide constructive feedback on other contributions.
  • Follow the Dagster code of conduct

Need Help?

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.