Open source contributions
Often during development work we find ourselves implementing a small feature or extension to an open source tool that could also be useful to others.
When feasible we try to make this work available and usable by others, and in this small way give back something to the open source community that indirectly supports so much of our work.
2022
- ssciwr/setup-mesa-dist-win
- A Github Action to install Mesa3D on windows CI runners
- Useful for testing code that uses openGL on hardware without a dedicated GPU
- A list of projects using this action
- ssciwr/clang-format-wheel
- Python packaging of the clang-format tool for formatting C/C++ code
- Allows installation with: pip install clang-format
- Used by many users of the pre-commit framework through this hook
- ssciwr/ipywidgets-jsonschema
- Automatic generation of complex Jupyter widgets with ipywidgets
- Generation from JSONSchema validation schemes
- ssciwr/sphinx_lfs_content
- An extension to the Sphinx documentation system
- Ensures that the Git LFS extension is installed
- Especially useful when building documentation on ReadTheDocs
- ssciwr/cookiecutter-python-package
- Configurable template repository for starting new Python packages
- Integration with many services like GitHub Actions, ReadTheDocs etc.
- ssciwr/nbclick
- Turns Jupyter notebooks into command line applications
- Configuration values are read from the first cell using nbparameterise
- ssciwr/FakeMPI
- A sequential MPI stub based on PetSc's UniMPI
- Useful for compiling MPI-parallel applications in sequential contexts
- CMake Build System that allows FakeMPI to be recognized as an MPI implementation by other CMake projects
2021
- ssciwr/cookiecutter-cpp-project
- Configurable template repository for starting new C++ projects
- Modern CMake build system
- Possibility of pybind11-based Python bindings
- Integration with many services like Github Actions, ReadTheDocs, Codecov.io etc.
- ssciwr/pybind11-numpy-example
- A simple example of how to provide Python bindings from C++ using pybind11
- Exposes a std::vector from C++ as a numpy array in Python without copying the data
- Includes CI to build wheels and deploy them to PyPI