The classpoly package provides a low-level C implementation of the algorithms to compute class polynomials that are described in the papers:
Andrew V. Sutherland, Computing Hilbert class polynomials with the Chinese Remainder Theorem, Mathematics of Computation 80 (2011), 501-538,You are welcome to use and/or modify this software in your research provided you cite the papers above if/when you publish your work.
Portions of this software have been adapted and incorporated into Pari/GP by Hamish Ivey-Law where they can be accessed via the polclass function.
In addition to the source code, you will need various modular polynomials for each of the invariants you want to use. You can select these individually from the modular polynomials page, or use the second download link below to get all of them in a single compressed tarball.
Dependencies: ffpoly (v2 or later), gmp (v6 or later)
Download links: classpoly_v1.0.3.tar (1.2MB), phi_polys.tar.gz (1.1GB)