5 ms·
If anyone else is also barely aware and confused by the similar names, PyPI is the Python Package Index, which is up and maintained. PyPy is "A fast, compliant
by the_jeremy 7mo ago
If anyone else is also barely aware and confused by the similar names, PyPI is the Python Package Index, which is up and maintained. PyPy is "A fast, compliant alternative implementation of Python." which doesn't have enough devs to release a version for 3.12[0].
[0]: https://github.com/orgs/pypy/discussions/5145 https://github.com/orgs/pypy/discussions/5145
- Muhammad523 7mo agoThanks. I knew this already but keep forgetting and getting confused
- with 7mo agoThanks, I also saw this as PyPI and was confused, lol
- blahgeek 7mo agoReminds me of Cython vs CPython
- throwaway27448 7mo agoWhat is cpython? I don't think I've heard of this one before. Edit: it's just python. People are pretending like other attempts to implement this are on equal footing
- paulddraper 7mo agoThe project has self described as CPython for many years. It’s literally the name of the repo [1]. There’s no grounding to feign surprise or concern anymore. Moreover, I have used PyPy for years to beat the pants off CPython programs. [1] https://github.com/python/cpython https://github.com/python/cpython
- itishappy 7mo agoCPython (the compiler) is the most popular implementation of Python (the language) like GCC, Clang, and MSVC (compilers) are implementations of C (the language). Other Python implementations include PyPy, Jython, and IronPython. Nobody is "pretending" anything. These have all been around for 15+ years at this point. Your ignorance does not imply intent to deceive on others part.
- em-bee 7mo agosaying the most popular hides the actual reason why it is popular though. it is the original python implementation. it defines the standard and functions a reference for all others. for better or for worse other implementations have to be bug-compatible with it, and that is what puts them not on equal footing. for C compilers no reference implementation exists. the C standard was created out of multiple existing implementations.
- vector_spaces 7mo agoPyPy is a JIT-compiled implementation of a language called RPython which is a restricted subset of Python. It does not and has never attempted to implement Python or replace your CPython interpreter for most intents and purposes. CPython is the official reference implementation of the Python language and what you probably use if you write Python code and don't understand the difference between a programming language and its implementations (which is fine)
- darkwater 7mo agoThanks for the clarification. On top of that, being an issue in the 'uv' GitHub repo (uv installs packages from PyPi) made my brain easily cross the letters.
- tpoacher 7mo agoand mypy is "an optional static type checker for Python" [0] Given that both pypy (through RPython) and mypy deal with static type checks in some sense, I kept confusing the two projects until recently. Also, I just learnt (from another comment in this post) about mypyc [1], which seems to complete the circle somehow in my mind. [0] https://www.mypy-lang.org/ [1] https://github.com/mypyc/mypyc
- LtWorf 7mo agopypy existed long before type annotations were a thing
- masklinn 7mo agoAnd JITs often don't care for type specifications as they can generally get better info from the runtime values, need to support that anyway, and for languages like python the type specifications can be complete lies anyway. They also might support (and substitute) optimised versions of types internally (e.g. pypy has supported list specialisation for a long time). Maybe it's changed since, but last I checked the JVM's JIT did not care at all for java's types. Which is not to say JITs don't indirectly benefit mind, type annotations tend to encourage monomorphic code, which JITs do like a lot. But unlike most AOT compilers it's not like they mind that annotations are polymorphic as long as the runtime is monomorphic...
- rcxdude 7mo agoPyPy may not care in principle, but RPython does, being a kind of python dialect designed for static compilation that is intended for writing JIT engines like PyPy.
- gcarvalho 7mo agoDon't forget about dmypy, the daemon version of mypy. https://mypy.readthedocs.io/en/stable/mypy_daemon.html https://mypy.readthedocs.io/en/stable/mypy_daemon.html
- canjobear 7mo ago
- cjfd 7mo agoThe short summary of it being that these people are beyond terrible at giving names to things.
- kelvinjps10 7mo agoThe python community has the habit of giving short names for things
- RobotToaster 7mo agoProgrammers and engineers should never be allowed to name things. I say that as a programmer and engineer.
- chuckadams 7mo ago"We suck at naming things" -- Bjarne Stroustrup, in a talk about SFINAE
- PunchyHamster 7mo agoOn one side I agree. On other side I look how marketing people name things and I think we're still better off Imagine if next edition of GCC, released in 2026 was named 2027. Then it was GCC One. Then GCC 720. Then GCC XE. Then just plain GCC. Then GCC Teams
- mikestew 7mo agoAnd then finally…GNU 720 AssistantDriver. (Tip of the hat to Microsoft’s marketing teams.)