The test suite fails during pytest initialization because the --pre CI job installs starlette==1.0.0rc1. In Starlette 1.0.0rc1, the Starlette(...) (and Router) constructor no longer accepts on_startup / on_shutdown (replaced by lifespan). Solara’s pytest plugin imports solara.server.starlette, which constructs a Starlette app using the removed on_startup keyword, causing pytest to crash before tests run.
This does not reproduce on the non---pre job (e.g. starlette==0.52.1).
Starlette release notes for 1.0.0rc1 confirm the removal of on_startup/on_shutdown:
Removed
Remove on_startup and on_shutdown parameters from Starlette and Router. Use the lifespan parameter instead Kludex/starlette#3117.