Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Contributing

Thank you for the interest in contributing to the TU Cookbook initiative! We accept contributions in the following areas:

Development on TU Wien GitLab

All development takes place on the TU Wien’s GitLab repository: https://gitlab.tuwien.ac.at/cookbooks. Here we track issues and feature/notebook requests.

Propose New Cookbooks

To propose new cookbooks contact ...

Propose Changes with Merge Requests to Existing Cookbooks

GitLab’s Merge Request (equivalent of GitHub’s Pull Request) are at the core of proposing new changes to the existing TU Cookbook collection. For a successful merge request check the following:

  1. Make sure that you follow the instructions for development as outlined belows

  2. Use the pre-commit hooks

  3. Check whether the GitLab CI checks pass

Contribution License

Any contribution to an existing Cookbook will under the same license that covers the current Cookbook, ....

Report Bugs using GitLab Issues

We use GitLab to track public bugs. If you want to report a bug, please open a new issue on the relevant TU Cookbook on https://gitlab.tuwien.ac.at/cookbooks.

How to write issues

A bug should be reported with details, back and sample code as well as data. The goals is to create a minimal reproducible example. Ideally this should contain:

Reference

This section was adapted from this guideline.

Development

Environment

To be determined... (conda, uv, etc.)

Testing

To ensure that the cookbook webpage can be deployed and the notebooks run on the dataLAB JupyterHub follow the next steps.

  1. Start Jupyter Lab from a Docker container:

    docker compose up
  2. Copy Jupyter Lab URL to web browser. Run all notebooks once to check if you added all dependencies to the pyproject.toml and whether external data can be accessed.

If the following steps are completed successfully then one can stop and remove the container.

  1. Stop Docker container with CTRL + C

  2. Remove container:

    docker compose down

Code Quality

Why Code Quality Matters

As a public showcase of the university research, the code must:

Enforcing Quality

We use automated tools to maintain standards. Follow these steps:

  1. Install pre-commit hooks

Run this command to enable automatic checks on every commit:

uvx pre-commit install
  1. Run Checks Manually

Use the uv toolrunner to execute tools:

# Format the code (ruff)
uvx ruff format

# Lint the code (ruff)
uvx ruff check  --fix

# Type check (ty)
uvx ty check

Key Tools

Best Practices for Academic Code