mlflow is a tool for experiment tracking and model registry. Below is an example script, which also uses Typer. This uses a local database to keep track of experiments and models, and the mlflow ui can be accessed using mlflow ui --port 8080 --backend-store-uri sqlite:///mlruns.db. These can both be replaced with cloud servers.
There is in-built autologging support for scikit-learn, pytorch lightning, keras, etc. More general model support is available, with an example for pymc and for pytorch.