While I wouldn't say opencv makes it simple they do provide functions like findChessboardCorners, CharucoDetector, stereoCalibrate - even code to generate printable calibration patterns.
And these days, you can get an LLM to stitch those functions together
And these days, you can get an LLM to stitch those functions together