oso
oso copied to clipboard
Pray for poetry workspaces
What is it?
Currently the python packages in our repo basically operate in the context of a giant pyproject. This is because we want to have common libraries that reference each other, like you would in a typical monorepo. Poetry doesn't seem to have the concept of workspaces like yarn or pnpm does, so it doesn't handle this kind of cross-linking gracefully.
This is the main thing that prevents us from having pyproject.toml files in every separate package with its own scripts and dependencies like you would expect in a purely Node.js monorepo
Once poetry workspaces exists, we can
- [ ] Create a pyproject.toml for each python package
- [ ] Create a package.json for each python package that wraps
poetry runcommands that can be handled by Turbo monorepo - [ ] Actually use Turbo in the way we expect for all Python packages
🙏 🙏
If there was a reason to switch to uv, the top reason for me would actually be the workspaces support
https://docs.astral.sh/uv/concepts/projects/workspaces/