I am in the rather lengthy process of open sourcing a library for orbit propagation, but the previous art which is somewhat modern is the python rebound package. It's original design intent was for asteroid collision simulations, but it has been generalized a lot since then.
Most of the state of the art in the field is algorithms from the 60s/70s, the classic software which many people use are packages like Mercury, written in either fortran or C++.
These factors are why I am attempting to release my code to the (small) community.
How do the algorithms from something like Dan Boulet's "Methods of Orbit Determination" hold up to modern methods? I have the book, never actually did anything with it though, but have recently been thinking about giving it a try.
There are sort of two major camps in the field, the astronomers and the people who fly satellites. Having the thing you are measuring able to talk to you and get doppler measurements of its velocity is invaluable for orbit determination, so the modern techniques for the satellite group have probably continued to advance. Unfortunately on my side of the fence, rocks usually dont talk back and we have less information available for fitting. For a vast majority of the time all we get for asteroids are visible observations, which is very limited geometric information. The algorithms here have not advanced a whole lot for a looong time, Gauss famously developed the first optimization technique to find Ceres. The field still regularly uses "Gauss's Method" for orbit determination. There have been a few small improvements to numerical integrators, but the field as a whole tends to use the "tried and true" methods of the past. I had to go on ebay and get a bunch of texts from the 60s-80s as they are often the best, even now. The field is very very tiny, think maybe dozens to hundreds in the whole world.
Most of the state of the art in the field is algorithms from the 60s/70s, the classic software which many people use are packages like Mercury, written in either fortran or C++.
These factors are why I am attempting to release my code to the (small) community.