For background, I work mostly in the terminal and edit code using vim. For long-term python projects I manage venvs and lock files in source control using poetry.
There are some modules I like to have installed in almost every venv I work in, such as ipython/ptpython, (pytest-)icdiff, and other "quality of life" extensions that I need not foist on project collaborators who don't use my workflow. I can install ptpython in the global scope using my distro's package manager (or pipx), but then when I run it, it does not run inside the local venv and local dependencies are not accessible. This gets obnoxious since I'm periodically recreating venvs as the lock files change. Right now I have a shell script that installs the things, but that feels like a hack.
An ideal solution might be a way to create something like a venv template, similar to the git templatedir option. Is there anything of such for Python?
The virtualenv module has an option to include system site packages in the venv:
python3 -m venv --system-site-packages .venv
There is a feature request to have support for this option added to poetry.
There is a nice overview of site packages in this thread.