Welcome to the forum!

Do you know how much he weighs? I know you said he's around 4 years old, so I'm wondering if it's just him being an adult male ball python. They frequently go off food for part of the year.

I don't know much about Giardia, but did the vet make sure it was gone? A 150 gallon tank is pretty large for a ball python, so I would definitely make sure it's very cluttered so he feels secure, and cover the back and 2 sides with paper. One mouse a week doesn't sound like enough for an adult. I know he's not eating for you now, but I would try to up how much food he's getting (either by giving him more mice at each feeding, or by switching him to small rats). I would try feeding him in his tank, and if he doesn't take it, leave it in with him overnight (since it's frozen/thawed). Make sure you only offer food once a week. They can go several months without eating, so if he doesn't eat, don't worry too much about it, and try again a week later.