Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About this project #20

Open
frostming opened this issue Oct 27, 2023 · 3 comments
Open

About this project #20

frostming opened this issue Oct 27, 2023 · 3 comments

Comments

@frostming
Copy link
Owner

The birth of this project is because I wanted to experiment with the Monorepo paradigm in Python. But later on, I gradually realized that the design of this project - supporting unspecified package managers - greatly affected its actual effectiveness, making it impossible for me to implement more convenient features in this tool, such as installing dependency groups and a top-level lockfile.

Therefore, I will focus my energy on implementing Workspace in PDM next and porting most of the functionality of this tool, hopefully. Of course, you can continue using this tool. If you feel that it fully meets your needs, that's great. But if you think this tool is incomplete and lacks many features, I would also like to hear from you so that I can improve it in PDM.

@frostming frostming pinned this issue Oct 27, 2023
@HuM4NoiD
Copy link
Contributor

This might be the wrong issue to ask this, but is the workspace/monorepo management functionality going to be a plugin that can be installed optionally along with PDM or will it be included directly into the PDM repo as major/breaking change affecting other plugins?

Also I had a seperate question on maintaining sibling dependency versions at #21 and I wanted PDM or monas to support such a versioning scheme, but did not want to add a long text post to this issue so I made it as a seperate issue.

@rudeigerc
Copy link

I'm not sure whether my understanding is approproate.

I consider that the relationship between monas and pdm could be similar to the one between turbo and pnpm in Node.js. pnpm provides the basic support of monorepo with pnpm workspace, and turbo provides the optimized support such as tasks management and build cache.

@joaomcarlos
Copy link

joaomcarlos commented Nov 24, 2023

PDM - at the time of writing - already supports monorepos (slightly differently than monas I guess).

Is my assumption that Monas will be going away and instead be available inside PDM?

The goal of supporting unspecified package managers is not a good one to have. Python, although old, still seems to be in its infancy in many areas. Packaging in general being one of them. The other one is the whole import system.

From what I have seen, PDM looks fantastic. And its native support for Monorepos is just the cherry on top.

Its a major step forward towards getting Python out of its infancy stage. Major kudus!

If only ... everyone else would follow.

Currently using pipenv, but it behaves like a drunk midget. Its in dire need of rehab. We are testing out PDM in some side projects but so far so good! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants