Will mojo let third parties handle the compiler distribution and packaging like python?
The cpython core team and steering council has the responsability of providing the source code but not to distribute it. It also doesn't have the responsability of defining how the packaging should be done.
This is a huge issue as third parties must implement tools to do this and there are many different tools now. Let's take for the installation:
- anaconda
- the py installer on windows from the windows store
- the installer from the python.org website
- rye
- deadsnakes
- pre-installed python in ubuntu
- ...
Since there is no solution that is "blessed" by the core team, newcomers don't understand how to install Python. Python.org just provide the source code and no installer on linux for example (python beginners have to compile python themselves.
)
There is also no tool to change easily the version of python (anaconda does it but it doesn't work with Pypi).
For the packaging of the code, many tools are available:
- poetry
- anaconda
- pyproject.toml
- setup.py
- pip tools
- pip
- twine
- ...
Navigating among all those tools for non-experts is very hard.
Let's be honest, it's hell for beginners who usually want one "blessed" solution that works well and satisfy 95% of use cases. For the extreme use cases, third party tools should be available.
I know experienced (4y+) Python devs who are unable to make multiple packages depend on each other inside a monorepo because there is no clear standard. They are unable to change python versions without destroying their whole dev environment.
Can Mojo take example on rust which seems to be the gold standard for distribution and packaging?
This is a huge issue as third parties must implement tools to do this and there are many different tools now. Let's take for the installation:
- anaconda
- the py installer on windows from the windows store
- the installer from the python.org website
- rye
- deadsnakes
- pre-installed python in ubuntu
- ...
Since there is no solution that is "blessed" by the core team, newcomers don't understand how to install Python. Python.org just provide the source code and no installer on linux for example (python beginners have to compile python themselves.
There is also no tool to change easily the version of python (anaconda does it but it doesn't work with Pypi).
For the packaging of the code, many tools are available:
- poetry
- anaconda
- pyproject.toml
- setup.py
- pip tools
- pip
- twine
- ...
Navigating among all those tools for non-experts is very hard.
Let's be honest, it's hell for beginners who usually want one "blessed" solution that works well and satisfy 95% of use cases. For the extreme use cases, third party tools should be available.
I know experienced (4y+) Python devs who are unable to make multiple packages depend on each other inside a monorepo because there is no clear standard. They are unable to change python versions without destroying their whole dev environment.
Can Mojo take example on rust which seems to be the gold standard for distribution and packaging?
