split shared code into a library package that client and server depend on
split code for server and client into separate directories / packages
figure out how to run only the appropriate tests for each commit in CI
put integration tests into separate directory from client and server
get packages ready for publishing to pip? at least the library should be published
what instructions we'd give an outside contributor to make sure they write all the tests they need for their change, even if change affects only one package
design should consider: