Skip to main content

Contributing

Contributing to dagster-slurm

We welcome contributions of all kinds—bug fixes, documentation improvements, new launchers, and cluster-specific recipes.

How to get started:

  1. Browse open issues, especially those labelled good first issue.
  2. Check the project board for planned work.
  3. Fork the repository and create a feature branch.
  4. Follow Conventional Commits (feat:, fix:, chore:).
  5. Run formatting and linting before pushing:
    pixi run -e build --frozen fmt
    pixi run -e build --frozen lint
  6. Open a pull request against main.

Coding conventions: Python 3.12, 4-space indentation, type hints on public APIs.

Reporting Issues

Found a bug or have a feature request? Open an issue.

To help us resolve issues quickly, please include:

  • dagster-slurm version
  • Python version and OS
  • Slurm version (if applicable, run sinfo --version)
  • A minimal reproducible example (ideally as a full git repository including the pixi-based dependencies with a lockfile and ideally reproduciblle with the docker-based local slurm cluster)
  • Full traceback or error output
  • Expected vs. actual behaviour

Seeking Support

  • GitHub Discussions — For questions, how-to requests, and general feedback, use GitHub Discussions. This is the preferred channel for conversations that are not confirmed bugs.
  • GitHub Issues — For confirmed bugs and feature requests.
  • Dagster Community Slack — For questions that span the broader Dagster ecosystem, join the Dagster Slack.

Development Setup

You have to have uv installed for the library development - but pixi for executing the examples.

Prerequisites

Development setup

git clone https://github.com/ascii-supply-networks/dagster-slurm.git
cd dagster-slurm
pixi run prek-install
pixi run prek-run

Useful commands during development

# fmt
pixi run -e build --frozen fmt

# lint
pixi run -e build --frozen lint

# test
pixi run -e build --frozen test

# documentation
pixi run -e docs --frozen docs-serve
pixi run -e docs --frozen docs-build

When committing - ensure semver compatible standard commit patterns are followed.

Dependency upgrade

pixi update
pixi run -e build --frozen sync-lib-with-upgrade
cd examples pixi update

Local slurm cluster

Start a local slurm cluster via

docker compose up
ssh submitter@localhost -p 2223
# password: submitter
sinfo