This is easier to do with uv than it is with pip.
You can create venvs wherever you please and then just install stuff into them. Nobody forces the project onto you, at work we don't even use the .toml yet because it's relatively new, we still use a python_requirements.txt and install into a venv that is global to the system.
Way to go to create non-reproducible results. Basically, nothing production ready is rolling out of that one.
This is what the OP wanted. I don't agree to do it this way.
At work for us we use uv pip freeze to generate a more strict requirements file.
What I was referring to is:
> [...] at work we don't even use the .toml yet because it's relatively new, we still use a python_requirements.txt and install into a venv that is global to the system.
Unless your `python_requirements.txt` also carries checksums, like uv's lock files or poetry's lock files, that is. Though of course things get spicy and non-reproducible again, if you have then multiple projects/services, each with their own `python_requirements.txt`, all installing into that same global venv ...