Unless one is just a sucker for C++, it needs to be considered that the C++ code development time is several times longer than in the case of Python.
Probably until your Python code base reaches the tipping point and then get Big Ball of Muds.
C# is 3 times more productive than C++.
Why 3?
We wrote several own applications in both language (e.g. CAD libraries and optical holography ... stuff) as well as >> 20 years training developers ("time and motion" observations). The main reasons
for us are:
1. .NET has many great libraries
2. It has Reflection, you can generate code. C++ concepts will not be in our lifetime.
3. Easy debugging
4. No header file; just chunder your .cs files into the project
5.
C++ has no support for modules/assemblies, which is awful (dlls are not self-referencing)
6. C# interoperates with native C++ via C++/CLI
7. For risk apps, there is (P)LINQ.
Python is probably in the same boat as C++ looking downstream but too early to say. Who is maintaining > 10 KLOC Python code base?
The show-stoppers are 2 and 5.
On the other hand, C++ is the best and most intellectually stimulating language ever. It's Turing complete, i.e. template mechanism. C# generics choke when you want to do similar things. Try CholeskyDecomposition<[$]\mathbb {F}[$]>, [$]\mathbb {F}[$] is a field; in C# you have to write/emit 2 or more separate classes for [$]\mathbb {R}[$] and [$]\mathbb {C}[$]. Operator overloads +, * break down. Then you have to write/emit code for them for each class...