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:
- Browse open issues, especially those labelled
good first issue. - Check the project board for planned work.
- Fork the repository and create a feature branch.
- Follow Conventional Commits (
feat:,fix:,chore:). - Run formatting and linting before pushing:
pixi run -e build --frozen fmt
pixi run -e build --frozen lint - 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
- pixi installation: https://pixi.sh/latest/installation/
curl -fsSL https://pixi.sh/install.sh | sh - install global tools
pixi global install git make uv prek
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