Disclaimer: I'm the author and lead developer of poliastro. Happy to see many others are recommending it, though! :) I also work for Satellogic, the company that open sourced orbit-predictor.
I have personal experience with two libraries: poliastro and orbit-predictor (see disclaimers above).
poliastro provides a generic framework for initial orbit determination and preliminary orbit analysis, currently focused on interplanetary applications. In our roadmap we explicitly mention adding more Earth-specific functionality, which is something we will keep doing this year (thanks to OpenAstronomy being selected in Google Summer of Code). This includes adding a semianalytical propagator accounting for J2 effects, among others. At the moment, you can simulate this by using the generic Cowell method and adding a J2 perturbation force, like demonstrated in the User Guide.
orbit-predictor is kind of a high-level wrapper for python-sgp4, the venerable SGP4 implementation maintained by Brandon Rhodes (recently with new releases). It provides Predictor
objects that serve as propagators, like TLEPredictor
, KeplerianPredictor
(unperturbed) and J2Predictor
(accounting for J2). The latter has factory methods to create Sun-synchronous satellites and whole constellations, and convenience methods to compute the passes over a location with some geometrical constraints, the eclipse duration, and the next eclipses (we are adding the latter as we speak). The documentation is not so good though, so my recommendation would be to read the source code.
Extra historical insight
In poliastro we rewrote the API using Plyades as inspiration (thanks Helge!) but Plyades is now unmaintained because its author moved on to write JuliaAstro. Other packages like orbital suffer from the same thing. Please check out the project activity before making a choice :)
Speaking of which:
cohesive effort to merge Plyades, PoliAstro and other orbital mechanics Python software (the Python Astrodynamics Project)
The Python Astrodynamics project was an effort Helge, Frazer and I started to merge these three packages, but early on we found some disagreements so it never really started off. It was replaced by the OpenAstrodynamics Initiative, which states that it's better to spark diversity and collaboration through open standards and protocols than trying to coalesce projects into one.