Skip to content

Python Environment and Package Management Glossary

Managing Python environments and dependencies.

Python

A programming language used to write scripts and build data analytics projects. Python environments and installations may be managed for each project using uv.

Python Version

The specific release of Python in use (example: 3.11, 3.12). Different projects may require different versions.

Virtual Environment

An isolated Python environment that keeps a project's dependencies separate from other projects and from the system Python installation. Prevents version conflicts between projects.

Environment Isolation

The practice of keeping each project's dependencies separate so they do not conflict with other projects or system-level packages.

pip

The standard Python package installer, included with Python. Older workflows: pip install package-name or pip install -r requirements.txt

venv

Python's built-in tool for creating virtual environments manually. Older workflow: python -m venv .venv then source .venv/bin/activate uv manages virtual environments automatically, so manual activation is not required.

uv

A fast, modern Python package and project manager. Replaces the older pip + venv workflow. Key commands:

  • uv sync: install all dependencies listed in pyproject.toml
  • uv run python script.py: run a script inside the managed environment
  • uv add package-name: add a new dependency to the project

uv sync

Reads pyproject.toml and installs all required dependencies into the project's managed virtual environment. Run this once after cloning a project. Example: uv sync --extra dev --extra docs --upgrade

uv run

Executes a script or command inside the project's managed environment without needing to activate it manually. Example: uv run python src/cintel/case_logic.py

pyproject.toml

The modern Python configuration file that defines project metadata, dependencies, and tool settings in one place. Used by uv to manage the project environment. Replaces older approaches (setup.py, setup.cfg).

requirements.txt

An older format listing project dependencies line by line. Example: pandas==2.1.0 Still common in many tutorials and open-source projects. uv can read requirements.txt, but pyproject.toml is preferred.

Dependency

An external Python package a project requires to run. Examples: pandas, loguru, matplotlib. Listed in pyproject.toml under [project] dependencies.

Lock File (uv.lock)

A file generated by uv that records the exact versions of all installed packages. Ensures every collaborator installs identical environments. Commit this file to version control.

setup.py / setup.cfg

Older Python project configuration files, now replaced by pyproject.toml. May be encountered in older projects and tutorials.

Package Index (PyPI)

The Python Package Index: the public repository of Python packages. pip and uv download packages from PyPI by default. Browse at: https://pypi.org/