The Python shell already allows a shell to be "dedicated" to a buffer. This patch adds the option to create a shell dedicated to a project, as well as the option to make all Python shells dedicated by default. Stefan: you mentioned python.el could use project.el without a hard dependency, so it remains compatible with old Emacsen. Is this a good approach? (Also: the added seq dependency is kinda superfluous now, but it's nice to have it available for future developments as well.) Philip: I'm working around the possible absence of 'read-multiple-choice' here. Not sure it's a popular/useful enough function to include in compat, but I thought I would bring this up.