Pygame OpenGL 3D Engine

I want to program a 3D game but I don’t want to use Ursina, so I looked at the tutorials from Coder Space (Let's code 3D Engine in Python. OpenGL Pygame Tutorial - YouTube). Unfortunately, the tutorial only shows how to load 3D objects but not how to interact with them (eg call a function when an object is clicked) and unfortunately I don’t understand anything about OpenGL either. If you know how to do something from the list below please write to me:

  1. Run a function when an object is clicked or set a variable to true if the center of the camera is pointing at the object.
  2. Set a variable to true if one object touches another.
  3. Distorting the camera’s field of view.