Since I couldn't find any library or easy way to draw an arc, I actually implemented it from scratch (in collaboration with my student Ederson Cássio) by drawing a PolyLine with many points, carefully computed, as suggested by @MCO .
The algorithm is based on the geometry of an arc but, since it's a bit complicated instead of presenting it here, I think it's better to look at our implementation in the source code. It's been highly testes to you can simply reuse it if you need. The code is available as open source at https://gitlab.com/interscity/bike-science/-/blob/master/bikescience/arrow.py
The python function draw_arrow() draws an arc arrow. It worked well for my intent. I could easily draw hundreds of arcs in a fraction of a second. It's used, for example, in this online interactive dashboard that shows the bicycle flows in the city of São Paulo: http://bikescienceweb.interscity.org/ (for the English version, click on the "en" on the footer.