Contribute code#
This page explains how you can contribute code to the project.
See also
The Coding guidelines page presents the coding guidelines that you should follow when contributing to the project.
Fork the project#
The first step is to fork the project on GitHub. You can do that by visiting DataLab GitHub project and clicking on the “Fork” button on the top right corner of the page.
Once you have forked the project, you will have a copy of the project in your own GitHub account. Then you can clone the project on your computer and start working on it.
Submit a pull request#
Once you have made some changes, you can submit a pull request to the original project. To do that, go to your forked project on GitHub and click on the “Pull request” button on the top right corner of the page.
Then you will have to fill a form to describe your pull request. Once you have submitted the pull request, the project maintainers will review your changes and merge them if they are satisfied.
During the review process, the project maintainers will check that your code follows the coding guidelines and that it does not break the existing tests. If your code does not follow the coding guidelines, you will have to fix it before your pull request can be merged.
Maintainer tasks#
A few maintenance tasks are intentionally not run by the release CI and must be performed locally on a Windows workstation by a project maintainer. They produce committed assets that the CI then consumes as-is.
Refreshing documentation screenshots#
The PNG files under doc/images/ are versioned. They are regenerated by launching DataLab and capturing its dialogs / panels — a step that requires a real desktop session (the Xvfb-based CI runner hangs on DataLab’s GUI startup and the rendering depends on system fonts/theme, making it non-deterministic across runners).
The screenshot pipeline produces per-language files (foo.fr.png / foo.en.png) thanks to Sphinx’s figure_language_filename configuration. RST sources reference the unsuffixed name (foo.png); each language build automatically picks the matching suffix when available and falls back to the unsuffixed file otherwise.
Re-run this whenever a change affects the rendered UI (menus, dialogs, panels, themes):
scripts\update_screenshots.bat
or via the 🖼️ Refresh doc screenshots VS Code task. Commit the new / updated PNGs under doc/images/shots/ in a dedicated commit (e.g. docs: refresh screenshots). Once a foo.fr.png + foo.en.png pair exists for a given asset, the unsuffixed foo.png becomes a pure fallback and can be removed in a follow-up cleanup commit.
Regenerating graphical resources#
The application icon (resources/DataLab.ico) and the WiX installer bitmaps (wix/dialog.bmp, wix/banner.bmp) are generated from SVG sources. Re-run only when the SVG sources change:
scripts\build_resources.bat
or via the 🎨 Generate resources VS Code task.