numpy           # Numerical functions
pandas          # Dataframes and spreadsheet input
matplotlib      # Plotting
openpyxl        # To read Excel files; removed as a dependency of pandas as of version 1.3
xlsxwriter      # Spreadsheet output
psutil          # Load monitoring
dill            # For pickling more complex object types
zstandard       # For a more efficient compression algorithm
multiprocess    # More flexible version of multiprocessing
jsonpickle      # For converting arbitrary objects to JSON
pyyaml          # For loading/saving YAML
packaging       # For parsing versions
setuptools      # For versioning information not provided by importlib
gitpython       # Git version information
jellyfish       # For fuzzy string matching
tqdm            # For flexible progress bars 
python-dateutil # For more date utilities
memory_profiler # For the memory profiler
line_profiler; python_version < '3.12' # CPU profiler not currently compatible with Python 3.12
colorama; platform_system == 'Windows' # For colored text output -- only install on Windows
