Python Data Structures Practice

Educational Python repository for WGU's Master of Science in Software Engineering - AI Engineering program. Interactive Jupyter notebooks teaching data structures with ADHD-friendly exercises.

View the Project on GitHub chevyphillip/python-data-structures-practice

Installation Guide - Python Data Structures Practice

GitHub Pages Repository

🌐 Live Documentation: https://chevyphillip.github.io/python-data-structures-practice/

This guide provides instructions for setting up the project dependencies using both uv (recommended) and pip package managers.

Prerequisites

1. Install uv (if not already installed)

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Or via pip
pip install uv

2. Set up the project

# Clone/navigate to project directory
cd python-data-structures-practice

# Create virtual environment and install dependencies
uv sync

# Install development dependencies (optional)
uv sync --extra dev

# Install enhanced dependencies (optional)
uv sync --extra enhanced

# Activate the virtual environment
source .venv/bin/activate  # macOS/Linux
# or
.venv\Scripts\activate     # Windows

3. Start Jupyter Notebook

jupyter notebook

Alternative Setup (Using pip)

1. Create virtual environment

python -m venv .venv
source .venv/bin/activate  # macOS/Linux
# or
.venv\Scripts\activate     # Windows

2. Install dependencies

# Install core dependencies
pip install -r requirements.txt

# Or install from pyproject.toml
pip install -e .

# Install development dependencies
pip install -e .[dev]

# Install enhanced dependencies
pip install -e .[enhanced]

3. Start Jupyter Notebook

jupyter notebook

Dependency Categories

Core Dependencies (Always Installed)

Development Dependencies (Optional - dev extra)

Enhanced Dependencies (Optional - enhanced extra)

Verification

Run the verification script to ensure everything is working:

python verify_requirements.py

Common Commands

# Install/update all dependencies
uv sync

# Install with development tools
uv sync --extra dev

# Install with enhanced features
uv sync --extra enhanced

# Add a new dependency
uv add package-name

# Remove a dependency
uv remove package-name

# Run Jupyter
uv run jupyter notebook

Using pip

# Install dependencies
pip install -r requirements.txt

# Install in development mode
pip install -e .[dev,enhanced]

# Freeze current dependencies
pip freeze > requirements-lock.txt

Troubleshooting

Python Version Issues

Ensure you’re using Python 3.12+:

python --version

Virtual Environment Issues

If you encounter issues, try recreating the virtual environment:

# Remove existing environment
rm -rf .venv

# Recreate with uv
uv sync

# Or with pip
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Jupyter Kernel Issues

If Jupyter can’t find the Python kernel:

# Install kernel manually
python -m ipykernel install --user --name=python-data-structures

# List available kernels
jupyter kernelspec list

Version Pinning Strategy

This approach balances stability with flexibility, allowing for security updates while maintaining compatibility.


🌐 For the latest documentation and updates, visit: https://chevyphillip.github.io/python-data-structures-practice/

📂 Repository: https://github.com/chevyphillip/python-data-structures-practice