Move to a monorepo #2330
Replies: 7 comments 3 replies
-
@wang-boyu what would you think of making Mesa-geo just a separate module of Mesa? |
Beta Was this translation helpful? Give feedback.
-
I agree in principle with this. However, we want to delineate what is in and out of scope carefully. For example, while going through the examples and updating them to the experimental grid spaces, I noticed a range of issues: massive code duplication, outdated and unpythonic code, and unusual models included in the examples. A similar argument can be made regarding the various other mesa libraries. So which of those would we consider part of the core of MESA and thus want to actively maintain and keep in sync with the core mesa library? |
Beta Was this translation helpful? Give feedback.
-
I have been thinking about the required tooling and uvs workspaces might be useful https://docs.astral.sh/uv/concepts/workspaces/ |
Beta Was this translation helpful? Give feedback.
-
PEP 735 – Dependency Groups in pyproject.toml just got accepted. Could make managing dependencies in a monorepo easier. PyPI tracking issue here: pypa/pip#12963 Edit: A draft PR to add support to uv workspaces was also already opened: astral-sh/uv#8104 |
Beta Was this translation helpful? Give feedback.
-
A monorepo with examples would allow me to simply click "open in GitHub Desktop": and start reviewing a PR. Now I first have to do a pip install, switch to mesa-examples. It's just really cumbersome and deters me from reviewing PRs as quickly as I did like. |
Beta Was this translation helpful? Give feedback.
-
Okay, here's my supposed approach: 1. Move examples
2. Integrate Mesa-Geo
|
Beta Was this translation helpful? Give feedback.
-
So I am a little slow on the uptake here, but I am still trying to internalize what happens across the stack if we go monorepo. I found this a pretty detailed eplanation .. https://medium.com/opendoor-labs/our-python-monorepo-d34028f2b6fa; but OpenDoor GitHub has 202 repos... does anyone have an exemplar on GitHub they can point me too? |
Beta Was this translation helpful? Give feedback.
-
We've discussed this often enough. Linking dependencies is hell. Examples not being in the main repo is hell. Mesa-geo being compatible with some and then with some others is also hell.
Let's go to a monorepo.
Everything you need to know: https://monorepo.tools/
Todo:
Retain git history at all costs.
Beta Was this translation helpful? Give feedback.
All reactions