Python Index

Browse all 1,283 Python keywords, built-in functions, standard library modules, and popular packages.

1,283
Items
83
Categories
11,547
Total Pages

Keyword

35
False
Boolean literal representing false/0
None
Represents the absence of a value; Python's null equivalent
True
Boolean literal representing true/1
and
Logical AND operator; returns True if both operands are true
as
Creates an alias (used with import, with, except)
assert
Debugging aid that tests a condition and raises AssertionError if false
async
Declares an asynchronous coroutine function or context manager
await
Pauses execution of an async coroutine until a result is available
break
Exits the nearest enclosing for or while loop immediately
class
Defines a new class (blueprint for creating objects)
continue
Skips the rest of the current loop iteration and moves to the next
def
Defines a new function or method
del
Deletes a variable, list item, dictionary entry, or object attribute
elif
Short for 'else if'; adds another condition to an if chain
else
Catch-all branch when preceding if/elif conditions are all false
except
Catches and handles exceptions raised in a try block
finally
Block that always executes after try/except, used for cleanup
for
Starts a loop that iterates over a sequence or iterable
from
Used with import to bring in specific names from a module
global
Declares a variable inside a function as belonging to the global scope
if
Starts a conditional statement; executes block only if condition is true
import
Loads a module or package into the current namespace
in
Membership test operator; also used in for loops to iterate over items
is
Identity operator; tests whether two variables reference the same object
lambda
Creates a small anonymous (unnamed) function in a single expression
nonlocal
Declares a variable inside a nested function as belonging to the enclosing scope
not
Logical NOT operator; inverts a boolean value
or
Logical OR operator; returns True if at least one operand is true
pass
A no-op placeholder; does nothing, used where syntax requires a statement
raise
Throws an exception manually
return
Exits a function and optionally sends a value back to the caller
try
Starts a block of code that will be monitored for exceptions
while
Starts a loop that repeats as long as its condition is true
with
Wraps a block with a context manager for automatic setup/teardown
yield
Pauses a generator function and produces a value to the caller

Soft Keyword

4

Built-in Function

71
abs()
Returns the absolute value of a number
aiter()
Returns an asynchronous iterator from an async iterable
all()
Returns True if every element in an iterable is truthy
anext()
Retrieves the next item from an async iterator
any()
Returns True if at least one element in an iterable is truthy
ascii()
Returns a string with non-ASCII characters escaped
bin()
Converts an integer to a binary string prefixed with '0b'
bool()
Converts a value to a Boolean (True or False)
breakpoint()
Drops into the debugger at the point of the call
bytearray()
Creates a mutable sequence of bytes
bytes()
Creates an immutable sequence of bytes
callable()
Returns True if the object appears callable (has __call__)
chr()
Returns the character for a given Unicode code point
classmethod()
Transforms a method so it receives the class as its first argument
compile()
Compiles source code into a code object for exec() or eval()
complex()
Creates a complex number (e.g. 3+4j)
delattr()
Deletes a named attribute from an object
dict()
Creates a new dictionary
dir()
Lists the names (attributes and methods) of an object or current scope
divmod()
Returns both the quotient and remainder of integer division
enumerate()
Adds a counter to an iterable, yielding (index, value) pairs
eval()
Evaluates a string as a Python expression and returns the result
exec()
Executes a string or code object as Python statements
filter()
Returns elements from an iterable for which a function returns True
float()
Converts a value to a floating-point number
format()
Formats a value according to a format specification string
frozenset()
Creates an immutable set
getattr()
Returns the value of a named attribute of an object
globals()
Returns a dictionary of the current global symbol table
hasattr()
Returns True if an object has the given named attribute
hash()
Returns the hash value of an object (used in dicts and sets)
help()
Invokes the built-in help system for an object or topic
hex()
Converts an integer to a hexadecimal string prefixed with '0x'
id()
Returns the unique identity (memory address) of an object
input()
Reads a line of text from the user via the console
int()
Converts a value to an integer
isinstance()
Returns True if an object is an instance of a given class or tuple of classes
issubclass()
Returns True if a class is a subclass of another class
iter()
Returns an iterator object from an iterable
len()
Returns the number of items in a container
list()
Creates a new list or converts an iterable into a list
locals()
Returns a dictionary of the current local symbol table
map()
Applies a function to every item in an iterable and returns an iterator
max()
Returns the largest item in an iterable or among arguments
memoryview()
Creates a memory view object for binary data without copying
min()
Returns the smallest item in an iterable or among arguments
next()
Retrieves the next item from an iterator
object()
Base class for all Python classes; returns a featureless object
oct()
Converts an integer to an octal string prefixed with '0o'
open()
Opens a file and returns a file object for reading or writing
ord()
Returns the Unicode code point for a single character
pow()
Returns base raised to a power, optionally with modulus
print()
Outputs text or values to the console
property()
Creates a managed attribute with getter, setter, and deleter
range()
Generates an immutable sequence of integers
repr()
Returns a developer-friendly string representation of an object
reversed()
Returns a reverse iterator over a sequence
round()
Rounds a number to a given number of decimal places
set()
Creates a new mutable set of unique elements
setattr()
Sets the value of a named attribute on an object
slice()
Creates a slice object for use in extended indexing
sorted()
Returns a new sorted list from any iterable
staticmethod()
Transforms a method so it doesn't receive the instance or class
str()
Converts a value to a string
sum()
Returns the total of all items in an iterable
super()
Returns a proxy object that delegates calls to a parent class
tuple()
Creates a new immutable tuple
type()
Returns the type of an object, or creates a new type dynamically
vars()
Returns the __dict__ attribute of an object
zip()
Combines multiple iterables element-wise into tuples
__import__()
Low-level function invoked by the import statement

Built-in Constant

3

Built-in Exception

56
BaseException
Root base class for all exceptions including KeyboardInterrupt and SystemExit
Exception
Base class for all non-exit exceptions; used to define custom exceptions
ArithmeticError
Base class for arithmetic errors (ZeroDivisionError, OverflowError, etc.)
LookupError
Base class for lookup errors (KeyError, IndexError)
ValueError
Raised when a function receives an argument of the right type but wrong value
TypeError
Raised when an operation is applied to an object of inappropriate type
KeyError
Raised when a dictionary key is not found
IndexError
Raised when a sequence index is out of range
AttributeError
Raised when an attribute reference or assignment fails
NameError
Raised when a variable name is not found in scope
FileNotFoundError
Raised when trying to open a file that doesn't exist
ImportError
Raised when an import statement fails to find a module
ModuleNotFoundError
Subclass of ImportError; raised when a module cannot be located
RuntimeError
Raised when an error doesn't fit any other category
StopIteration
Raised by next() to signal that an iterator is exhausted
StopAsyncIteration
Raised by __anext__() to signal an async iterator is exhausted
GeneratorExit
Raised when a generator's close() method is called
ZeroDivisionError
Raised when dividing or modding by zero
OverflowError
Raised when an arithmetic result is too large to represent
RecursionError
Raised when the maximum recursion depth is exceeded
PermissionError
Raised when an operation lacks sufficient access rights
TimeoutError
Raised when a system function times out
NotImplementedError
Raised to indicate an abstract method must be overridden
KeyboardInterrupt
Raised when the user presses Ctrl+C
SystemExit
Raised by sys.exit(); used to exit the interpreter
OSError
Base class for OS-related errors
IOError
Alias for OSError; raised on I/O failures
SyntaxError
Raised when the parser encounters invalid Python syntax
IndentationError
Raised when indentation is incorrect
TabError
Raised when tabs and spaces are mixed inconsistently
UnicodeError
Base class for Unicode encoding/decoding errors
UnicodeDecodeError
Raised when decoding bytes to a string fails
UnicodeEncodeError
Raised when encoding a string to bytes fails
BufferError
Raised when a buffer-related operation fails
EOFError
Raised when input() hits end-of-file without reading data
MemoryError
Raised when an operation runs out of memory
ConnectionError
Base class for connection-related errors
BrokenPipeError
Raised when writing to a pipe whose other end has closed
ConnectionResetError
Raised when a connection is reset by the remote host
ConnectionRefusedError
Raised when a connection attempt is refused
ConnectionAbortedError
Raised when a connection attempt is aborted
FileExistsError
Raised when trying to create a file that already exists
IsADirectoryError
Raised when a file operation is attempted on a directory
NotADirectoryError
Raised when a directory operation is attempted on a non-directory
InterruptedError
Raised when a system call is interrupted by a signal
ProcessLookupError
Raised when a process specified by PID doesn't exist
ChildProcessError
Raised when an operation on a child process fails
BlockingIOError
Raised when a non-blocking I/O operation would block
ExceptionGroup
Groups multiple exceptions together (3.11+); used with except*
Warning
Base class for warning categories
DeprecationWarning
Warning about features to be removed in future versions
FutureWarning
Warning about behavior changes in future versions
UserWarning
Default category for warnings issued by the user
SyntaxWarning
Warning about suspicious syntax
RuntimeWarning
Warning about suspicious runtime behavior
ResourceWarning
Warning about resource management issues

Dunder Method

61
__init__
Constructor; called when a new instance is created to initialize its attributes
__new__
Creates and returns a new instance before __init__ is called
__del__
Destructor; called when the object is about to be garbage collected
__str__
Returns a human-readable string representation (used by print and str())
__repr__
Returns an unambiguous developer-facing string representation
__len__
Called by len(); returns the number of items in the object
__getitem__
Enables indexing with square brackets (obj[key])
__setitem__
Enables item assignment with square brackets (obj[key] = value)
__delitem__
Enables item deletion with del obj[key]
__iter__
Returns an iterator; makes the object usable in for loops
__next__
Returns the next value from an iterator; raises StopIteration when done
__contains__
Called by the 'in' operator to test membership
__call__
Makes an instance callable like a function (obj())
__enter__
Called at the start of a with block; returns the context resource
__exit__
Called at the end of a with block; handles cleanup and exceptions
__eq__
Defines behavior for the == equality operator
__ne__
Defines behavior for the != inequality operator
__lt__
Defines behavior for the < less-than operator
__gt__
Defines behavior for the > greater-than operator
__le__
Defines behavior for the <= operator
__ge__
Defines behavior for the >= operator
__add__
Defines behavior for the + addition operator
__sub__
Defines behavior for the - subtraction operator
__mul__
Defines behavior for the * multiplication operator
__truediv__
Defines behavior for the / true division operator
__floordiv__
Defines behavior for the // floor division operator
__mod__
Defines behavior for the % modulo operator
__pow__
Defines behavior for the ** power operator
__and__
Defines behavior for the & bitwise AND operator
__or__
Defines behavior for the | bitwise OR operator
__xor__
Defines behavior for the ^ bitwise XOR operator
__invert__
Defines behavior for the ~ bitwise NOT operator
__neg__
Defines behavior for the unary - negation operator
__pos__
Defines behavior for the unary + positive operator
__abs__
Called by abs(); returns the absolute value
__bool__
Called by bool(); defines truthiness of the object
__hash__
Returns the hash value; required for dict key or set member
__getattr__
Called when the default attribute access fails
__setattr__
Called on every attribute assignment
__delattr__
Called when deleting an attribute with del
__format__
Called by format() and f-strings for custom formatting
__bytes__
Called by bytes(); returns a bytes representation
__int__
Called by int(); returns an integer representation
__float__
Called by float(); returns a float representation
__complex__
Called by complex(); returns a complex number representation
__index__
Returns an integer for use in slicing and bin()/hex()/oct()
__missing__
Called by dict subclasses when a key is not found
__get__
Descriptor protocol: called to get an attribute of the owner class
__set__
Descriptor protocol: called to set an attribute on the owner class
__delete__
Descriptor protocol: called to delete an attribute on the owner class
__init_subclass__
Called when a class is subclassed; hook for parent class customization
__class_getitem__
Called for subscripting a class (e.g. list[int]); used in generics
__aiter__
Returns an async iterator from an async iterable
__anext__
Returns the next value from an async iterator
__aenter__
Async version of __enter__ for async with blocks
__aexit__
Async version of __exit__ for async with blocks
__await__
Returns an iterator for use with the await expression
__sizeof__
Returns the memory size of the object in bytes
__reduce__
Helper for pickling; returns reconstruction info
__copy__
Called by copy.copy() for shallow copying
__deepcopy__
Called by copy.deepcopy() for deep copying

Dunder Attribute

17

Stdlib — Data

12

Stdlib — Text

8

Stdlib — Math

7

Stdlib — OS/File

16

Stdlib — Date/Time

4

Stdlib — Serialization

12

Stdlib — Networking

21

Stdlib — Concurrency

8

Stdlib — Security

3

Stdlib — Testing

7

Stdlib — Profiling

4

Stdlib — Functional

3

Stdlib — Compression

6

Stdlib — i18n

2

Stdlib — Typing

3

Stdlib — Introspection

12

Stdlib — CLI

4

Stdlib — Misc

15

Stdlib — Database

2

Stdlib — GUI

4

Package — Web Framework

18

Package — HTTP

13

Package — Scraping

12

Package — Data Science

21

Package — Visualization

23

Package — ML

33
scikit-learn
Classification, regression, clustering, preprocessing, pipelines, model selection
xgboost
Gradient boosting framework optimized for speed and performance
lightgbm
Fast gradient boosting by Microsoft for large datasets
catboost
Gradient boosting by Yandex; handles categorical features natively
optuna
Hyperparameter optimization with pruning and visualization
hyperopt
Distributed hyperparameter optimization using Bayesian methods
mlflow
ML experiment tracking, model registry, and deployment platform
wandb
Weights & Biases: experiment tracking and collaboration for ML
joblib
Lightweight pipelining: memory caching and parallel execution
imblearn
Imbalanced-learn: SMOTE and other tools for imbalanced datasets
river
Online/streaming machine learning for real-time data
pycaret
Low-code ML library: automates comparison, tuning, and deployment
auto-sklearn
Automated machine learning using scikit-learn pipelines
TPOT
Automated ML that optimizes pipelines using genetic programming
feature-engine
Feature engineering and selection for scikit-learn pipelines
category-encoders
Categorical variable encoding (target, ordinal, binary, hashing, etc.)
shap
SHAP values for interpreting ML model predictions
lime
Local Interpretable Model-agnostic Explanations for ML models
eli5
Debug and explain ML classifiers and regressors
yellowbrick
Visual analysis and diagnostic tools for scikit-learn models
dtreeviz
Decision tree visualization and interpretation
sktime
Time series machine learning: classification, regression, forecasting
tslearn
Time series machine learning: DTW, clustering, classification
hmmlearn
Hidden Markov Models for sequence modeling
pomegranate
Probabilistic models: Bayesian networks, HMMs, GMMs, Markov chains
vowpalwabbit
Fast online learning for large-scale problems
surprise
Recommendation systems: collaborative filtering algorithms
implicit
Fast collaborative filtering for implicit feedback datasets
annoy
Approximate Nearest Neighbors for fast similarity search
faiss
Facebook AI Similarity Search: billion-scale vector similarity
umap-learn
Uniform Manifold Approximation: dimensionality reduction and visualization
hdbscan
Hierarchical density-based clustering (better than DBSCAN)
mlxtend
Extensions for scikit-learn: plotting, feature selection, stacking

Package — Deep Learning

25
torch
PyTorch: dynamic neural networks with GPU acceleration by Meta
tensorflow
End-to-end ML platform by Google: neural networks, TPU support
keras
High-level neural network API; multi-backend (TF, PyTorch, JAX)
jax
High-performance numerical computing with auto-differentiation by Google
flax
Neural network library built on JAX
transformers
Hugging Face: state-of-the-art NLP/vision/audio models (BERT, GPT, etc.)
onnx
Open Neural Network Exchange: interoperable model format
onnxruntime
High-performance inference engine for ONNX models
torchvision
PyTorch datasets, model architectures, and transforms for vision
torchaudio
PyTorch audio processing: datasets, transforms, models
torchtext
PyTorch text processing: datasets, tokenization, vocabularies
lightning
PyTorch Lightning: structured deep learning training framework
accelerate
Hugging Face library for multi-GPU, TPU, and mixed-precision training
deepspeed
Microsoft deep learning optimization: ZeRO, model parallelism
fairscale
PyTorch extensions for high-performance large-scale training
timm
PyTorch Image Models: 700+ pretrained vision model architectures
detectron2
Meta AI platform for object detection and segmentation
mmdetection
OpenMMLab detection toolbox: 200+ models for object detection
segmentation-models-pytorch
Neural network architectures for image segmentation
einops
Flexible tensor operations with readable Einstein notation
safetensors
Safe, fast tensor serialization format (replacing pickle for models)
bitsandbytes
8-bit optimizers and quantization for large model training
peft
Parameter-Efficient Fine-Tuning (LoRA, prefix tuning, adapters)
trl
Transformer Reinforcement Learning: RLHF and PPO for LLMs
triton
OpenAI Triton: write custom GPU kernels in Python

Package — NLP

18

Package — LLM/AI

26
langchain
Framework for LLM applications: chains, agents, retrieval
llamaindex
Data framework for connecting LLMs to external data (RAG)
openai
Official Python client for OpenAI API (GPT, DALL-E, Whisper)
anthropic
Official Python client for Anthropic's Claude API
chromadb
Open-source vector database for embedding storage and retrieval
pinecone
Managed vector database for semantic search
guidance
Constrained generation and templating for language models
autogen
Multi-agent conversation framework for AI workflows
crewai
Framework for orchestrating autonomous AI agent teams
semantic-kernel
Microsoft SDK for integrating LLMs into applications
litellm
Unified API to call 100+ LLM providers (OpenAI, Anthropic, etc.)
vllm
High-throughput LLM serving engine with PagedAttention
llama-cpp-python
Python bindings for llama.cpp: run LLMs locally on CPU/GPU
ctransformers
Python bindings for GGML transformer models
outlines
Structured generation: constrain LLM output to JSON, regex, grammars
instructor
Structured outputs from LLMs using Pydantic models
guardrails-ai
Add validation and structure to LLM outputs
txtai
All-in-one embeddings database for semantic search, LLM pipelines
haystack
NLP framework for building search, QA, and RAG pipelines
weaviate-client
Python client for Weaviate vector search engine
qdrant-client
Python client for Qdrant vector similarity search engine
milvus
Python SDK for Milvus open-source vector database
langsmith
LangChain's platform for tracing, testing, and monitoring LLM apps
promptflow
Microsoft toolkit for building and evaluating LLM workflows
dspy
Framework for programming (not prompting) language models
marvin
AI engineering toolkit: AI functions, classifiers, extractors

Package — Vision

19

Package — Bayesian

17

Package — Time Series

13

Package — RL

9

Package — Database

29
sqlalchemy
SQL toolkit and ORM: engine, session, declarative models, query builder
psycopg2
PostgreSQL adapter: most popular Python driver for PostgreSQL
psycopg
Next-gen PostgreSQL adapter (psycopg 3) with async support
pymysql
Pure-Python MySQL client library
pymongo
Official MongoDB driver for Python
redis
Python client for Redis in-memory data store
motor
Async MongoDB driver for asyncio/Tornado
asyncpg
High-performance async PostgreSQL driver
peewee
Small, expressive ORM for SQLite, MySQL, PostgreSQL
tortoise-orm
Async ORM inspired by Django for asyncio frameworks
sqlmodel
SQL databases with Pydantic and SQLAlchemy (by FastAPI creator)
alembic
Database migration tool for SQLAlchemy
databases
Async database support for SQLAlchemy Core queries
elasticsearch
Official Python client for Elasticsearch
cassandra-driver
DataStax driver for Apache Cassandra
neo4j
Official Python driver for Neo4j graph database
py2neo
Community Neo4j driver with OGM and Cypher toolkit
aioredis
Async Redis client for asyncio applications
sqlitedict
Persistent dict backed by SQLite; simple key-value store
tinydb
Lightweight document-oriented database stored in JSON files
lmdb
Python bindings for Lightning Memory-Mapped Database
clickhouse-driver
Python driver for ClickHouse columnar analytics database
duckdb
In-process analytical SQL database (like SQLite for analytics)
ibis
Pandas-like API that compiles to SQL for multiple backends
dataset
Simple database toolkit: SQLite/PostgreSQL/MySQL with a dict-like API
mongoengine
Document-Object Mapper for MongoDB (Django-style)
odmantic
Async ODM for MongoDB using Pydantic models
edgedb
Python client for EdgeDB next-generation graph-relational database
prisma
Type-safe database client auto-generated from your schema

Package — Validation

12

Package — Testing

28
pytest
Feature-rich testing: fixtures, parametrize, plugins, auto-discovery
hypothesis
Property-based testing: auto-generates edge-case test inputs
tox
Test across multiple Python versions and environments
nox
Flexible test automation configured with Python
coverage
Measure code coverage; shows untested lines/branches
faker
Generate fake data (names, addresses, emails) for testing
factory_boy
Test fixtures: create complex object hierarchies
responses
Mock the requests library for unit testing HTTP
respx
Mock httpx requests in tests
pytest-asyncio
Pytest plugin for testing asyncio coroutines
locust
Load testing: simulate users and measure performance
pytest-cov
Pytest plugin for coverage.py integration
pytest-xdist
Run pytest tests in parallel across multiple CPUs
pytest-mock
Thin wrapper around unittest.mock for pytest
pytest-benchmark
Benchmark functions inside pytest with statistics
pytest-django
Pytest plugin for Django projects
pytest-flask
Pytest plugin for Flask application testing
vcrpy
Record and replay HTTP interactions for deterministic tests
freezegun
Mock datetime for testing time-dependent code
time-machine
Fast datetime mocking (C extension, faster than freezegun)
moto
Mock AWS services for unit testing boto3 code
testcontainers
Spin up Docker containers (databases, brokers) for integration tests
behave
Behavior-driven development (BDD) framework using Gherkin syntax
robot
Robot Framework: keyword-driven test automation for acceptance testing
schemathesis
Property-based testing for APIs using OpenAPI/Swagger specs
polyfactory
Generate mock data from Pydantic models and dataclasses
mimesis
High-performance fake data generator for 30+ locales
mutmut
Mutation testing: verify test suite quality by injecting bugs

Package — Cloud/DevOps

26
boto3
AWS SDK: S3, EC2, Lambda, DynamoDB, and every AWS service
google-cloud-storage
Google Cloud Storage client library
azure-storage-blob
Azure Blob Storage client library
docker
Docker Engine API SDK: containers, images, volumes, networks
fabric
Remote command execution and deployment over SSH
paramiko
SSH2 protocol library for remote connections and file transfers
ansible
IT automation: config management, provisioning, deployment
celery
Distributed task queue for async job processing
prefect
Modern workflow orchestration for data pipelines
airflow
Apache Airflow: author, schedule, monitor data pipelines
terraform-cdk
Define cloud infrastructure using Python with Terraform CDK
pulumi
Infrastructure as code using Python (AWS, Azure, GCP, K8s)
kubernetes
Official Kubernetes client library for Python
ray
Distributed computing framework: scale Python across clusters
dagster
Data orchestrator for ML, analytics, and ETL pipelines
luigi
Spotify's pipeline framework for batch data processing
mage-ai
Modern data pipeline tool: extract, transform, load with UI
great-expectations
Data quality testing and documentation for pipelines
invoke
Pythonic task execution library (modern replacement for Fabric 1.x tasks)
plumbum
Shell scripting in Python: local/remote commands, CLI building
supervisor
Process control system: manage long-running processes on Unix
psutil
Cross-platform process and system monitoring (CPU, RAM, disk, network)
sentry-sdk
Error tracking and performance monitoring for production apps
prometheus-client
Instrument Python apps with Prometheus metrics
opentelemetry-api
OpenTelemetry observability: traces, metrics, logs
datadog
Datadog API client for monitoring and analytics

Package — CLI

15

Package — GUI

13

Package — Game Dev

10

Package — Media

12

Package — Documents

20

Package — Config

16

Package — Security

18

Package — Scheduling

7

Package — Packaging

20

Package — Code Quality

21

Package — Templates

5

Package — Server

8

Package — GraphQL

5

Package — Geospatial

15

Package — Finance

20

Package — Blockchain

6

Package — Robotics/IoT

11

Package — Scientific

20

Package — Bioinformatics

10

Package — Notebook

12

Package — Web Auth

18

Package — Email

12

Package — Reporting

7

Package — Caching

7

Package — Logging

10

Package — API

15

Package — Data Engineering

14

Package — Generative AI

10

Package — Speech

6

Package — Utility

37
pendulum
Drop-in datetime replacement with better timezone and parsing
arrow
Human-friendly dates and times
python-dateutil
Datetime extensions: relative deltas, parsing, recurrence
more-itertools
Additional iterator building blocks beyond itertools
boltons
230+ pure-Python utilities filling stdlib gaps
tenacity
Retry library with backoff, wait strategies, stop conditions
cachetools
Extensible memoizing collections and decorators
python-dotenv
Load environment variables from .env files
loguru
Simplified logging with structured output
structlog
Structured logging for easy parsing and analysis
sh
Subprocess replacement: call shell commands as functions
watchdog
Monitor filesystem events in real time
pynput
Monitor and control keyboard and mouse
pyperclip
Cross-platform clipboard copy and paste
pathvalidate
Sanitize and validate filenames and paths
tqdm
Progress bars for loops and iterables
humanize
Human-readable numbers, dates, file sizes, time deltas
inflect
Pluralize words, number-to-words, a/an articles
python-slugify
Generate URL-friendly slugs from strings (Unicode support)
phonenumbers
Parse, format, validate phone numbers (Google libphonenumber)
pycountry
ISO databases for countries, languages, currencies, subdivisions
babel
Internationalization: locale data, number/date formatting, translations
ftfy
Fix broken Unicode text (mojibake, encoding issues)
regex
Drop-in replacement for re with additional features and Unicode support
parse
Reverse of format(): extract data from formatted strings
toolz
Functional utilities: curry, pipe, merge, groupby for iterables and dicts
cytoolz
Cython-accelerated version of toolz for performance
wrapt
Robust decorator and wrapper utilities for Python
deprecated
Decorator to mark functions and classes as deprecated
executing
Get the currently executing AST node (used by rich tracebacks)
astor
Read, rewrite, and write Python ASTs as source code
dill
Extended pickling: serialize functions, lambdas, closures, classes
cloudpickle
Extended pickling for distributed computing (lambdas, closures)
psutil
System monitoring: CPU, RAM, disk, network, processes
py-cpuinfo
Get detailed CPU information
GPUtil
Get GPU status: usage, memory, temperature (NVIDIA)
nvitop
Interactive NVIDIA GPU process viewer and monitor

IDE / Editor

32
PyCharm
JetBrains IDE for Python: smart code completion, debugging, refactoring, testing, VCS integration
PyCharm Community
Free, open-source edition of PyCharm with core Python development features
PyCharm Professional
Paid edition with web frameworks, database tools, scientific tools, remote interpreters
VS Code
Microsoft's free, extensible code editor; Python support via the Python extension and Pylance
Visual Studio
Microsoft's full IDE with Python workload support for debugging, profiling, and mixed-language projects
Spyder
Scientific Python IDE bundled with Anaconda; variable explorer, inline plots, IPython console
Thonny
Beginner-friendly Python IDE with step-through debugger, simple UI, and built-in pip manager
IDLE
Python's built-in IDE: lightweight editor and interactive shell included with every Python install
Jupyter Notebook
Web-based interactive computing: mix code, output, markdown, and visualizations in cells
JupyterLab
Next-gen Jupyter interface: tabbed editing, terminal, file browser, extensions
Google Colab
Free cloud-based Jupyter environment by Google with GPU/TPU access
Kaggle Notebooks
Cloud notebooks on Kaggle with free GPU, preinstalled data science packages, and datasets
Amazon SageMaker Studio
AWS cloud IDE for ML: notebooks, experiment tracking, model deployment
Vim / Neovim
Terminal-based editor; Python support via plugins (jedi-vim, coc-pyright, nvim-lspconfig)
Emacs
Extensible editor; Python support via elpy, lsp-mode, or python-mode packages
Sublime Text
Fast, lightweight editor; Python support via LSP, Anaconda plugin, or SublimeLinter
Atom (Pulsar)
Hackable open-source editor; Pulsar is the community fork after GitHub archived Atom
Wing IDE
Python-specific IDE: powerful debugger, code intelligence, remote development
Komodo IDE
Multi-language IDE by ActiveState with Python debugging, profiling, and regex toolkit
Eric IDE
Full-featured Python/Ruby IDE built with PyQt; integrated debugger and profiler
Mu Editor
Simple editor for Python beginners, MicroPython, and CircuitPython
Geany
Lightweight GTK editor/IDE with Python syntax highlighting and basic code completion
Kate / KDevelop
KDE editors with Python support via LSP; Kate is lightweight, KDevelop is a full IDE
Zed
High-performance editor written in Rust with Python LSP support and AI code assistance
Cursor
AI-first code editor (VS Code fork) with built-in AI pair programming for Python
Replit
Cloud IDE and hosting platform: write, run, and deploy Python in the browser
Gitpod
Cloud development environment: automated, prebuilt dev setups in VS Code or JetBrains
GitHub Codespaces
Cloud-hosted VS Code environments launched directly from GitHub repositories
DataSpell
JetBrains IDE designed for data science: notebooks, SQL, scientific Python tools
Positron
VS Code-based IDE by Posit (RStudio) for Python and R data science workflows
marimo
Reactive Python notebook: cells auto-re-execute when dependencies change
Observable
Cloud-based reactive notebooks for data visualization and exploration

IDE Extension

15

Dev Tool — VCS

11

Dev Tool — Docs

16

Dev Tool — CI/CD

12

Dev Tool — Deploy

15

Python Runtime

15

Ecosystem

19