Пікірлер
@gadeichhorn
@gadeichhorn Ай бұрын
thanks for great tool!
@aimestereo
@aimestereo 5 ай бұрын
wow, I was in need of monorepo tool. Now, I understand that can avoid its complexity: poetry + your plugins covers everything I need in most simple way. The biggest frustration, is why it's not popular, where're you people? you missing such a great tool!
@davidvujic
@davidvujic 5 ай бұрын
Thank you, I’m happy to hear that. Polylith also has support for other package & dependency management tools than Poetry nowadays, such as Hatch, PDM and Rye.
@ltraind3509
@ltraind3509 6 ай бұрын
Has anyone made a guide on how to setup VSCode or some other editor to run this? It seems useful, but I am having trouble running pytest and setting up local development to detect the modules as they are written. It seems some settings from default need to be changed to make it all work.
@davidvujic
@davidvujic 6 ай бұрын
Maybe the short guide here will help? davidvujic.github.io/python-polylith-docs/ide/
@davidvujic
@davidvujic 6 ай бұрын
If it's about running code interactively, like REPL Driven Development with VS Code, I have a guide for that here: davidvujic.blogspot.com/2022/08/joyful-python-with-repl.html
@davidvujic
@davidvujic 7 ай бұрын
Update: since this video, there is now also a Hatch Build Hook Plugin that will make Polylith fully supporting Hatch!
@davidvujic
@davidvujic 7 ай бұрын
You will find the docs here: davidvujic.github.io/python-polylith-docs/
@gaby1491
@gaby1491 7 ай бұрын
I like this pattern very much
@cswaroop2
@cswaroop2 Жыл бұрын
Thanks for showing how clojure ideas can be brought into python world.
@SivaharanRajkumar
@SivaharanRajkumar Жыл бұрын
Really nice plugin! Keep up the good work and the videos as well.
@davidvujic
@davidvujic Жыл бұрын
Thank you 🙏
@mattgosden
@mattgosden Жыл бұрын
I love this. One of my projects that has Microservices (each deployed in docker containers) in a mono repo was a fiddle to set up because of all those inports. I did a lot in the docker files to import the right modules (what you call components and bases here). But this polylith process splits out more logically using 'projects'. One thing I do notice though is that I develop on a different processor architecture than I deploy upon so my build step on the deployed stack will need to do the wheel build on the right architecture. But it seems to me that would be relatively easy to do with CICD such as Github actions. Thanks for doing this. I will be using this. Happy to contribute too if that's helpful.
@davidvujic
@davidvujic Жыл бұрын
I'm happy to hear that you like it! I would love to hear your feedback after trying it out.
@mattgosden
@mattgosden Жыл бұрын
@@davidvujic Will do. I'm creating a Microservices example now and making notes. Will share with you on GitHub once I commit up.
@radektomsej
@radektomsej Жыл бұрын
This is soo cool!!! Just one idea. You can also include projects into root pyproject.toml with `poetry add projects/<project_name>` to have your external packages versions in sync.
@davidvujic
@davidvujic Жыл бұрын
Thank you, I gotta try that out!
@funnywishbone
@funnywishbone 3 күн бұрын
This doesn't work for me. I wish it did though.
@candeiasalexandre
@candeiasalexandre Жыл бұрын
Hi David, great work creating a Monorepo-like experience in python !🙂 I have some doubts that are not necessarily related with the polylith way. If I have the following monorepo scenario: - I have a shared library, this library is a python package (and also a poetry package) - I have different projects that are themselves python/poetry packages, and use the shared library. Can I use the python polylith to generate a .whl of each of the projects that has the shared library also packaged inside the project .whl ? Thanks a lot!
@davidvujic
@davidvujic Жыл бұрын
Hi Alexandre! Are the shared libraries in your monorepo added in the "dependencies" section of the project-specific pyproject.toml file? The way I have it setup, is to include code (in tool.poetry.packages) and build each project separately (creating wheels and sdists).
@candeiasalexandre
@candeiasalexandre Жыл бұрын
​@@davidvujic I've added them in both, as a package and as a dependency. The issue that I had was that when I install the wheel of the project all the imports of the shared library fail. I tried this in a previous version of the multiproject-build plugin, so i will try again and let you know :)
@davidvujic
@davidvujic Жыл бұрын
@@candeiasalexandre Great! The early versions of it were a bit broken, but since v1 it does the building in a different way and should be fully compliant with how sdists and wheels are expected to be.
@davidvujic
@davidvujic Жыл бұрын
@@candeiasalexandre One thing: the Multiproject plugin only cares about fixing relative paths to local ones in the "packages" section in "tool.poetry". But I guess Poetry handles the "dependencies" section already.
@candeiasalexandre
@candeiasalexandre Жыл бұрын
@@davidvujic To give you some feedback, after upgrading to the last version of the Multiproject plugin. I tried to do the example that I explained before: simple shared library and many projects using imports from that library... and it worked fine :) Keep going with the good work David!
@MrVaruuu
@MrVaruuu Жыл бұрын
Champ!🎉
@davidvujic
@davidvujic 2 жыл бұрын
v0.2.0 of the Polylith plugin will add a proper README when creating a new workspace 😀
@davidvujic
@davidvujic 2 жыл бұрын
You’ll find more info about Polylith and why I’ve developed this thing here: davidvujic.blogspot.com/2022/02/a-fresh-take-on-monorepos-in-python.html