← All repositories

pythoncpython

Cpython

Features

  • Reference ImplementationsThe primary, community-maintained execution environment that defines the standard behavior and syntax for the entire programming language ecosystem.
  • General Purpose LanguagesA high-level, interpreted language designed for readability and versatility across web development, data science, and automation tasks.
  • Virtual MachinesExecutes high-level source code by compiling it into platform-independent bytecode instructions processed by a central evaluation loop.
  • Global Interpreter LocksSerializes execution of bytecode instructions to ensure thread safety and prevent data corruption within the shared internal state of the interpreter.
  • Foreign Function InterfacesProvides a stable binary interface allowing native C code to interact directly with internal interpreter objects and data structures.
  • Language RuntimesBuilding and maintaining the core interpreter and standard library that powers millions of applications across diverse computing environments.
  • Reference CountingTracks the number of active references to each object to reclaim memory immediately when an object is no longer needed.
  • Garbage Collection StrategiesIdentifies and cleans up unreachable object groups that contain circular references by periodically scanning objects across different age-based generations.
  • Standard Library DistributionsA comprehensive collection of built-in modules and tools that provide essential functionality for networking, file manipulation, and data processing.
  • C-Based RuntimesA host environment that executes bytecode while providing a stable interface for integrating performance-critical code written in C and C++.
  • Dynamic Type Dispatching SystemsDetermines object behavior at runtime by inspecting type metadata stored within each object header during every operation.
  • Contribution GuidesThis guide is a comprehensive resource for contributing to Python – for both new and experienced contributors. It is maintained by the same community that maintains Python. We welcome your contributions! ## Contributing¶
  • C Extension InterfacesIntegrating low-level C code with high-level scripts to extend functionality and improve performance for computationally intensive tasks.
  • Performance BenchmarksBenchmarking is useful to test that a change does not degrade performance. The Python Benchmark Suite has a collection of benchmarks for all Python implementations. Documentation about running the benchmarks is in the RE
  • Test RunnersThe shortest, simplest way of running the test suite is the following command from the root directory of your checkout (after you have built Python): Unix ./python \-m test Copy to clipboard macOS ./python.exe \-m test C
  • Contribution ProposalsImproving Python’s code, documentation and tests are ongoing tasks that are never going to be “finished”, as Python operates as part of an ever-evolving system of technology. An even more challenging ongoing task than th
  • Contribution Standards- Coding style guides - **PEP 7** (Style Guide for C Code) - **PEP 8** (Style Guide for Python Code) - Issue tracker - Experts index - Buildbot status - Source code - Browse online - Download a snapshot of the `main` bra
  • C API Specifications### New features¶ - TODO ### Porting to Python 3.16¶ - TODO ### Deprecated C APIs¶ - TODO ### Removed C APIs¶
  • Cross-Platform InstallersCreating executable installers and universal binaries that allow software to run consistently across different operating systems and hardware architectures.
  • Build InstructionsThese instructions cover how to get a working copy of the source code and a compiled version of the CPython interpreter (CPython is the version of Python available from https://www.python.org/). It also gives an overview
  • Compilation FlagsCPython provides several compilation flags which help with debugging various things. While all of the known flags can be found in the `Misc/SpecialBuilds.txt` file, the most critical one is the `Py_DEBUG` flag which crea
  • Binary Packaging Scripts[](#how-do-i-create-a-binary-distribution) Download and unpack the source release from https://www.python.org/download/. Go to the directory `Mac/BuildScript`. There you will find a script `build-installer.py` that does
  • Performance BenchmarksMeasuring the execution speed of code changes to ensure that updates improve or maintain the efficiency of the runtime.
  • macOS Framework Builds[](#building-and-using-a-framework-based-python-on-macos) ### 1\. Why would I want a framework Python instead of a normal static Python? [](#1-why-would-i-want-a-framework-python-instead-of-a-normal-static-python) The ma