Google Scholar ORCiD GitHub



Update fork
git remote add upstream {url_to_remote}
git fetch upstream
git rebase upstream/main
Remove local and remote branch

Note that a common usage of a fork is to open a pull-request, in particular from a branch on the fork:

git checkout -b patch
... # commits here

Once merged, you can delete the branch:

git checkout main
git branch -D patch
git push --delete origin patch
Update remote branch

When a remote branch is deleted from a repository, it can still show up in the local branch list.

Often .. code-block:: bash

git fetch

should suffice. However, sometimes you’ll have to do

git fetch --prune

See this StackOverflow discussion.

Generate patch

In case a new release cannot be made (because you don’t have access to a repository), but you still want to update a conda-forge recipe, you can add ‘patches’ to the recipe.

To this end, clone the repository

git clone

Move to the repository

cd somerepo

and determine the number of commits since the last release (e.g. 3). Then have git create the patches, using:

git format-patch -3

This will create a number of *.patch files (3 in this case). These patches can be added to the recipe. See for example the cling-feedstock.

Partial clone

Recently I came across a few repositories with a very rich history (corresponding to a huge disk-space, requiring also a significant downloading time). If one is not particularly interested in the histories, on can partially (shallow) clone a repository:

git clone --depth=5 ...


Add library to Conda environment

Conda is a great tool as a package manager and virtual environment together. Many (up-to-date) packages are available through conda-forge. However, ever to often you might want to install from a local source (for example to test the current master branch).

Start by activating the relevant Conda environment (e.g. “myenv”):

conda activate myenv

(see Conda documentation on how to manage environments).

Then, go to the library:

cd /path/to/library

Make sure that you have Python installed, e.g. using

conda install -c conda-forge python

Then, with the Python executable that is loaded (from myenv)

python -m pip install .

Make sure that you have CMake installed, e.g. using

conda install -c conda-forge cmake

Then, with the CMake executable that is loaded (from myenv)



Create movie with ‘ffmpeg-python’

ffmpeg-python is a great wrapper around ffmpeg to create your movie from Python.

Let us begin by setting up an environment that contains what we need:

conda activate myenv
conda install -c conda-forge ffmpeg-python
conda install -c conda-forge matplotlib

(see Conda documentation on how to manage environments).

Then, we will create an animation as a batch of images:

import matplotlib.pyplot as plt

filenames = []

for i in range(20):

    filename = 'image_{0:02d}.png'.format(i)
    filenames += [filename]

    fig, ax = plt.subplots()
    ax.plot([0, 1], [0, i])
    ax.set_ylim([0, 20])

To convert this to a movie, we will use ffmpeg-python:

import ffmpeg

    .input('image_%02d.png', framerate=2)
pybind11 examples

pybind11 examples. Some basic examples on how to start using pybind11. Pybind11 is a C++ library that allows to expose a C++ library to Python easily.


ParaView examples

ParaView examples. Some basic examples on how to make data available in ParaView.