Editable Dependency Installation? #516
Replies: 2 comments 4 replies
-
Doing this as an environment plugin would also be alright, but I think this kind of functionality is useful to have in general for (albeit rare) cases of monorepo packages/developing packages which are closely linked together. For more context, I'm interested in this because of work on https://github.com/jupyter-server/jupyverse which uses a plugin architecture, where the main jupyverse project has multiple plugins that are all published independently, so they are all in a During plugin development it's essential to have all plugins installed in editable mode, which is why having the ability to specify all the plugins as editable installs would be useful. |
Beta Was this translation helpful? Give feedback.
-
I'd like to bump this. I have two repositories: a library and an application that is using it. The application is specifying the library in |
Beta Was this translation helpful? Give feedback.
-
The scenario I'd like to deal with is having multiple local dependencies installed in editable mode, for example a monorepo/project with a namespace layout might have a directory structure like:
With a corresponding
pyproject.toml
file like:As fas as I could tell from the docs/testing it doesn't seem possible to mark these dependencies to be installed in editable mode, but maybe I'm missing something? If it isn't possible then some approaches to this:
dev-mode-dirs
to work with environment installation as well as builds.editable-dependencies
, which would always perform apip install -e ...
on the provided dependency.-e proj @ URI
, which when found installs the dependency in editable mode.Option 2 would be the clearest, but would clutter up the tables with more fields (
editable-dependencies
, and probablyextra-editable-dependencies
); option 3 would avoid the clutter but would no longer be following PEP 508 and associated PEPs.Right now this is possible by using pre/post install scripts which just run
pip install -e ./path
, but this isn't ideal as it bypasses dependency resolution and can be a bit confusing if you don't know the purpose.For reference, here are related PEPs:
Beta Was this translation helpful? Give feedback.
All reactions