Metadata-Version: 2.4
Name: whistlingduck
Version: 0.1.0
Summary: Add your description here
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: duckdb>=1.1.3
Requires-Dist: polars>=1.17.1
Requires-Dist: pyarrow>=19.0.0
Description-Content-Type: text/markdown

<div align="center">
  <picture>
    <source media="(prefers-color-scheme: light)" srcset="logo/whistlingduck-logo.png">
    <source media="(prefers-color-scheme: dark)" srcset="logo/whistlingduck-logo.png">
    <img alt="Whistling Duck logo" src="logo/whistlingduck-logo.png" height="200">
  </picture>
</div>
<br>

# Whistling Duck

Whistling Duck is a Python library written in DuckDB for data quality logging & checks, it is created to make data quality implementation easy. [Detailed Documentation](https://thewhistlingducklib.github.io/whistlingduck/Home/)

## Why Whistling Duck?

**📦 Easy to Install -** Install like a standard Python library and implement without any
additional setup or configuration

**🛠 Easy to Use -** Write checks or log data quality status in pure Python and integrate them with new or existing data pipelines

**🧩 Easy to learn -** Everything is a Python function call, all the functions have uniform signatures for a predictable,easy-to-learn API.

**📝 Easy to validate -** All operations return JSON outputs that contain input parameters, unique identifiers, operation types, and operation timestamps, ensuring consistent logging without guesswork

**🤝 Provides Multi Support -** Works with all data structures supported by DuckDB,Pandas and Polars DataFrames, and DuckDB tables with new or existing connections.

**🪶 Minimal Dependencies -** There are only three dependencies DuckDB , Polars & Pyarrow. Which makes the package lightweight and fast

**📚 Well Documented & IDE support -** Comes with detailed documentation, docstrings, examples, and Python type hints, providing excellent editor support for code completion.

## Installation

```
pip install whistlingduck
```

## Contributions

Looking forward to contributions and suggestions! Contributions are very much welcome - feel free to open pull requests, suggest improvements, or start discussions. We aim to keep dependencies minimal to maintain simplicity and reliability. Your input helps make this project better.

## Discussions
For any suggestions, questions, ideas, please use GitHub Discussions.

### Contact 
Email: whistlingducklib@gmail.com

