# RCSB_UTILS_INSILICO3D HISTORY
   2-Aug-2021  - V0.10 Created module
  12-Sep-2021  - V0.11 Updates for CI pipeline
  21-Sep-2021  - V0.12 Add ModBaseModelProvider and ModBaseModelProcessor classes
  27-Sep-2021  - V0.13 Fixes and improvements to ModBase classes
  30-Sep-2021  - V0.14 Added SWISS-MODEL provider class; Minor changes to other classes
  01-Oct-2021  - V0.15 Reorganized directory tree structure for divided models into three levels
  12-Oct-2021  - V0.16 Added SWISS-MODEL conversion and processor classes; Minor adjustments to other classes
  13-Oct-2021  - V0.17 Changed AlphaFoldProvider to use HTTP instead of FTP for accessing files on remote server
  18-Oct-2021  - V0.18 Reorganized directory structure and cache of provided model files
  15-Dec-2021  - V0.19 Update location and filenames of AlphaFold models on FTP server
  10-Feb-2022  - V0.20 PyPI Checkpoint
  10-Mar-2022  - V0.21 Remove SwissModel classes until ready for production;
                       Update ModBase classes to utilize updated modbase_utils submodule;
                       Add ModelArchiveProvider classes;
                       Update caching method and directory tree structure for storing models in all classes
  15-Apr-2022  - V0.22 Improve AlphaFoldModelProvider usage and handling of cache;
                       Update modbase_utils submodule, now adds conversion script as a new software item;
                       Add ModelProviderWorkflow class for retrieving and reorganizing all model types;
                       Remove usage of configuration file for directory path determination, as this program will run on a dedicated instance
                       in which custom (local) directory paths will need to be specified;
                       Update ModelReorganizer for handling of unzipped model files.
  19-Apr-2022  - V0.23 Bug fix in ModelReorganizer;
                       Add runModelProviderWorkflow script for running through the entire workflow in production;
                       Update logging format for all classes to include timestamp;
                       Add sourceId of model to computed-models-cache file;
                       Update mock-data
  28-Apr-2022  - V0.24 Add ModelCacheProvider class;
                       Updates to model cache file content and structure;
                       Added lastModifiedDate to computed-model cache file
                       Moved ModBaseModelProvider and ModBaseModelProcessor classes to separate dev branch
  11-May-2022  - V0.25 Resolve download issue in AlphaFoldModelProvider (unpredictable stalling)
  31-May-2022  - V0.26 Update holdings cache file name and path by ModelReorganizer; update runModelProviderWorkflow protocol
  10-Jun-2022  - V0.27 Update ModelReorganizer to insert deposited assembly info
  10-Jun-2022  - V0.28 Bug fix in ModelReorganizer
  28-Jun-2022  - V0.29 Update ModelReorganizer to use internal IDs for entry identifiers to support operabilty with internal tools
  29-Jun-2022  - V0.30 Add both source and internal IDs to database_2 category in internal mmCIF file to maintain a reference and mapping to the source DB
  21-Jul-2022  - V0.31 Update ModelCacheProvider to allow for smaller number of test cases
  27-Jul-2022  - V0.32 Allow for user-specification of separate path to which to download source model files
  16-Nov-2022  - V0.33 Add AlphaFold model provider from public Google Cloud dataset;
                       Add methods to insert release dates to models lacking these details
                       Adjust ModelArchiveProvider to fetch model files individually (instead of the full bulk download)
  23-Dec-2022  - V0.34 Configuration changes to support tox 4
   9-Jan-2023  - V0.35 Improvements to ModelArchiveModelProvider, and addition of more ModelArchive data sets
  20-Mar-2023  - V0.36 Assign NCBI ID to ma-ornl-sphdiv files to enable organism metadata population
  27-Feb-2024  - V0.37 Update AlphaFoldModelCloudProvider and ModelArchiveProvider;
                       Adjust ModelReorganizer to handle bulk cloud datasets and write out models as BCIF.gz
   5-Mar-2024  - V0.38 Renamed ModelCacheProvider to ModelHoldingsProvider; Added support for CSM scaling (use of multiple holdings files)
  21-May-2024  - V0.39 Fix pylinting
   9-Dec-2024  - V0.40 Update Azure pipelines to use latest macOS, Ubuntu, and python 3.10
  20-Oct-2025  - V0.41 Update ModelReorganizer to fix data issues with AF v5 and v6 models (in `_pdbx_audit_revision_details.type`)
  21-Oct-2025  - V0.42 Switch to 'pyproject.toml' file and update test pipelines to python 3.13;
                       Separate out Google Cloud dependencies to be extra installs;
                       Remove 'modbase_utils' submodule and references to ModBase and SwissModel Repository;
                       Add version checking for AlphaFold FTP models, to stay up-to-date with the latest version available;
                       Re-establish FTP connection for each archive file download to ensure connection remains alive
   2-Dec-2025  - V0.43 Switch from setuptools to hatch build system
   7-May-2026  - V0.44 Add option to control output format for ModelReorganizer (set default to "mmcif");
                       Remove 'source_url' and 'source_pae_url' from holdings file content/output;
                       Stop configuring logging in package modules;
                       Remove `ModelHoldingsProvider.py` and `testModelHoldingsProvider.py`