4 ms·
The speed of the output of the compiler of the glue language almost does not matter. Whether it is Python or TypeScript, it will not matter. Typically people wi
by zelphirkalt 3y ago
The speed of the output of the compiler of the glue language almost does not matter. Whether it is Python or TypeScript, it will not matter. Typically people will not use pip directly in serious projects, except for quick and dirty package installs to prototype something. In any serious project I would expect people to use any of the package managers, that support creating a lock file. But then NPM for example is not better than poetry. Or at least I have not had a single case, where I thought: "Ah, if only it was behaving like NPM." Rather the opposite.
But anyway, the whole language specific package manager business is starting to annoy me. I would like to be able to simply use something like GNU Guix and sometimes I am able to do just that.
- crubier 3y ago> But then NPM for example is not better than poetry. Poetry is good exactly because it copied the concepts from NPM / Yarn. It's almost a port of NPM to the Python ecosystem, 8 years later.
- Elfir3 3y agoPoetry has more to do with pip and virtualenv than NPM to be honest.
- uranusjr 3y agoCitation needed. Poetry itself said Composer and Cargo were the main inspirations[1]. Both of them work differently from NPM; Poetry has mostly the same differences that its claim checks out. You would be in quite some surprises down the road if the sperficial similarities persuade you to apply one tool’s paradigm to another. [1]: https://github.com/python-poetry/poetry/tree/0.1.0#why https://github.com/python-poetry/poetry/tree/0.1.0#why
- crubier 3y ago> The speed of the output of the compiler of the glue language almost does not matter. Whether it is Python or TypeScript, it will not matter. Depends on the use case. For ML, sure, it doesn't. For web servers, it depends. For stuff like this React-like tool, it matters.
- Turskarama 3y agoIt matters if it's actually meant to be used on the web, but I suspect the use case here is an easy front end for small python program in which case it doesn't matter at all and python interop is critical.
- laurencerowe 3y agopip supports lock files. https://pip.pypa.io/en/stable/cli/pip_freeze/ https://pip.pypa.io/en/stable/cli/pip_freeze/
- zelphirkalt 3y agoThat is not a typical lock file. If it is, then it is a bad one. Lock files need checksums, not version numbers (oh well, both.). Version numbers do not protect from changes. At least not in all important cases or scenarios. I've had packages in the PHP world change their checksum and when I alerted them about it, they were like "So? We only changed some documentation of that version." ... Who knows what else people change in the same version. No. You need checksums.
- BerislavLopac 3y agopip-compile provides exactly that: https://pip-tools.readthedocs.io https://pip-tools.readthedocs.io
- zelphirkalt 3y agoOK, I guess the question is how pip-tools relates to pip then. Is it a random third party package (someone just grabbing that name) or who manages it? As it is, it looks like not part of pip. (But maybe you were merely posting it as an alternative?) I've never heard of it before. I have been using various tools already, including merely pip, pipenv, poetry. Do I need to look for the newest tool every month? It begins to feel like the JS ecosystem.
- BerislavLopac 3y agoThere are different tools for different purposes.
- di 3y agoPip supports checksums too. A better link might be https://pip.pypa.io/en/stable/topics/secure-installs/ https://pip.pypa.io/en/stable/topics/secure-installs/