Metadata-Version: 2.4
Name: statflow
Version: 3.4.6
Summary: A versatile statistical toolkit for Python, featuring core statistical methods, time series analysis, signal processing, and climatology tools
Author-email: Jon Ander Gabantxo <jagabantxo@gmail.com>
License: MIT License
        
        Copyright (c) 2024 StatFlow
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE. 
Project-URL: Homepage, https://github.com/EusDancerDev/statflow
Project-URL: Documentation, https://github.com/EusDancerDev/statflow#readme
Project-URL: Repository, https://github.com/EusDancerDev/statflow.git
Project-URL: Bug Reports, https://github.com/EusDancerDev/statflow/issues
Keywords: statistics,time series,signal processing,climatology,data analysis
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=1.3.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: scipy>=1.7.0
Requires-Dist: xarray>=2024.2.0
Requires-Dist: filewise>=3.9.1
Requires-Dist: pygenutils>=15.13.1
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=5.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: nbsphinx>=0.8.0; extra == "docs"
Dynamic: license-file

# StatFlow

[![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI Version](https://img.shields.io/pypi/v/statflow.svg)](https://pypi.org/project/statflow/)

A Python library for statistical analysis and data flow management.

## Features

- **Statistical Analysis**
  - Descriptive statistics
  - Hypothesis testing
  - Regression analysis
  - Time series analysis
  - Probability distributions

- **Data Flow Management**
  - Data pipeline construction
  - ETL operations
  - Data validation
  - Data transformation
  - Data quality checks

- **Visualisation**
  - Statistical plots
  - Distribution visualisations
  - Time series plots
  - Correlation matrices
  - Custom charting

- **Data Processing**
  - Data cleaning
  - Feature engineering
  - Data normalisation
  - Outlier detection
  - Missing value handling

## Installation

### Prerequisites

- Python 3.8 or higher
- pip or conda package manager

### Using pip

```bash
pip install statflow
```

### Using conda

```bash
conda install -c conda-forge statflow
```

## Usage

### Basic Usage

```python
from statflow import DataFlow, StatisticalAnalysis

# Create a data flow pipeline
flow = DataFlow()
flow.load_data("data.csv")
flow.clean_data()
flow.transform_data()

# Perform statistical analysis
analysis = StatisticalAnalysis(flow.data)
summary = analysis.descriptive_stats()
correlation = analysis.correlation_matrix()
```

### Advanced Usage

```python
from statflow import TimeSeries, HypothesisTest

# Time series analysis
ts = TimeSeries("time_series_data.csv")
trend = ts.decompose()
forecast = ts.predict(steps=10)

# Hypothesis testing
test = HypothesisTest(sample1, sample2)
result = test.t_test()
p_value = result.p_value
```

## Project Structure

```text
statflow/
├── statflow/              # Main package directory
│   ├── core/             # Core functionality
│   │   ├── flow.py      # Data flow management
│   │   └── stats.py     # Statistical analysis
│   ├── analysis/         # Analysis modules
│   │   ├── descriptive.py # Descriptive statistics
│   │   └── inferential.py # Inferential statistics
│   └── utils/            # Utility functions
│       ├── visualization.py # Plotting utilities
│       └── preprocessing.py # Data preprocessing
├── tests/                # Test suite
├── docs/                 # Documentation
└── examples/             # Usage examples
```

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

### Development Setup

1. Clone the repository:

   ```bash
   git clone https://github.com/yourusername/statflow.git
   cd statflow
   ```

2. Create a virtual environment:

   ```bash
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```

3. Install development dependencies:

   ```bash
   pip install -e ".[dev]"
   ```

### Testing

Run the test suite:

```bash
pytest
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Thanks to all contributors who have helped improve this library
- Inspired by various statistical analysis tools and data flow frameworks

## Contact

For questions or suggestions, please open an issue on GitHub or contact the maintainers.
