Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Interview question

What is the difference between requirements.txt and pyproject.toml? requirements.txt और pyproject.toml में क्या अंतर है?

Answer
FilePurposeFormat
requirements.txtSimple list of dependencies (traditional pip approach)Plain text, one package per line
pyproject.tomlModern, standardized project metadata AND dependencies (PEP 518/621)TOML format, structured
# requirements.txt example
# requests==2.31.0
# flask>=2.0,<3.0
# pytest

pip install -r requirements.txt

# pyproject.toml example - more structured, covers build system too
# [project]
# name = "my_package"
# version = "1.0.0"
# dependencies = [
#     "requests==2.31.0",
#     "flask>=2.0,<3.0"
# ]
#
# [project.optional-dependencies]
# dev = ["pytest", "black"]
#
# [build-system]
# requires = ["setuptools>=61.0"]
# build-backend = "setuptools.build_meta"

# pyproject.toml is the modern STANDARD replacing setup.py AND
# often requirements.txt for defining a package's build configuration,
# metadata, and dependencies all in one standardized file

# Tools like poetry and pip-tools generate/manage pyproject.toml
# for reproducible dependency resolution
Fileउद्देश्यFormat
requirements.txtDependencies की simple listPlain text
pyproject.tomlModern, standardized project metadata और dependenciesTOML format
# requirements.txt उदाहरण
# requests==2.31.0
# flask>=2.0,<3.0

pip install -r requirements.txt

# pyproject.toml उदाहरण
# [project]
# name = "my_package"
# version = "1.0.0"
# dependencies = [
#     "requests==2.31.0"
# ]
#
# [build-system]
# requires = ["setuptools>=61.0"]
# build-backend = "setuptools.build_meta"

# pyproject.toml setup.py और requirements.txt दोनों की जगह
# modern standard बन रहा है - metadata, dependencies एक file में

Was this answer clear?