I want to clarify that, the visualife.js file that I got, had 278050 bytes, which was very close to what Pierre got at 277536 bytes. (They are both 272KB, while 1KB=1024 bytes.) Under the hood, brip still uses brython-cli to generate the .js file, so the output would be effectively the same.
The potential issue when directly using brython-cli, is that it makes an assumption that "every python file in current directory and its sub-directory belong to this project". That was the reason for
https://github.com/brython-dev/brython/issues/1603
Brip bypasses such an issue, by always creating a new, empty, temporary directory, and setup a clean environment there with only the specified packages, then brip will call brython-cli to finish the actual .py->.js conversion.
Regards,
Ray