|
| 1 | +--- |
| 2 | +date: 2026-04-01 |
| 3 | +authors: |
| 4 | + - GBARAS |
| 5 | +--- |
| 6 | + |
| 7 | +# Important: Module Removals and Deprecations in RTDIP SDK v0.14.5 |
| 8 | + |
| 9 | +<center> |
| 10 | +<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/framework.png" width="60%" alt="breaking-changes" /> |
| 11 | +</center> |
| 12 | + |
| 13 | +We are pleased to announce significant updates to the RTDIP SDK that improve performance and focus the platform on its core strengths. These changes involve the removal of several modules and the deprecation of turbodbc support. This post outlines these changes and provides guidance on migration paths. |
| 14 | + |
| 15 | +<!-- more --> |
| 16 | + |
| 17 | +## Summary of Changes |
| 18 | + |
| 19 | +### Removed Modules |
| 20 | + |
| 21 | +The following modules have been completely removed from RTDIP SDK v0.14.5: |
| 22 | + |
| 23 | +#### 1. Data Quality Module (`rtdip_sdk.pipelines.data_quality`) |
| 24 | +The entire data quality module, including monitoring and data manipulation components, has been removed. This includes: |
| 25 | + |
| 26 | +- **Monitoring Components:** CheckValueRanges, FlatlineDetection, IdentifyMissingDataInterval, IdentifyMissingDataPattern, MovingAverage, GreatExpectationsDataQuality |
| 27 | +- **Data Manipulation Components:** DimensionalityReduction, DuplicateDetection, FlatlineFilter, GaussianSmoothing, IntervalFiltering, KSigmaAnomalyDetection, MissingValueImputation, OutOfRangeValueFilter |
| 28 | +- **Normalization Components:** NormalizationZScore, NormalizationMean, NormalizationMinMax, Denormalization |
| 29 | +- **Base Interfaces:** InputValidator, DataManipulationBaseInterface, MonitoringBaseInterface |
| 30 | + |
| 31 | +**Impact:** Applications using these components will need to be refactored to use alternative solutions or upgraded to implement data quality checks independently. |
| 32 | + |
| 33 | +#### 2. Forecasting Module (`rtdip_sdk.pipelines.forecasting`) |
| 34 | +The entire forecasting module has been removed. This includes: |
| 35 | + |
| 36 | +- **Time Series Forecasting:** ArimaPrediction, ArimaAutoPrediction |
| 37 | +- **Machine Learning Models:** LinearRegression, KNearestNeighbors, DataBinning |
| 38 | +- **Base Interface:** MachineLearningInterface |
| 39 | + |
| 40 | +**Impact:** Applications using ARIMA, AutoARIMA, or other forecasting models will need to migrate to external forecasting libraries or implement their own models. |
| 41 | + |
| 42 | +#### 3. Associated Tests |
| 43 | +All test files for the removed modules have been removed from the test suite, including: |
| 44 | +- 23 data quality tests |
| 45 | +- 6 forecasting tests |
| 46 | +- 1 logging integration test (`test_log_collection.py`) |
| 47 | + |
| 48 | +### Removed Package Dependencies |
| 49 | +The following packages, which were only used by the removed modules, have been removed from dependencies: |
| 50 | + |
| 51 | +- `statsmodels>=0.14.1` - Used by ARIMA models |
| 52 | +- `pmdarima>=2.0.4` - Used by AutoARIMA |
| 53 | +- `great-expectations>=0.18.8` - Used by data quality monitoring |
| 54 | +- `scikit-learn>=1.3.0` - Used by machine learning components |
| 55 | + |
| 56 | +### Deprecated: Turbodbc Support |
| 57 | + |
| 58 | +**Turbodbc is no longer inherently supported in RTDIP SDK (as of v0.14.5).** The connector is maintained for backward compatibility, but is deprecated. |
| 59 | + |
| 60 | +#### Migration Options |
| 61 | +If you require turbodbc connectivity, you have two choices: |
| 62 | + |
| 63 | +**Option 1: Use an older RTDIP version** |
| 64 | +```bash |
| 65 | +pip install "rtdip-sdk<=0.14.4" |
| 66 | +``` |
| 67 | + |
| 68 | +**Option 2: Manual Installation** |
| 69 | +Install turbodbc manually in your environment: |
| 70 | +```bash |
| 71 | +pip install "turbodbc" |
| 72 | +``` |
| 73 | + |
| 74 | +#### Alternative Connectors |
| 75 | +For new projects, we recommend using: |
| 76 | +- **DatabricksSQLConnection** (Default and recommended) |
| 77 | +- **PYODBCSQLConnection** (Lightweight ODBC alternative) |
| 78 | +- **SparkConnection** |
| 79 | + |
| 80 | +## Affected Components & Migration Guidance |
| 81 | + |
| 82 | +### If You Were Using Data Quality Monitoring |
| 83 | +**Previous Approach:** |
| 84 | +```python |
| 85 | +from rtdip_sdk.pipelines.data_quality.monitoring.spark import IdentifyMissingDataInterval |
| 86 | +``` |
| 87 | + |
| 88 | +**Migration:** |
| 89 | +- Implement custom monitoring logic |
| 90 | +- Use external data quality frameworks (e.g., Great Expectations directly) |
| 91 | +- Implement monitoring in your data pipeline transforms |
| 92 | + |
| 93 | +### If You Were Using Data Quality Data Manipulation |
| 94 | +**Previous Approach:** |
| 95 | +```python |
| 96 | +from rtdip_sdk.pipelines.data_quality.data_manipulation.spark import MissingValueImputation |
| 97 | +``` |
| 98 | + |
| 99 | +**Migration:** |
| 100 | +- Use PySpark SQL and DataFrame operations directly |
| 101 | +- Implement transform logic in pipeline steps |
| 102 | +- Consider external libraries for specialized operations |
| 103 | + |
| 104 | +### If You Were Using Forecasting |
| 105 | +**Previous Approach:** |
| 106 | +```python |
| 107 | +from rtdip_sdk.pipelines.forecasting.spark import ArimaAutoPrediction |
| 108 | +``` |
| 109 | + |
| 110 | +**Migration:** |
| 111 | +- Use external forecasting libraries: |
| 112 | + - [statsmodels](https://www.statsmodels.org/) for ARIMA/AutoARIMA |
| 113 | + - [prophet](https://facebook.github.io/prophet/) for time series |
| 114 | + - [scikit-learn](https://scikit-learn.org/) for ML models |
| 115 | +- Implement forecasting in separate pipeline steps or services |
| 116 | + |
| 117 | +### If You Were Using Turbodbc |
| 118 | +**Previous Approach:** |
| 119 | +```python |
| 120 | +from rtdip_sdk.connectors import TURBODBCSQLConnection |
| 121 | +``` |
| 122 | + |
| 123 | +**Migration:** |
| 124 | +```python |
| 125 | +# Option 1: Use PYODBC instead (recommended) |
| 126 | +from rtdip_sdk.connectors import PYODBCSQLConnection |
| 127 | + |
| 128 | +# Option 2: Continue with turbodbc (manual installation) |
| 129 | +# Install turbodbc |
| 130 | +# No code changes needed, deprecation warnings will appear |
| 131 | +``` |
| 132 | + |
| 133 | +## When to Update |
| 134 | + |
| 135 | +We recommend updating to v0.14.5 if: |
| 136 | +- You are not using data quality, forecasting, or turbodbc features |
| 137 | +- You are ready to migrate to alternative solutions for removed functionality |
| 138 | +- You want the latest RTDIP updates and improvements |
| 139 | + |
| 140 | +**Delay updating if:** |
| 141 | +- You heavily rely on data quality monitoring/manipulation |
| 142 | +- You use ARIMA/forecasting extensively |
| 143 | +- You require turbodbc connectivity |
| 144 | + |
| 145 | +For delayed updates, continue using your current RTDIP version that includes these features, or implement them as external components. |
| 146 | + |
| 147 | +## Documentation & Resources |
| 148 | + |
| 149 | +For more information on the affected modules and alternatives: |
| 150 | + |
| 151 | +- **Available Connectors:** [Connector Documentation](../../sdk/queries/connectors.md) |
| 152 | +- **Authentication:** [Azure Authentication Guide](../../sdk/authentication/azure.md) |
| 153 | +- **Installation:** [Getting Started](../../getting-started/installation.md) |
| 154 | +- **Removed Components Documentation:** [DATA_QUALITY_REMOVAL.md](https://github.com/rtdip/core/blob/develop/DATA_QUALITY_REMOVAL.md) |
| 155 | + |
| 156 | +## Support & Questions |
| 157 | + |
| 158 | +If you have questions or concerns about these changes: |
| 159 | + |
| 160 | +1. **Update your installation guide:** See [Installation Documentation](../../getting-started/installation.md) for the latest requirements |
| 161 | +2. **Open an Issue:** Visit [GitHub Issues](https://github.com/rtdip/core/issues) to discuss migration paths |
| 162 | +3. **Check Migration Guides:** Look for updated documentation on connector alternatives |
| 163 | + |
| 164 | +## Looking Forward |
| 165 | + |
| 166 | +These changes allow RTDIP to: |
| 167 | +- Focus on core time-series data ingestion and querying capabilities |
| 168 | +- Maintain lean, focused dependencies |
| 169 | +- Provide better performance and maintainability |
| 170 | +- Allow users to choose specialized tools for data quality and forecasting |
| 171 | + |
| 172 | +We appreciate your understanding and are committed to supporting your migration journey. |
| 173 | + |
| 174 | +--- |
| 175 | + |
| 176 | +**Questions?** |
| 177 | +- Open an issue on [GitHub](https://github.com/rtdip/core/issues) |
| 178 | +- Check the [documentation](../../sdk/overview.md) |
0 commit comments