How to contribute¶
History and the underlying motivation¶
The project started in 2021 with two main technical motivations:
the Google Colab team realesed in February 2021 an upgrade to their system to use python 3.7. This effectively detaches their python version from Ubuntu upstream packages, bacause python 3.7 is not supported by upstream Ubuntu 18.04 LTS (the newest supported version is 3.6). This means that a custom packaging pipeline needs to be implemented to support Colab.
the gcc suite available on Colab (although slightly newer than the one in Ubuntu 18.04 LTS), is still part of the 7.x series. This is too old for some of the target libraries in this project.
Contributing: reporting broken packages¶
Our release pipeline tries to mimick the Colab environment in order to package the libraries appropriately. However, since we currently have no way of access the true Colab environment, our released packages may break at any Colab environment update.
Please report broken packages by opening a new GitHub issue.
Contributing: maintaining a package¶
Packages are released automatically following a weekly schedule for end user packages, and a monthly schedule for the rest of the supported packages. To manually release an updated version of an existing package without waiting for the schedule, proceed as follows:
If an issue has been opened on our GitHub tracker reporting a broken package, please assign the issue to yourself to let users/maintainers know that you are working on it.
Go to the scheduled release workflow on our GitHub Actions and manually trigger a new build from the Run workflow dropdown. Make sure to insert the name of the library to build.
[Optional, but suggested if the reported issue was not detected by CI] After a successful workflow, please double check existing tests on an actual Colab runtime, by clicking on the Open in Colab badges in the README file in the package subfolder.
[Optional, but suggested if the reported issue was not detected by CI] Similarly, double check existing tests of any downstream dependency of the updated package. See our dependency graph to determine downstream packages that need checking.
Please get in touch with us by email if you are interested in helping maintaining a package.