Rob Allen, a PHP and web developer, writes short technical tips on Git, macOS, Python tooling, and CI.
HN links it for practical tips like ignoring mass-reformat commits in git blame, Apple Watch sudo authentication, and Python script dependencies with uv.
Given that you're comfortable with a shared PHP host, I'd assume this would comfortably run on a single Heroku dyno?
If so, a single dyno running 24/7 is $7 a month. If that's still too expensive, you could use a free dyno and setup an AWS Lambda which triggers it every ~15 minutes, which would effectively be free.
There's also a number of niche hosts, e.g. zeit[0] (FWIW, haven't used it before, not necessarily endorsing or recommending them) which offer free or cheap managed hosting.
If you're interested in a solution which is potentially a little more interesting and also effectively free for low traffic, you could run your PHP application within AWS Lambda[1].
Unfortunately I can't comment on legit shared hosts (e.g. Bluehost, Godaddy, etc.) because I generally try to avoid them.
Edit: You could also put it on AWS Lightsail, Linode, Digital Ocean, etc. but from your mention of Heroku and desire for shared hosting, I'm guessing you don't want to configure a VPS.
[0]: zeit.co
[1]: https://akrabat.com/serverless-php-on-aws-lamda/
This looks like a job for https://akrabat.com/ignoring-revisions-with-git-blame/
That says to list all the annoying commits in a file, then use a new-ish (Git version 2.23) Git feature to ignore all those commits when doing git blame.
Notice that one of the comments in that article says how to get everyone to use that ignore file, when using GitLens with VSCode.
Seems that it interprets a special comment block, then automatically creates a python venv and gathers dependencies. As the post[1] says, it obviates "faffing" with venv and pip to run a script.
https://akrabat.com/defining-python-dependencies-at-the-top-of-the-file/
If you want to do the same but auth with your Apple Watch, you can follow this[1] guide.
[1] https://akrabat.com/add-apple-watch-authentication-to-sudo/
https://akrabat.com/ignoring-revisions-with-git-blame/