Metadata-Version: 2.4
Name: ploosh
Version: 0.6.0
Summary: A framework to automatize your tests for data projects
License: Apache License 2.0
Project-URL: Homepage, https://github.com/CSharplie/ploosh/
Project-URL: Say Thanks!, https://ploosh.io
Project-URL: Bug Tracker, https://github.com/CSharplie/ploosh/issues
Project-URL: CI, https://github.com/CSharplie/ploosh/actions
Project-URL: Documentation, https://ploosh.io/docs/ploosh/
Project-URL: Source Code, https://github.com/CSharplie/ploosh
Project-URL: Download, https://pypi.org/project/ploosh/
Keywords: testing,data,quality,framework,yaml
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich==13.9.4
Requires-Dist: PyYAML==6.0.1
Requires-Dist: Pyjeb==0.2.1
Requires-Dist: requests==2.31.0
Requires-Dist: numpy==1.26.3; python_version < "3.13"
Requires-Dist: numpy>=2.1.0; python_version >= "3.13"
Requires-Dist: pandas==2.1.4; python_version < "3.13"
Requires-Dist: pandas>=2.2.3; python_version >= "3.13"
Requires-Dist: openpyxl==3.1.2
Requires-Dist: sqlalchemy==1.4.51; python_version < "3.13"
Requires-Dist: sqlalchemy<2.0,>=1.4.54; python_version >= "3.13"
Requires-Dist: pyarrow==18.0.0
Provides-Extra: spark
Requires-Dist: pyspark==3.5.4; extra == "spark"
Requires-Dist: delta-spark==3.3.0; extra == "spark"
Provides-Extra: delta
Requires-Dist: deltalake==0.23.2; extra == "delta"
Provides-Extra: mysql
Requires-Dist: pymysql==1.1.0; extra == "mysql"
Provides-Extra: postgresql
Requires-Dist: pg8000==1.30.3; extra == "postgresql"
Provides-Extra: sqlserver
Requires-Dist: pyodbc==5.2.0; extra == "sqlserver"
Provides-Extra: odbc
Requires-Dist: pyodbc==5.2.0; extra == "odbc"
Provides-Extra: snowflake
Requires-Dist: snowflake-sqlalchemy==1.5.1; extra == "snowflake"
Provides-Extra: databricks
Requires-Dist: databricks-sql-connector==2.9.3; extra == "databricks"
Provides-Extra: bigquery
Requires-Dist: sqlalchemy-bigquery==1.9.0; python_version < "3.13" and extra == "bigquery"
Requires-Dist: sqlalchemy-bigquery==1.15.0; python_version >= "3.13" and extra == "bigquery"
Requires-Dist: google-cloud-bigquery-storage==2.24.0; extra == "bigquery"
Requires-Dist: pandas-gbq==0.23.0; extra == "bigquery"
Requires-Dist: pydata-google-auth==1.8.2; extra == "bigquery"
Provides-Extra: xmla
Requires-Dist: pyadomd==0.1.1; extra == "xmla"
Requires-Dist: azure-identity>=1.16.0; extra == "xmla"
Provides-Extra: fabric
Requires-Dist: semantic-link-labs==0.14.3; python_version < "3.13" and extra == "fabric"
Provides-Extra: full
Requires-Dist: pyspark==3.5.4; extra == "full"
Requires-Dist: delta-spark==3.3.0; extra == "full"
Requires-Dist: deltalake==0.23.2; extra == "full"
Requires-Dist: requests==2.31.0; extra == "full"
Requires-Dist: pymysql==1.1.0; extra == "full"
Requires-Dist: pg8000==1.30.3; extra == "full"
Requires-Dist: pyodbc==5.2.0; extra == "full"
Requires-Dist: snowflake-sqlalchemy==1.5.1; extra == "full"
Requires-Dist: databricks-sql-connector==2.9.3; extra == "full"
Requires-Dist: sqlalchemy-bigquery==1.9.0; python_version < "3.13" and extra == "full"
Requires-Dist: sqlalchemy-bigquery==1.15.0; python_version >= "3.13" and extra == "full"
Requires-Dist: google-cloud-bigquery-storage==2.24.0; extra == "full"
Requires-Dist: pandas-gbq==0.23.0; extra == "full"
Requires-Dist: pydata-google-auth==1.8.2; extra == "full"
Requires-Dist: pyadomd==0.1.1; extra == "full"
Requires-Dist: azure-identity>=1.16.0; extra == "full"
Requires-Dist: semantic-link-labs==0.14.3; python_version < "3.13" and extra == "full"
Provides-Extra: dev
Requires-Dist: pytest==8.3.3; extra == "dev"
Requires-Dist: pytest-timeout==2.3.1; extra == "dev"
Requires-Dist: pylint==3.3.3; extra == "dev"
Dynamic: license-file

# Ploosh

Ploosh is yaml based framework used to automatized the testing process in data projects. 

# Get started
Go to the [ploosh documentation](https://ploosh.io/docs/ploosh/) to find the get started tutorial.

## Steps
1. Install ploosh package
2. Run tests
3. Analyse results

## Install Ploosh

Install from [PyPi](https://pypi.org/project/ploosh/) package manager:
``` shell
pip install ploosh
```

## Run tests
``` shell
ploosh --connections "connections.yml" --cases "test_cases" --export "JSON" --p_my_sql_server_password "mypassword"
```

![Execution result](http://ploosh.io/wp-content/uploads/2024/09/image.png)

## Test results
``` json
[
  {
    "name": "Test aggregated data",
    "state": "passed",
    "source": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 0.0032982
    },
    "expected": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 6.0933333333333335e-05
    },
    "compare": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 0.00046468333333333334
    }
  },
  {
    "name": "Test unvalid data",
    "state": "failed",
    "source": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 0.00178865
    },
    "expected": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 1.49e-05
    },
    "compare": {
      "start": "2024-02-05T17:08:36Z",
      "end": "2024-02-05T17:08:36Z",
      "duration": 1.8333333333333333e-07
    },
    "error": {
      "type": "count",
      "message": "The count in source dataset (55) is differant than the count the in expected dataset (0)"
    }
  }
]
```
