Replies: 2 comments
-
Hi @billcrook, thank you for sharing feedback! Yes, that's how it is set up today. Each project need to have dependencies added in their respective I have that as a long-term goal for Python too, but believe there's a couple of things that need some experimentation and trying out. I have chosen to implement Polylith components and bases (aka bricks) as Python namespace packages. Initially I had an idea to have them as editable dependencies (libraries), to define the dependencies for a brick in there. But I leaned towards namespace packages instead, to avoid versioning, conflicting dependencies (such as different versions of a library) between bricks. As now, the tooling support will analyze code and highlight any missing dependencies (the Another thing that I have in the back of my head long-term is to implement something in-between to what's in Clojure and the third-party dependencies in Python: a Polylith-specific toml-file (or similar) for components. Maybe that's a bad idea, not sure 😄 |
Beta Was this translation helpful? Give feedback.
-
Great, glad you are thinking about it. For larger repos with many components and projects, I imagine the duplication of dependencies could get quite cumbersome.
My two cents, I would go as far as I could with standard dependency tooling first. IDE compatibility is important and a custom toml file would be a non-starter for some people. If you could get it to work where each component has a poetry pyproject.toml, I think IDEs like pycharm would have a much easier time with it. I have a few personal side-projects that would be better managed in this polylith style so I'm going to try it out. Thanks a bunch. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the interesting project. I've just started to dig in but one thing that stood out is the need to redeclare transitive dependencies of components. For instance:
So, the duplication of pendulum dependency can end up being N+1 where N=number of projects that use component A.
Ideally one would declare the pendulum dependency within component A once.
Any thoughts on this?
Beta Was this translation helpful? Give feedback.
All reactions