I am working on a project of simulating orbit maneuvering. I have interfaced SGP4 with my current simulation code, however I realized that the orbit maneuvering cannot be done using SGP4. I am aware of the methods where all the perturbations are integrated and the state propagates. However, I haven't been able to find resources for doing the same. What are some good resources/modules which can do so. In GMAT I cannot add custom orientations as thrust that I am giving is dependent on the orientation of the Satellite. I also want to know the actual process which is followed while simulating orbit maneuvering of Satellites. (From the state vectors to the propagate step to the error convergence)
It's difficult to do with SGP4, since it's a mean element theory - here's a pretty good post on what that means: Nuances of the terms (mean / osculating / Keplerian / orbital) elements
So if you take the state vector given by SGP4, apply a delta-V to it, and try to stuff the elements back into a TLE, you're not going to get exactly what you expect. It really depends on what level of accuracy you need and how far out you're interested in propagating.
It's an ugly hack, but I have seen people simulate low, continuous thrust maneuvers by manipulating the drag parameter of the TLE.
If you want to use GMAT, I would recommend writing your own GMAT script to interface with Python. The good thing here is that GMAT is high fidelity, so you can leverage that without having to recode it. Moreover, if your thrust is to be applied based on the orientation of the spacecraft, you can define a spacecraft body reference frame and define your thrust vector on each thrust arc in that frame.
If you want to code it up from scratch, which can be a fun challenge, maybe will my code be handy. It has locally optimal control laws for continuous thrust propulsion and finite burns, all in the RNC frame.