I usually avoid dependency injection containers in Python.
Not because dependency injection is bad. Most of us already do it when we pass objects into constructors. I avoid containers because small Python apps usually do not need one.
Manual wiring is often the right starting point:
repo = UserRepository()
email_sender = EmailSender()






