# BI Toolbox
An efficient and simple to use wrapper for streamlining BI workflows, integrating seamlessly with cloud services, databases, and reporting tools.

[![Release Notes](https://img.shields.io/github/release/amr-sheriff/BI-Toolbox?style=flat-square)](https://github.com/amr-sheriff/BI-Toolbox/releases)

## 🧱 Overview

BI Toolbox is a comprehensive package designed to streamline business intelligence workflows. It serves as a thin wrapper around a variety of powerful tools and services, enabling automated report generation, data retrieval, and integrations with cloud storage, communication platforms, and productivity tools.   
The package is focused on BI and reporting, providing a flexible framework for data processing and integration with various external services.  

> **Note**: This package is in its **alpha** stage, meaning several features and improvements are still in progress. Expect potential changes and enhancements in future releases.

## ✨ Key Features 

- **Automated Reporting**: Streamline report generation and data export.
- **Cloud Integrations**: Retrieve and store data with AWS S3, Redshift, and Google Drive.
- **Google Sheets Support**: Export data to Google Sheets with easy configuration.
- **Slack Notifications**: Send real-time notifications of processing statuses to Slack channels.
- **Data Processing**: Seamlessly apply custom processing functions to DataFrames.
- **Dask Integration**: Optionally leverage Dask for parallelized data processing.
- **Extensible Framework**: Easily extend the package with custom modules and functions.

[//]: # (- **Flexible Configuration**: Configure and customize workflows with YAML files. -WIP)

## 🚀 Quick Install 

To install `BI Toolbox`, use pip:

```bash
pip install bi_toolbox
```

## 📖 Documentation

[Codebase Reference](https://bi-toolbox.amrsherif.live/en/latest/reference.html): documentation of classes and method.  
Tutorials (WIP): step-by-step tutorials, perfect place to get started with the package.  
How-to guides (WIP): detailed guides on how to use the package to complete a specific tasks.  

## 🤝 Contributing
Contributions are welcome! Please submit issues and pull requests. For details, please refer to the [Contributing Guide](CONTRIBUTING.md).