Metadata-Version: 2.1
Name: pycatcher
Version: 0.0.7
Summary: This package identifies the day-level time-series outliers for a given dataset
Author-email: Aseem Anand <aseemanand@gmail.com>
Maintainer-email: Jagadish Pamarthi <jagadish.vrsec@gmail.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas ==2.2.3
Requires-Dist: statsmodels ==0.14.4
Requires-Dist: pyod ==2.0.2
Requires-Dist: seaborn ==0.13.2
Provides-Extra: dev
Requires-Dist: pip >=24.2 ; extra == 'dev'
Requires-Dist: build >=1.2.2 ; extra == 'dev'
Requires-Dist: twine >=5.1.1 ; extra == 'dev'
Requires-Dist: poetry >=1.8.3 ; extra == 'dev'
Requires-Dist: setuptools >=75.1.0 ; extra == 'dev'
Requires-Dist: pytest >=8.3.3 ; extra == 'dev'
Requires-Dist: pytest-mock >=3.14.0 ; extra == 'dev'
Requires-Dist: coverage >=7.6.1 ; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest-cov >=5.0.0 ; extra == 'test'

## Outlier Detection for Time-series Data
This package identifies the day-level time-series outliers for a given dataset. 
#### DataFrame Arguments:
First column in the dataframe must be a date column ('YYYY-MM-DD') and the last column a count column.
#### Package Functions:
* detect_outliers(df): Detect outliers in a time-series dataframe using seasonal trend decomposition when there is at least 2 years of data, otherwise we can use Interquartile Range (IQR) for smaller timeframe.
* detect_ouliers_today(df) Detect outliers for the current date in a time-series dataframe.
* detect_outliers_latest(df): Detect latest outliers in a time-series dataframe.
* find_outliers_iqr(df): Detect outliers in a time-series dataframe when there's less than 2 years of data.

#### Diagnostic Plots:
* built_seasonal_plot(df): Build seasonal plot (additive, multiplicative, IQR) for a given dataframe.
* build_monthwise_plot(df): Build month-wise plot for a given dataframe.
* build_decomposition_results(df): Get seasonal decomposition results for a given dataframe.
* conduct_stationarity_check(series): Conduct stationarity check for a feature (dataframe column).





