Skip to content

Commit eb0b24e

Browse files
authored
Merge pull request #987 from rtdip/feature/cleanup
Removal of Deprecated Modules, Dependency Clean‑up, and Turbodbc Deprecation (RTDIP SDK v0.14.4)
2 parents e29560c + fd0601f commit eb0b24e

136 files changed

Lines changed: 626 additions & 10402 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/api/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<center> ![rest](images/rest-api-logo.png){width=50%} </center>
1+
<center> <img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/api/images/rest-api-logo.png" width="50%" alt="rest" /> </center>
22

33
<!-- --8<-- [start:restapi] -->
44

docs/api/rest_apis.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33

44
RTDIP REST API documentation is available in a number of formats, as described below.
55

6-
<center> ![rest](images/open-api.png){width=50%} </center>
6+
<center> <img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/api/images/open-api.png" width="50%" alt="rest" /> </center>
77

88
<!-- --8<-- [start:openapi] -->
99

1010
RTDIP REST APIs are built to OpenAPI standard 3.0.2. You can obtain the OpenAPI JSON schema at the following endpoint of your deployed APIs `https://{domain name}/api/openapi.json`
1111

1212
<!-- --8<-- [end:openapi] -->
1313

14-
<center> ![rest](images/swagger.png){width=50%} </center>
14+
<center> <img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/api/images/swagger.png" width="50%" alt="rest" /> </center>
1515

1616
<!-- --8<-- [start:swagger] -->
1717

1818
It is recommended to review the **Swagger** documentation that can be found at the following endpoint of your deployed APIs `https://{domain name}/docs` for more information about the parameters and options for each API. It is also possible to try out each API from this link.
1919

2020
<!-- --8<-- [end:swagger] -->
2121

22-
<center> ![rest](images/redoc-logo.png){width=50%} </center>
22+
<center> <img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/api/images/redoc-logo.png" width="50%" alt="rest" /> </center>
2323

2424
<!-- --8<-- [start:redoc] -->
2525

docs/blog/posts/delta_and_rtdip.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tags:
99

1010
# Delta Lakehouse and Real Time Data Ingestion Platform
1111

12-
<center> ![Delta Lakehouse](../images/delta-lakehouse.svg){width=50%} </center>
12+
<center> <img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/delta-lakehouse.svg" width="50%" alt="Delta Lakehouse" /> </center>
1313

1414
Real Time Data Ingestion Platform leverages Delta and the concept of a Lakehouse to ingest, store and manage it's data. There are many benefits to Delta for performing data engineering tasks on files stored in a data lake including ACID transactions, maintenance, SQL query capability and performance at scale. To find out more about Delta Lakehouse please see [here.](https://databricks.com/product/data-lakehouse)
1515

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
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)

docs/blog/posts/enhancing_data_quality_amos.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ authors:
88

99
<center>
1010

11-
![blog](../images/agile.svg){width=60%}
11+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/agile.svg" width="60%" alt="blog" />
1212
<small>1</small>
1313
</center>
1414

@@ -61,9 +61,9 @@ To illustrate this visually, plotting the before-and-after DataFrames reveals th
6161

6262
<center>
6363

64-
![blog](../images/amos_mvi_raw.png){width=70%}
64+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/amos_mvi_raw.png" width="70%" alt="blog" />
6565

66-
![blog](../images/amos_mvi.png){width=70%}
66+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/amos_mvi.png" width="70%" alt="blog" />
6767

6868
</center>
6969

docs/blog/posts/opcua_to_delta.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This Historian system was developed as an ecosystem that provided a comprehensiv
1919

2020
Hyperscalers have become a central part of global IT infrastructure and essential to operations and they also started providing industrial connectivity options out of many in this article I am going to focus on Azure , OPC UA & Open source stack which provides you all the options of data ingestion from OPC UA source to your cloud database.
2121

22-
![blog](../images/opcua-to-deltalake.png){width=100%}
22+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/opcua-to-deltalake.png" width="100%" alt="blog" />
2323
</center>
2424

2525
## Components

docs/blog/posts/rtdip_data_quality.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ authors:
77
# Ensuring Data Quality at Speed with Real Time Data
88

99
<center>
10-
![DataQualityImage](../images/data-quality.png){width=75%}
10+
11+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/data-quality.png" width="75%" alt="Data Quality" />
12+
1113
</center>
1214

1315
High quality data plays a pivotal role in business success across various dimensions. Accurate and reliable data empowers business leaders to make well informed decisions and achieve operational efficiency, promoting growth and profitability. Data quality encompasses more than just accuracy it also includes completeness, consistency, and relevance.

docs/blog/posts/rtdip_energy_forecasting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors:
77
# Energy Forecasting: Utilising the Power of Tomorrow’s Data
88

99
<center>
10-
![EnergyForecastingImage](../images/energy-forecasting.png){width=75%}
10+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/energy-forecasting.png" width="75%" alt="Energy Forecasting" />
1111
</center>
1212

1313
Energy forecasting plays a pivotal role in our modern world, where energy consumption, production and pricing are critical factors.

docs/blog/posts/rtdip_ingestion_pipelines.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors:
77
<center>
88
# RTDIP Ingestion Pipeline Framework
99

10-
![blog](../images/framework.png){width=60%}
10+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/framework.png" width="60%" alt="framework" />
1111
</center>
1212

1313
RTDIP has been built to simplify ingesting and querying time series data. One of the most anticipated features of the Real Time Data Ingestion Platform for 2023 is the ability to create streaming and batch ingestion pipelines according to requirements of the source of the data and needs of the data consumer. Of equal importance is the need to query this data and an article that focuses on egress will follow in due course.
@@ -62,7 +62,7 @@ As per the above, a pipeline job consists of a list of tasks. Each task consists
6262

6363
|Python|Apache Spark|Databricks|Delta Live Tables|
6464
|---------------------------|----------------------|--------------------------------------------------|-------|
65-
|![python](../images/python.png){: .image-center}|![pyspark](../images/apachespark.png){: .image-center}|![databricks](../images/databricks_horizontal.png){: .image-center}|![delta](../images/dlt.svg){: .image-center}
65+
|<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/python.png" alt="python" class="image-center" />|<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/apachespark.png" alt="pyspark" class="image-center" />|<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/databricks_horizontal.png" alt="databricks" class="image-center" />|<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/dlt.svg" alt="delta" class="image-center" />|
6666

6767
Pipelines will be able to run in multiple environment types. These will include:
6868

@@ -79,7 +79,7 @@ Runtimes will take precedence depending on the list of components in a pipeline
7979

8080
## Pipeline Clouds
8181

82-
![azure-aws-gcp](../images/aws-azure-gcp.png){: .image-center}
82+
<img src="https://raw.githubusercontent.com/rtdip/core/develop/docs/blog/images/aws-azure-gcp.png" alt="aws-azure-gcp" class="image-center" />
8383

8484
Certain components are related to cloud providers and in the tables below, it is indicated which cloud provider is related to its specific component. It does not mean that the component can only run in that cloud, instead its highlighting that the component is related to that cloud provider.
8585

0 commit comments

Comments
 (0)