From 9b2465d2011a53ca33ad253bca40e3715132419d Mon Sep 17 00:00:00 2001 From: Tom O'Hara Date: Wed, 4 Mar 2026 16:28:09 -0500 Subject: [PATCH] updates dependency lists with descriptions and improved install commands --- required-packages.txt | 82 ++++++++++++++++++++++++++----------------- requirements.txt | 75 ++++++++++++++++++++++++++------------- 2 files changed, 101 insertions(+), 56 deletions(-) diff --git a/required-packages.txt b/required-packages.txt index f271a4de..15e5439f 100644 --- a/required-packages.txt +++ b/required-packages.txt @@ -1,49 +1,67 @@ # The following packages are required. They can be installed as follows: -# sudo apt-get install $(grep -v ^# required-packages.txt) +# sudo apt-get install $(sed 's/ #.*//' required-packages.txt | grep -v ^#) 2> /dev/null # # In addition, there are some optional packages, which be installed as follows: -# sudo apt-get install $(perl -pe 's/^#opt#\s*//;' required-packages.txt | grep -v '^#') +# sudo apt-get install $(perl -pe 's/^#opt#\s*//;' required-packages.txt | sed 's/ #.*//' | grep -v '^#') 2> /dev/null # # Note: # - The package names are based on Ubuntu, and should be compatible with other # debian-based Linux distributions. # - See requirements.txt for Python package requirements. # -ansifilter -batspp -diffutils -git -jupyter-core -kdiff3 -less -lynx -openssh -perl -python3-pip -python3 -python-is-python3 -tar -tcsh -wget -xmllint -zip +ansifilter # - ANSI terminal escape code filter +batspp # - Bash Automated Testing System with Preprocessor +diffutils # - GNU diff utilities (diff, cmp, etc.) +enchant-2 # - Generic spell checking library +git # - Fast, distributed revision control system +jupyter-core # - Core common functionality of Jupyter projects +kdiff3 # - Compares and merges files or directories +less # - Pager program +lsb-release # - Linux Standard Base version reporting utility +lynx # - Text-based web browser +ncurses-bin # - Terminal-related programs and scripts (e.g., tput) +openssh # - Secure Shell (SSH) protocol for remote login +p7zip-full # - 7z and 7za file archivers +perl # - Practical Extraction and Report Language +pv # - Monitor the progress of data through a pipe +python3-pip # - Python 3 package installer +python3 # - Python 3 interpreter +python-is-python3 # - Symlinks /usr/bin/python to python3 +rcs # - Revision Control System +tar # - Tape Archiver for file archiving +tcsh # - TENEX C Shell, enhanced version of Berkeley C shell +wget # - Retrieves files from the web +xmllint # - XML linting and processing tool +zip # - Archiver for .zip files # #................................................................................ # Optional packages # -#opt# ImageMagick +#opt# ImageMagick # - Image manipulation tools ## OLD: #opt# extcolors -#opt# nmap -#opt# poppler-utils -#opt# rcs -#opt# shellcheck -#opt# colout -#opt# tesseract-ocr -#opt# kazam -#opt# screen -#opt# nvtop -## TODO: #opt# brew install act # see https://github.com/nektos/act +#opt# acl # - Access Control Lists utilities +#opt# awscli # - Amazon Web Services Command Line Interface +#opt# curl # - Transferring data with URL syntax +#opt# cvs # - Concurrent Versions System +#opt# ghostscript # - PostScript and PDF interpreter +#opt# gimp # - GNU Image Manipulation Program +#opt# gv # - PostScript and PDF viewer for X +#opt# gwenview # - Image viewer for KDE +#opt# libreoffice # - Free office suite +#opt# mercurial # - Distributed revision control system (hg) +#opt# nautilus # - File manager for GNOME +#opt# nmap # - Network exploration tool and port scanner +#opt# nvidia-utils-common # - NVIDIA driver support files +#opt# poppler-utils # - PDF utilities (based on poppler) +#opt# rcs # - Revision Control System +#opt# shellcheck # - Static analysis tool for shell scripts +#opt# colout # - Color up text from the command line +#opt# tesseract-ocr # - Optical Character Recognition (OCR) +#opt# kazam # - Screen recording and screen capture +#opt# screen # - Terminal multiplexer +#opt# nvtop # - NVIDIA GPUs display monitor +## TODO: #opt# brew install act # - see https://github.com/nektos/act ## TODO: docker ## ## TODO: #opt# xyz -#opt# kcov # see https://github.com/SimonKagstrom/kcov +#opt# kcov # - Code coverage tool for compiled programs and shell scripts diff --git a/requirements.txt b/requirements.txt index 185bca54..17f493f9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,36 +5,63 @@ # pip install --requirement requirements.txt # # Advanced usage (installs optional packages): -# pip install --verbose $(perl -pe 's/^#opt#\s*//;' requirements.txt | grep -v '^#') -# -batspp -click -mezcla>=1.3.9.8 -## NOTE: pipreqs disabled due to problem with Docker build. It is only -## used in local-workflows.sh and normally not invoked. -## OLD: pipreqs -## TODO: wheel (avoids similar build related issues) +# pip install --verbose $(perl -pe 's/^#opt#\s*//;' requirements.txt | sed 's/ #.*//' | grep -v '^#') 2> /dev/null +# +batspp # - Bash Automated Testing System with Preprocessor +click # - Composable command line interface toolkit +mezcla>=1.3.9.8 # - Miscellaneous Python scripts and utilities for R&D +# +#............................................................................... +# Additional dependencies found from imports +# +absl-py # - Abseil Python Common Libraries +bashlex # - Python parser for bash +cachetools # - Extensible memoizing collections and decorators +cherrypy # - Minimalist Python object-oriented HTTP framework +diskcache # - Disk and file backed persistent cache +flask # - Lightweight WSGI web application framework +gensim # - Topic modeling for humans +matplotlib # - Python 2D plotting library +nltk # - Natural Language Toolkit +numba # - NumPy aware dynamic Python compiler +pandas # - Powerful data structures for data analysis and statistics +Pillow # - Python Imaging Library (Fork) +psutil # - Cross-platform lib for process and system monitoring +requests # - Python HTTP for Humans +scikit-learn # - Machine learning in Python +stop-words # - Get list of common stop words +torch # - Tensors and Dynamic neural networks (PyTorch) +tqdm # - Fast, Extensible Progress Meter +unidecode # - Unicode to ASCII transliteration +webcolors # - Library for working with color names and values +xmltodict # - Makes working with XML feel like working with JSON +youtube-transcript-api # - API for getting transcripts for YouTube videos +pyenchant # - Spellchecking library +spacy # - Industrial-strength Natural Language Processing +transformers # - State-of-the-art Machine Learning (Hugging Face) +# #............................................................................... # Redundant specification of some dependencies due to Git workflow quirk, # such as with mezcla. (Also, some are just optional for mezcla.) # # note: post-install for bash_kernel: python -m bash_kernel.install -bash_kernel -# -importlib_metadata -ipython -jupyter -numpy -openai -pylint -pytest -pyyaml -selenium -six +bash_kernel # - A bash kernel for Jupyter +# +importlib_metadata # - Library to access the metadata for a Python package +ipython # - Interactive Python shell +jupyter # - Jupyter notebook and related tools +numpy # - Fundamental package for scientific computing +openai # - Python client library for the OpenAI API +pylint # - Python static code analysis +pytest # - Python testing framework +pyyaml # - YAML parser and emitter for Python +selenium # - Browser automation +six # - Python 2 and 3 compatibility utilities +# +extcolors # - Extract colors from an image # #............................................................................... # Optional packages # -#opt# extcolors -#opt# tesseract -#opt# black +#opt# tesseract # - Optical Character Recognition (OCR) +#opt# black # - The uncompromising Python code formatter