β¨ Welcome to Stouputils Documentation β¨#
Versions: latest, v1.20.2, v1.20.1, v1.20.0, v1.19.5, v1.19.4, v1.19.3, v1.19.2, v1.19.1, v1.19.0, v1.18.6, v1.17.0, v1.16.3, v1.15.1, v1.14.3
π οΈ Project Badges#
π Project Overview#
Stouputils is a collection of utility modules designed to simplify and enhance the development process.
It includes a range of tools for tasks such as execution of doctests, display utilities, decorators, as well as context managers.
Start now by installing the package: pip install stouputils.
π CLI Quick Reference#
Stouputils provides a powerful command-line interface. Hereβs a quick example for each subcommand:
# Show version information of polars with dependency tree of depth 3
stouputils --version polars -t 3
# Run all doctests in a directory with pattern filter (fnmatch)
stouputils all_doctests "./src" "*_test"
# Repair a corrupted/obstructed zip archive
stouputils repair "./input.zip" "./output.zip"
# Create a delta backup
stouputils backup delta "./source" "./backups"
# Build and publish to PyPI (with minor version bump and no stubs)
stouputils build minor --no_stubs
# Generate changelog from git history (since a specific date, with commit URLs from origin remote, output to file)
stouputils changelog date "2026-01-01" -r origin -o "CHANGELOG.md"
π See the Extensive CLI Documentation section below for detailed usage and all available options.
π Project File Tree#
stouputils/ βββ print.py # π¨οΈ Utility functions for printing (info, debug, warning, error, whatisit, breakpoint, colored_for_loop, ...) βββ decorators.py # π― Decorators (measure_time, handle_error, timeout, retry, simple_cache, abstract, deprecated, silent) βββ ctx.py # π Context managers (LogToFile, MeasureTime, Muffle, DoNothing, SetMPStartMethod) βββ io.py # πΎ Utilities for file management (json_dump, json_load, csv_dump, csv_load, read_file, super_copy, super_open, clean_path, ...) βββ parallel.py # π Utility functions for parallel processing (multiprocessing, multithreading, run_in_subprocess) βββ image.py # πΌοΈ Little utilities for image processing (image_resize, auto_crop, numpy_to_gif, numpy_to_obj) βββ collections.py # π§° Utilities for collection manipulation (unique_list, at_least_n, sort_dict_keys, upsert_in_dataframe, array_to_disk) βββ typing.py # π Utilities for typing enhancements (IterAny, JsonDict, JsonList, ..., convert_to_serializable) βββ all_doctests.py # β Run all doctests for all modules in a given directory (launch_tests, test_module_with_progress) βββ backup.py # πΎ Utilities for backup management (delta backup, consolidate) βββ archive.py # π¦ Functions for creating and managing archives β βββ applications/ β βββ automatic_docs.py # π Documentation generation utilities (used to create this documentation) β βββ upscaler/ # π Image & Video upscaler (configurable) β βββ ... β βββ continuous_delivery/ β βββ cd_utils.py # π§ Utilities for continuous delivery β βββ git.py # π Utilities for local git changelog generation β βββ github.py # π¦ Utilities for continuous delivery on GitHub (upload_to_github) β βββ pypi.py # π¦ Utilities for PyPI (pypi_full_routine) β βββ pyproject.py # π Utilities for reading, writing and managing pyproject.toml files β βββ stubs.py # π Utilities for generating stub files using stubgen β βββ ... β βββ data_science/ β βββ config/ # βοΈ Configuration utilities for data science β βββ dataset/ # π Dataset handling (dataset, dataset_loader, grouping_strategy) β βββ data_processing/ # π Data processing utilities (image augmentation, preprocessing) β β βββ image/ # πΌοΈ Image processing techniques β β βββ ... β βββ models/ # π§ ML/DL model interfaces and implementations β β βββ keras/ # π€ Keras model implementations β β βββ keras_utils/ # π οΈ Keras utilities (callbacks, losses, visualizations) β β βββ ... β βββ scripts/ # π Data science scripts (augment, preprocess, routine) β βββ metric_utils.py # π Static methods for calculating various ML metrics β βββ mlflow_utils.py # π Utility functions for working with MLflow β βββ ... β βββ installer/ β βββ common.py # π§ Common functions used by the Linux and Windows installers modules β βββ downloader.py # β¬οΈ Functions for downloading and installing programs from URLs β βββ linux.py # π§ Linux/macOS specific implementations for installation β βββ main.py # π Core installation functions for installing programs from zip files or URLs β βββ windows.py # π» Windows specific implementations for installation β βββ ... βββ ...
π§ Installation#
pip install stouputils
β¨ Enable Tab Completion on Linux (Optional)#
For a better CLI experience, enable bash tab completion:
# Option 1: Using argcomplete's global activation
activate-global-python-argcomplete --user
# Option 2: Manual setup for bash
register-python-argcomplete stouputils >> ~/.bashrc
source ~/.bashrc
After enabling completion, you can use <TAB> to autocomplete commands:
stouputils <TAB> # Shows: --version, -v, all_doctests, backup
stouputils all_<TAB> # Completes to: all_doctests
Note: Tab completion works best in bash, zsh, Git Bash, or WSL on Windows.
π Extensive CLI Documentation#
The stouputils CLI provides several powerful commands for common development tasks.
β‘ General Usage#
stouputils <command> [options]
Running stouputils without arguments displays help with all available commands.
π --version / -v β Show Version Information#
Display the version of stouputils and its dependencies, along with the used Python version.
# Basic usage - show stouputils version
stouputils --version
stouputils -v
# Show version for a specific package
stouputils --version numpy
stouputils -v requests
# Show dependency tree (depth 3+)
stouputils --version -t 3
stouputils -v stouputils --tree 4
Options:
Option |
Description |
|---|---|
|
Optional package name to show version for (default: stouputils) |
|
Show dependency tree with specified depth (β€2 for flat list, β₯3 for tree view) |
β
all_doctests β Run Doctests#
Execute all doctests in Python files within a directory.
# Run doctests in current directory
stouputils all_doctests
# Run doctests in specific directory
stouputils all_doctests ./src
# Run doctests with file pattern filter
stouputils all_doctests ./src "*image/*.py"
stouputils all_doctests . "*utils*"
Arguments:
Argument |
Description |
|---|---|
|
Directory to search for Python files (default: |
|
Glob pattern to filter files (default: |
Exit codes:
0: All tests passed1: One or more tests failed
π¦ archive β Archive Utilities#
Create and repair ZIP archives.
# Show archive help
stouputils archive --help
archive make β Create Archive#
# Basic archive creation
stouputils archive make ./my_folder ./backup.zip
# Create archive with ignore patterns
stouputils archive make ./project ./project.zip --ignore "*.pyc,__pycache__,*.log"
# Create destination directory if needed
stouputils archive make ./source ./backups/archive.zip --create-dir
Arguments & Options:
Argument/Option |
Description |
|---|---|
|
Source directory to archive |
|
Destination zip file path |
|
Comma-separated glob patterns to exclude |
|
Create destination directory if it doesnβt exist |
archive repair β Repair Corrupted ZIP#
# Repair with auto-generated output name
stouputils archive repair ./corrupted.zip
# Repair with custom output name
stouputils archive repair ./corrupted.zip ./fixed.zip
Arguments:
Argument |
Description |
|---|---|
|
Path to the corrupted zip file |
|
Path for repaired file (default: adds |
πΎ backup β Backup Utilities#
Create delta backups, consolidate existing backups, and manage backup retention.
# Show backup help
stouputils backup --help
backup delta β Create Delta Backup#
Create an incremental backup containing only new or modified files since the last backup.
# Basic delta backup
stouputils backup delta ./my_project ./backups
# Delta backup with exclusions
stouputils backup delta ./project ./backups -x "*.pyc" "__pycache__/*" "node_modules/*"
stouputils backup delta ./source ./backups --exclude "*.log" "temp/*"
Arguments & Options:
Argument/Option |
Description |
|---|---|
|
Source directory or file to back up |
|
Destination folder for backups |
|
Glob patterns to exclude (space-separated) |
backup consolidate β Consolidate Backups#
Merge multiple delta backups into a single complete backup.
# Consolidate all backups up to latest.zip into one file
stouputils backup consolidate ./backups/latest.zip ./consolidated.zip
Arguments:
Argument |
Description |
|---|---|
|
Path to the latest backup ZIP file |
|
Path for the consolidated output file |
backup limit β Limit Backup Count#
Limit the number of delta backups by consolidating the oldest ones.
# Keep only the 5 most recent backups
stouputils backup limit 5 ./backups
# Allow deletion of the oldest backup (not recommended)
stouputils backup limit 5 ./backups --no-keep-oldest
Arguments & Options:
Argument/Option |
Description |
|---|---|
|
Maximum number of backups to keep |
|
Path to the folder containing backups |
|
Allow deletion of the oldest backup (default: keep it) |
ποΈ build β Build and Publish to PyPI#
Build and publish a Python package to PyPI using the uv tool. This runs a complete routine including version bumping, stub generation, building, and publishing.
# Standard build and publish (bumps patch by default)
stouputils build
# Build without generating stubs and without bumping version
stouputils build --no_stubs --no_bump
# Bump minor version before build
stouputils build minor
# Bump major version before build
stouputils build major
Options:
Option |
Description |
|---|---|
|
Skip stub file generation |
|
Skip version bumping (use current version) |
|
Bump minor version (e.g., 1.2.0 β 1.3.0) |
|
Bump major version (e.g., 1.2.0 β 2.0.0) |
π changelog β Generate Changelog#
Generate a formatted changelog from local git history.
# Show changelog help
stouputils changelog --help
# Generate changelog since latest tag (default)
stouputils changelog
# Generate changelog since a specific tag
stouputils changelog tag v1.9.0
# Generate changelog since a specific date
stouputils changelog date 2026/01/05
stouputils changelog date "2026-01-15 14:30:00"
# Generate changelog since a specific commit
stouputils changelog commit 847b27e
# Include commit URLs from a remote
stouputils changelog --remote origin
stouputils changelog tag v2.0.0 -r origin
# Output to a file
stouputils changelog -o CHANGELOG.md
stouputils changelog tag v1.0.0 --output docs/CHANGELOG.md
Arguments & Options:
Argument/Option |
Description |
|---|---|
|
Mode for selecting commits: |
|
Value for the mode (tag name, date, or commit SHA) |
|
Remote name for commit URLs (e.g., |
|
Output file path (default: stdout) |
Supported date formats:
YYYY/MM/DDorYYYY-MM-DDDD/MM/YYYYorDD-MM-YYYYYYYY-MM-DD HH:MM:SSISO 8601:
YYYY-MM-DDTHH:MM:SS
π Examples Summary#
Command |
Description |
|---|---|
|
Show version |
|
Show numpy version with dependency tree |
|
Run doctests in src directory |
|
Create archive |
|
Repair corrupted zip |
|
Create delta backup |
|
Consolidate backups |
|
Keep only 5 backups |
|
Build with minor version bump |
|
Generate changelog to file |
β Star History#
Module Documentation#
- stouputils package
- Subpackages
- stouputils.applications package
- Subpackages
- stouputils.applications.upscaler package
- Submodules
- stouputils.applications.upscaler.config module
WAIFU2X_NCNN_VULKAN_RELEASESFFMPEG_RELEASESYOUTUBE_BITRATE_RECOMMENDATIONSConfigConfig.JPG_QUALITYConfig.VIDEO_FINAL_BITRATEConfig.FFMPEG_EXECUTABLEConfig.FFMPEG_ARGSConfig.FFPROBE_EXECUTABLEConfig.FFMPEG_CHECK_HELP_TEXTConfig.UPSCALER_EXECUTABLEConfig.UPSCALER_ARGSConfig.UPSCALER_EXECUTABLE_HELP_TEXTConfig.SLIGHTLY_FASTER_MODEConfig.upscaler_executable_checkedConfig.ffmpeg_executable_checked
- stouputils.applications.upscaler.image module
- stouputils.applications.upscaler.video module
- stouputils.applications.upscaler.config module
- Submodules
- stouputils.applications.upscaler package
- Submodules
- Subpackages
- stouputils.continuous_delivery package
- stouputils.data_science namespace
- Subpackages
- stouputils.data_science.config namespace
- Submodules
- stouputils.data_science.config.get module
- stouputils.data_science.config.set module
DataScienceConfigDataScienceConfig.SEEDDataScienceConfig.ERROR_LOGDataScienceConfig.AUGMENTED_FILE_SUFFIXDataScienceConfig.AUGMENTED_DIRECTORY_PREFIXDataScienceConfig.PREPROCESSED_DIRECTORY_SUFFIXDataScienceConfig.ROOTDataScienceConfig.MLFLOW_FOLDERDataScienceConfig.MLFLOW_URIDataScienceConfig.DATA_FOLDERDataScienceConfig.TEMP_FOLDERDataScienceConfig.LOGS_FOLDERDataScienceConfig.TENSORBOARD_FOLDERDataScienceConfig.TEST_SIZEDataScienceConfig.VALIDATION_SIZEDataScienceConfig.SAVE_MODELDataScienceConfig.DO_SALIENCY_AND_GRADCAMDataScienceConfig.DO_LEARNING_RATE_FINDERDataScienceConfig.DO_UNFREEZE_FINDERDataScienceConfig.DO_FIT_IN_SUBPROCESSDataScienceConfig.MIXED_PRECISION_POLICYDataScienceConfig.TENSORFLOW_DEVICEDataScienceConfig.update_root()
- Submodules
- stouputils.data_science.data_processing namespace
- Subpackages
- stouputils.data_science.data_processing.image package
- Submodules
- stouputils.data_science.data_processing.image.auto_contrast module
- stouputils.data_science.data_processing.image.axis_flip module
- stouputils.data_science.data_processing.image.bias_field_correction module
- stouputils.data_science.data_processing.image.binary_threshold module
- stouputils.data_science.data_processing.image.blur module
- stouputils.data_science.data_processing.image.brightness module
- stouputils.data_science.data_processing.image.canny module
- stouputils.data_science.data_processing.image.clahe module
- stouputils.data_science.data_processing.image.common module
- stouputils.data_science.data_processing.image.contrast module
- stouputils.data_science.data_processing.image.curvature_flow_filter module
- stouputils.data_science.data_processing.image.denoise module
- stouputils.data_science.data_processing.image.histogram_equalization module
- stouputils.data_science.data_processing.image.invert module
- stouputils.data_science.data_processing.image.laplacian module
- stouputils.data_science.data_processing.image.median_blur module
- stouputils.data_science.data_processing.image.noise module
- stouputils.data_science.data_processing.image.normalize module
- stouputils.data_science.data_processing.image.random_erase module
- stouputils.data_science.data_processing.image.resize module
- stouputils.data_science.data_processing.image.rotation module
- stouputils.data_science.data_processing.image.salt_pepper module
- stouputils.data_science.data_processing.image.sharpening module
- stouputils.data_science.data_processing.image.shearing module
- stouputils.data_science.data_processing.image.threshold module
- stouputils.data_science.data_processing.image.translation module
- stouputils.data_science.data_processing.image.zoom module
- Submodules
- stouputils.data_science.data_processing.image package
- Submodules
- stouputils.data_science.data_processing.image_augmentation module
- stouputils.data_science.data_processing.image_preprocess module
- stouputils.data_science.data_processing.prosthesis_detection module
- stouputils.data_science.data_processing.technique module
ProcessingTechniqueProcessingTechnique.nameProcessingTechnique.rangesProcessingTechnique.probabilityProcessingTechnique.customProcessingTechnique.deterministic()ProcessingTechnique.apply()ProcessingTechnique._asdict()ProcessingTechnique._field_defaultsProcessingTechnique._fieldsProcessingTechnique._make()ProcessingTechnique._replace()
RecommendedProcessingTechniqueRecommendedProcessingTechnique.ROTATIONRecommendedProcessingTechnique.TRANSLATIONRecommendedProcessingTechnique.SHEARINGRecommendedProcessingTechnique.AXIS_FLIPRecommendedProcessingTechnique.NOISERecommendedProcessingTechnique.SALT_PEPPERRecommendedProcessingTechnique.SHARPENINGRecommendedProcessingTechnique.CONTRASTRecommendedProcessingTechnique.ZOOMRecommendedProcessingTechnique.BRIGHTNESSRecommendedProcessingTechnique.BLURRecommendedProcessingTechnique.RANDOM_ERASERecommendedProcessingTechnique.CLAHERecommendedProcessingTechnique.BINARY_THRESHOLDRecommendedProcessingTechnique.THRESHOLDRecommendedProcessingTechnique.CANNYRecommendedProcessingTechnique.LAPLACIANRecommendedProcessingTechnique.AUTO_CONTRASTRecommendedProcessingTechnique.CURVATURE_FLOW_FILTERRecommendedProcessingTechnique.BIAS_FIELD_CORRECTIONRecommendedProcessingTechnique.NORMALIZERecommendedProcessingTechnique.MEDIAN_BLURRecommendedProcessingTechnique.NLM_DENOISERecommendedProcessingTechnique.BILATERAL_DENOISERecommendedProcessingTechnique.TV_DENOISERecommendedProcessingTechnique.WAVELET_DENOISERecommendedProcessingTechnique.ADAPTIVE_DENOISERecommendedProcessingTechnique.INVERT
- Subpackages
- stouputils.data_science.dataset package
- Submodules
- stouputils.data_science.dataset.dataset module
DEFAULT_IMAGE_KWARGSDatasetDataset._training_dataDataset._val_dataDataset._test_dataDataset.num_classesDataset.nameDataset.loading_typeDataset.grouping_strategyDataset.labelsDataset.class_distributionDataset.original_datasetDataset._get_num_classes()Dataset._update_class_distribution()Dataset.exclude_augmented_images_from_val_test()Dataset.get_experiment_name()
- stouputils.data_science.dataset.dataset_loader module
- stouputils.data_science.dataset.grouping_strategy module
- stouputils.data_science.dataset.image_loader module
- stouputils.data_science.dataset.xy_tuple module
XyTupleXyTuple._XXyTuple._yXyTuple.filepathsXyTuple.augmented_filesXyTuple.n_samplesXyTuple.is_empty()XyTuple.update_augmented_files()XyTuple.group_by_original()XyTuple.get_indices_from_originals()XyTuple.create_subset()XyTuple.remove_augmented_files()XyTuple.split()XyTuple.kfold_split()XyTuple.ungrouped_array()XyTuple.empty()
- stouputils.data_science.dataset.dataset module
- Submodules
- stouputils.data_science.models namespace
- Subpackages
- stouputils.data_science.models.keras namespace
- Submodules
- stouputils.data_science.models.keras.all module
- stouputils.data_science.models.keras.convnext module
- stouputils.data_science.models.keras.densenet module
- stouputils.data_science.models.keras.efficientnet module
- stouputils.data_science.models.keras.mobilenet module
- stouputils.data_science.models.keras.resnet module
- stouputils.data_science.models.keras.squeezenet module
- stouputils.data_science.models.keras.vgg module
- stouputils.data_science.models.keras.xception module
- Submodules
- stouputils.data_science.models.keras_utils namespace
- stouputils.data_science.models.keras namespace
- Submodules
- stouputils.data_science.models.abstract_model module
AbstractModelAbstractModel.routine_full()AbstractModel.class_load()AbstractModel.class_train()AbstractModel.class_predict()AbstractModel.class_evaluate()AbstractModel._fit()AbstractModel._get_callbacks()AbstractModel._get_metrics()AbstractModel._get_optimizer()AbstractModel._get_loss()AbstractModel._get_base_model()AbstractModel._get_architectures()AbstractModel._find_best_learning_rate()AbstractModel._train_fold()AbstractModel._log_final_model()AbstractModel._find_best_learning_rate_subprocess()AbstractModel._find_best_unfreeze_percentage_subprocess()AbstractModel._train_subprocess()
- stouputils.data_science.models.all module
- stouputils.data_science.models.base_keras module
BaseKerasBaseKeras.class_load()BaseKeras._fit()BaseKeras._get_architectures()BaseKeras._get_callbacks()BaseKeras._get_metrics()BaseKeras._get_optimizer()BaseKeras._get_loss()BaseKeras._find_best_learning_rate_subprocess()BaseKeras._find_best_unfreeze_percentage_subprocess()BaseKeras._train_subprocess()BaseKeras.class_predict()BaseKeras._log_final_model()BaseKeras.class_evaluate()
- stouputils.data_science.models.model_interface module
ModelInterfaceModelInterface.final_modelModelInterface.model_nameModelInterface.kfoldModelInterface.transfer_learningModelInterface.is_trainedModelInterface.num_classesModelInterface.override_paramsModelInterface.run_nameModelInterface.historyModelInterface.evaluation_resultsModelInterface.additional_training_dataModelInterface.batch_sizeModelInterface.epochsModelInterface.class_weightModelInterface.unfreeze_percentageModelInterface.fine_tune_last_layersModelInterface.beta_1ModelInterface.beta_2ModelInterface.early_stop_patienceModelInterface.model_checkpoint_delayModelInterface.learning_rateModelInterface.reduce_lr_patienceModelInterface.min_deltaModelInterface.min_lrModelInterface.factorModelInterface.warmup_epochsModelInterface.initial_warmup_lrModelInterface.lr_finder_min_lrModelInterface.lr_finder_max_lrModelInterface.lr_finder_epochsModelInterface.lr_finder_update_per_epochModelInterface.lr_finder_update_intervalModelInterface.unfreeze_finder_epochsModelInterface.unfreeze_finder_update_per_epochModelInterface.unfreeze_finder_update_intervalModelInterface.total_layersModelInterface.class_load()ModelInterface.train()ModelInterface.predict()ModelInterface.evaluate()ModelInterface.routine_full()ModelInterface._routine()ModelInterface._get_transfer_learning_weights()ModelInterface._get_total_layers()ModelInterface._set_parameters()ModelInterface._set_class_weight()ModelInterface._log_parameters()ModelInterface._get_fold_split()ModelInterface._train_final_model()ModelInterface._train_each_fold()ModelInterface.class_train()ModelInterface._log_metrics()ModelInterface.class_evaluate()ModelInterface._find_best_learning_rate()ModelInterface._find_best_unfreeze_percentage()ModelInterface._train_fold()
- stouputils.data_science.models.sandbox module
- stouputils.data_science.models.abstract_model module
- Subpackages
- stouputils.data_science.scripts namespace
- stouputils.data_science.config namespace
- Submodules
- stouputils.data_science.metric_dictionnary module
- stouputils.data_science.metric_utils module
MetricUtilsMetricUtils.metrics()MetricUtils.confusion_matrix()MetricUtils.f_scores()MetricUtils.matthews_correlation()MetricUtils.roc_curve_and_auc()MetricUtils.pr_curve_and_auc()MetricUtils.all_curves()MetricUtils.plot_metric_curves()MetricUtils.plot_every_metric_curves()MetricUtils.find_best_x_and_plot()
- stouputils.data_science.mlflow_utils module
- stouputils.data_science.range_tuple module
- stouputils.data_science.utils module
- Subpackages
- stouputils.installer package
- stouputils.lock package
- Usage
- Submodules
- stouputils.lock.base module
_lock_fd()_unlock_fd()_remove_file_if_unlocked()_worker()_hold()LockFifoLockFifo.pathLockFifo.timeoutLockFifo.blockingLockFifo.check_intervalLockFifo.fileLockFifo.fdLockFifo.is_lockedLockFifo.fifoLockFifo.fifo_stale_timeoutLockFifo.queue_dirLockFifo._abc_implLockFifo._get_ticket()LockFifo._cleanup_stale_tickets()LockFifo.perform_lock()LockFifo.acquire()LockFifo.release()LockFifo.close()
- stouputils.lock.queue module
- stouputils.lock.re_entrant module
- stouputils.lock.redis_fifo module
- stouputils.lock.shared module
- stouputils.lock.base module
- stouputils.parallel package
- stouputils.applications package
- Submodules
- stouputils.__main__ module
- stouputils._deprecated module
- stouputils.all_doctests module
- stouputils.archive module
- stouputils.backup module
- stouputils.collections module
- stouputils.ctx module
- stouputils.decorators module
- stouputils.image module
- stouputils.io module
- stouputils.print module
- stouputils.typing module
- stouputils.version_pkg module
- Subpackages