Skip to content

refactor: comprehensive docstring improvements and code cleanup #198

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

astrogilda
Copy link
Owner

Summary

  • Refactored docstrings across the codebase to follow consistent narrative-driven documentation standards
  • Removed deprecated TSFitBestLag class and cleaned up model_selection folder
  • Moved AutoOrderSelector to utils for better code organization
  • Improved code readability with better variable naming and structure

Test plan

  • All existing tests pass without modification
  • No functionality changes, only documentation and code organization improvements
  • Verified no breaking changes to public API
  • Checked that all imports work correctly after file reorganization

Fixed VAR (Vector Autoregression) model data shape issues in multiple components:

- TimeSeriesModelSklearn: Removed incorrect transpose for VAR data, now correctly passes (n_obs, n_vars) to backend
- BackendToStatsmodelsAdapter: Updated forecast method to properly handle VAR model parameters
- test_backend_feature_coverage.py: Fixed VAR test data preparation to use correct shape

All VAR models now consistently expect data in (n_obs, n_vars) format throughout the codebase.
- Remove test_tsfit_compatibility that tried to import non-existent TSFit
- Replace with test_tsfitbestlag_compatibility that tests deprecation warning
- TSFitBestLag is now a deprecated subclass of AutoOrderSelector, not an alias
- Test verifies deprecation warning is shown and functionality still works
- Remove TSFitBestLag class entirely from codebase
- Update all imports to use AutoOrderSelector directly
- Remove deprecation warnings and documentation mentions
- Update tests to use AutoOrderSelector instead of TSFitBestLag
- Clean up __all__ exports in __init__.py files

The AutoOrderSelector class provides the same functionality without
the legacy naming. This completes the removal of all TSFit-related
code from the codebase.
…folder

- Move AutoOrderSelector from model_selection/best_lag.py to utils/auto_order_selector.py
- Remove empty model_selection folder entirely
- Update all imports to use new location
- Rename test_best_lag.py to test_auto_order_selector_legacy.py for clarity
- Export AutoOrderSelector from utils/__init__.py
- Fix all patch statements in tests to use new import path

This simplifies the project structure by removing a folder that contained
only one file with a confusing name (best_lag.py).
This commit improves documentation throughout the codebase and completes
the migration to the new high-performance backend system.

Backend Migration:
- Remove deprecated TSFit classes and references
- Clean up legacy code paths
- Remove obsolete analysis documentation

Documentation Improvements:
- Update docstrings across 37 files for better clarity
- Add detailed explanations of design decisions
- Include practical examples and usage patterns
- Improve error messages for better debugging
- Remove internal references inappropriate for public repository

Code Quality:
- Enhanced type annotations in type system modules
- Improved protocol definitions for backend system
- Better documented service architecture
- Clearer validation error messages

This ensures the codebase has consistent, high-quality documentation
that helps users understand both functionality and design rationale.
Copy link

sonarqubecloud bot commented Jul 6, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
13.4% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant