Python
In-depth entryby Python Software Foundation · Language · also known as CPython, Python 3
General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning
Overview
Python is a general-purpose, interpreted programming language stewarded by the Python Software Foundation; its reference implementation, CPython, is developed in the open on GitHub. The language emphasizes readable syntax, dynamic typing with optional type hints, and a standard library that covers file handling, networking, concurrency, testing and data formats out of the box.
Its practical weight comes from the package ecosystem distributed through PyPI. Scientific computing (NumPy, SciPy, pandas, Polars), statistics and econometrics (statsmodels, linearmodels), machine learning (PyTorch, JAX, scikit-learn), web services (FastAPI, Django) and automation scripts all share one interpreter, which is why Python is the default glue language in research groups, data teams and AI tooling. Notebooks such as Jupyter and marimo build directly on it.
A typical setup installs an interpreter per project, pins dependencies in a lock file and manages environments with a tool such as uv, pip with venv, or conda. Recent interpreter releases ship an optional free-threaded build and an experimental JIT, but most deployed code still runs the standard single-interpreter build with the global interpreter lock.
Limits are well known: CPU-bound pure-Python code is slow compared with compiled languages, so hot loops are pushed into C, Rust or vectorized libraries; packaging has historically been fragmented across competing tools; and dynamic typing shifts many errors to runtime unless a type checker is used. Deployment also requires shipping an interpreter and dependency tree, which is heavier than a single compiled binary.
Capabilities
- Interpreted execution with an interactive REPL
- Optional static type hints checked by external tools
- Extensive standard library (I/O, networking, concurrency, testing)
- C-API and native extensions for performance-critical code
- Package distribution through PyPI with wheels
- Virtual environments for per-project isolation
- Asynchronous programming with asyncio
Typical workflows
- Prototype a data analysis in a notebook, then move it into a package
- Write API services with FastAPI or Django
- Automate file, system and web tasks with scripts
- Train and serve machine-learning models
Strengths
- Largest ecosystem for scientific computing and machine learning
- Readable syntax that lowers the entry barrier for researchers
- Runs on macOS, Linux and Windows with identical source
- Permissive PSF license
Limitations
- Slow for CPU-bound pure-Python loops
- Global interpreter lock constrains multi-threaded CPU parallelism in the default build
- Packaging and environment tooling remain fragmented
- Deployment requires an interpreter and dependency tree rather than a single binary
Prerequisites
- An interpreter installed via python.org, uv, Homebrew or the OS package manager
Who it is for
- Data scientists and quantitative researchers
- Backend and automation developers
- Machine-learning engineers
- Students and educators
Alternatives & comparison
R is more specialized for statistics and has a stronger culture of reproducible reporting, while Python's breadth makes it the better fit when analysis must sit next to web services or ML pipelines. Julia targets numerical code that must run fast without leaving the language, at the cost of a smaller ecosystem. Node.js and Rust are commonly paired with Python rather than replacing it: Node for web front ends and tooling, Rust for compiled extensions that remove Python's performance bottlenecks.
- AppleScript
Apple's English-like scripting language that drives scriptable macOS applications through Apple events, run from Script Editor, osascript or other automation tools
ProprietaryFree - Go
Statically typed, garbage-collected language from Google that compiles to single binaries and is widely used for servers, CLIs and infrastructure tooling
Open sourceOpen source - Julia
Dynamically typed, JIT-compiled language for numerical and scientific computing that aims to combine high-level syntax with compiled-code speed
Open sourceOpen source - MATLAB
MathWorks' commercial numeric computing environment and language for engineers and scientists, with toolboxes, Simulink integration, apps and MATLAB Online
ProprietaryPaid - Node.js
Server-side JavaScript runtime built on the V8 engine, governed by the OpenJS Foundation, with npm as its package ecosystem
Open sourceOpen source - R
Language and environment for statistical computing and graphics, with the CRAN package archive and a strong base in academic statistics and econometrics
Open sourceOpen source - Rust
Compiled systems programming language with ownership-based memory safety, the Cargo build tool and no garbage collector
Open sourceOpen source - Swift
Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org
Open sourceOpen source - uv
Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool
Open sourceOpen source - Wolfram Mathematica
Wolfram Research's proprietary technical computing system built on the Wolfram Language, with notebooks, symbolic and numeric computation, visualization, machine learning and curated data
ProprietaryPaid
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseHistory and Licensechecked Nov 1, 2026
https://docs.python.org/3/license.html
Supports: license_spdx
Python Software Foundation License (PSF-2.0)
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Broken · Nov 2, 2026
Spotted an error?
More in Programming languages & runtimes
Homebrew
Homebrew maintainers · macOS system utilities
Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal
Swift
Apple Inc. · Swift & SwiftUI development
Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org
TypeScript
Microsoft · Programming languages & runtimes
Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem
Lean
Lean FRO · Mathematical & statistical computing
Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO
uv
Astral · Programming languages & runtimes
Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool
Bun
Oven · Programming languages & runtimes
All-in-one JavaScript and TypeScript runtime, package manager, bundler and test runner built on JavaScriptCore by Oven