SynonymsBot
Synonyms for cpython or Related words with cpython
ironpython
openjdk
jruby
jython
haxe
ironruby
autoit
applescript
mingw
binutils
msbuild
systemd
watcom
wxwidgets
commandline
pyqt
beanshell
ocaml
clojure
msvc
cython
glibc
autoconf
textmate
freepascal
coffeescript
icedtea
busybox
rexx
openacc
xunit
gnustep
rebol
xcode
codelite
wxpython
realbasic
xulrunner
symfony
gobject
libxml
unrealscript
coreutils
newlisp
hypertalk
zend
pygame
glfw
msxml
cakephp
Examples of "cpython"
CPython
is the reference implementation of the Python programming language. Written in C,
CPython
is the default and most widely used implementation of the language.
A significant limitation of
CPython
is the use of a global interpreter lock (GIL) on each
CPython
interpreter process, which effectively disables concurrent Python threads within one process. Concurrency can only be achieved with separate
CPython
interpreter processes managed by a multitasking operating system. This complicates communication between concurrent Python processes, though the "multiprocessing" module mitigates this somewhat. Much discussion took place on whether to remove the GIL from
CPython
. A set of "free threading" patches to
CPython
was submitted by Greg Stein, which effectively replaced GIL with fine-grained locking. However the patches were rejected due to the execution overhead they introduced into single-process code.
There are some differences between the Python reference implementation
CPython
and IronPython. Some projects built on top of IronPython are known not to work under
CPython
. Conversely,
CPython
applications that depend on extensions to the language that are implemented in C (e.g. NumPy) are not compatible with IronPython.
The performance characteristics of IronPython compared to
CPython
, the reference implementation of Python, depends on the exact benchmark used. IronPython performs worse than
CPython
on most benchmarks taken with the PyStone script but better on other benchmarks.
Although the whole Stackless is a separate distribution, its switching functionality has been successfully packaged as a
CPython
extension called greenlet. It is used by a number of libraries (e.g. gevent) to provide a "green threading" solution for
CPython
.
In April 2011, PyPy version 1.5 was released, which reached compatibility with
CPython
2.7.
Tracepoints in the
CPython
VM and JVM were added in SystemTap 1.2.
The main Python implementation, named
CPython
, is written in C meeting the C89 standard. It compiles Python programs into intermediate bytecode, which is executed by the virtual machine.
CPython
is distributed with a large standard library written in a mixture of C and Python. It is available in versions for many platforms, including Windows and most modern Unix-like systems.
CPython
was intended from almost its very conception to be cross-platform.
PyPy is
CPython
2.7.10 compatible. PyPy3, released starting with version 2.3.1, is
CPython
3.2.5 compatible. Both versions have JIT compilation support on 32-bit/64-bit x86 and ARM processors. It is tested nightly on Windows, Linux, OpenBSD and Mac OS X. PyPy is able to run pure Python software that does not rely on implementation-specific features.
Shed Skin can be used to generate standalone executables which need only the C++ runtime libraries. It can also be used to generate
CPython
modules. This allows compiling parts of larger programs with Shed Skin, while running the other parts using regular
CPython
.
In the above examples, in
CPython
prior to 3.4, these will run finalizers repeatedly, and the objects will not be garbage-collected, while in
CPython
3.4 and later, the finalizers will only be called once, and the objects will be garbage-collected the second time they become unreachable.
Python interpreters are available for many operating systems, allowing Python code to run on a wide variety of systems.
CPython
, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations.
CPython
is managed by the non-profit Python Software Foundation.
PEP 11 lists platforms which are not supported in
CPython
by Python Software Foundation. These platforms can still be supported by external ports. These ports include:
Cython is a compiled language that generates
CPython
extension modules. These extension modules can then be loaded and used by regular Python code using the import statement.
Although Jython implements the Python language specification, it has some differences and incompatibilities with
CPython
, which is the reference implementation of Python.
CPython
is an interpreter. It has a foreign function interface with several languages including C, in which one must explicitly write bindings in a language other than Python.
The project had stated a goal of a speed improvement by a factor of five over
CPython
; this goal was not met.
Cython is written in Python and works on Windows, Linux, and macOS, producing source files compatible with
CPython
2.4 through 3.5.
Cython works by producing a standard Python module. However, the behavior differs from standard Python in that the module code, originally written in Python, is translated into C. While the resulting code is fast, it makes many calls into the
CPython
interpreter and
CPython
standard libraries to perform actual work. Choosing this arrangement saved considerably on Cython's development time, but modules have a dependency on the Python interpreter and standard library.
Puddletag is written in Python 2.x and uses Qt 4 (through PyQt) for its user interface. Mutagen works on Python 2.6, 2.7, 3.3, 3.4 (
CPython
and PyPy) and has no dependencies outside the Python standard library.