CoolFace
Apppublic

RuslanKain/sorting-searching-recognized-gestures

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes
__init__.py126 linesDownload Raw Back to oop_sorting_teaching
1"""2╔══════════════════════════════════════════════════════════════════════════════╗3║                                                                              ║4║   🎓 CISC 121 - OOP Sorting & Searching Visualizer                          ║5║                                                                              ║6║   Queen's University - Introduction to Computing Science I                   ║7║                                                                              ║8║   Package: oop_sorting_teaching                                              ║9║   Purpose: Learn Object-Oriented Programming through visual algorithm demos  ║10║                                                                              ║11╚══════════════════════════════════════════════════════════════════════════════╝12 13📚 CONCEPT: Python Packages14═══════════════════════════15 16A PACKAGE is a way to organize related Python code into a folder structure.17 18Think of it like a filing cabinet:19• The cabinet (package) holds related folders20• Each folder (subpackage) holds related files21• Each file (module) holds related code22 23WHY USE PACKAGES?24• Organization: Related code lives together25• Reusability: Import just what you need26• Maintainability: Smaller files are easier to understand27• Collaboration: Different people can work on different modules28 29PACKAGE STRUCTURE:30├── oop_sorting_teaching/          # Main package31│   ├── __init__.py                # This file - makes it a package32│   ├── models/                    # Data structures33│   │   ├── gesture.py             # GestureRanking, GestureImage34│   │   ├── step.py                # StepType, Step35│   │   └── image_list.py          # ImageList36│   ├── algorithms/                # Sorting & searching37│   │   ├── sorting/               # Sorting algorithms38│   │   └── searching/             # Search algorithms39│   ├── visualization/             # Display logic40│   │   ├── renderers/             # HTML renderers41│   │   └── visualizer.py          # Main visualizer42│   └── tests/                     # Test functions43 44IMPORTING FROM THIS PACKAGE:45   # Import specific classes46   from oop_sorting_teaching.models import GestureImage, GestureRanking47   48   # Import algorithm49   from oop_sorting_teaching.algorithms.sorting import BubbleSort50   51   # Or use the convenient shortcuts below:52   from oop_sorting_teaching import GestureImage, BubbleSort53"""54 55# ==============================================================================56# CONVENIENT IMPORTS57# ==============================================================================58# These imports let users do:59#     from oop_sorting_teaching import GestureImage60# instead of:61#     from oop_sorting_teaching.models.gesture import GestureImage62# ==============================================================================63 64# Core models65from .models import (66    GestureRanking,67    GestureImage,68    StepType,69    Step,70    ImageList,71    GestureScorer,72)73 74# Sorting algorithms75from .algorithms import (76    SortingAlgorithm,77    SearchAlgorithm,78    BubbleSort,79    MergeSort,80    QuickSort,81    PivotStrategy,82    PartitionScheme,83    LinearSearch,84    BinarySearch,85)86 87# Visualization88from .visualization import (89    VisualizationState,90    VisualizationConfig,91    Visualizer,92    StepRenderer,93    RendererFactory,94)95 96# Define what gets exported with "from oop_sorting_teaching import *"97__all__ = [98    # Models99    "GestureRanking",100    "GestureImage", 101    "StepType",102    "Step",103    "ImageList",104    "GestureScorer",105    # Sorting106    "SortingAlgorithm",107    "BubbleSort",108    "MergeSort",109    "QuickSort",110    "PivotStrategy",111    "PartitionScheme",112    # Searching113    "SearchAlgorithm",114    "LinearSearch",115    "BinarySearch",116    # Visualization117    "VisualizationState",118    "VisualizationConfig",119    "Visualizer",120    "StepRenderer",121    "RendererFactory",122]123 124# Package version125__version__ = "1.0.0"126