Name | desbordante-cli JSON |
Version |
1.1.1
JSON |
| download |
home_page | None |
Summary | CLI interface for Desbordante platform |
upload_time | 2024-12-05 21:22:05 |
maintainer | None |
docs_url | None |
author | Desbordante Team |
requires_python | >=3.11 |
license | AGPL-3.0-or-later |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p>
<img src="https://github.com/Mstrutov/Desbordante/assets/88928096/d687809b-5a3b-420e-a192-a1a2b6697b2a"/>
</p>
---
# Desbordante: high-performance data profiler (console interface)
## What is it?
[**Desbordante**](https://github.com/Desbordante/desbordante-core) is a high-performance data profiler oriented towards exploratory data analysis. This is the repository for the Desbordante console interface, which is published as a separate [package](https://pypi.org/project/desbordante-cli/). This package depends on the [desbordante package](https://pypi.org/project/desbordante/), which contains the C++ code for pattern discovery and validation. As the result, depending on the algorithm and dataset, the runtimes may be cut by 2-10 times compared to the alternative tools.
## Table of Contents
- [Desbordante: high-performance data profiler (console interface)](#desbordante-high-performance-data-profiler-console-interface)
- [What is it?](#what-is-it)
- [Table of Contents](#table-of-contents)
- [Main Features](#main-features)
- [Installation](#installation)
- [PyPI](#pypi)
- [Git](#git)
- [Usage examples](#usage-examples)
- [Contacts and Q\&A](#contacts-and-qa)
# Main Features
[**Desbordante**](https://github.com/Desbordante/desbordante-core) is a high-performance data profiler that is capable of discovering and validating many different patterns in data using various algorithms.
The **Discovery** task is designed to identify all instances of a specified pattern *type* of a given dataset.
The **Validation** task is different: it is designed to check whether a specified pattern *instance* is present in a given dataset. This task not only returns True or False, but it also explains why the instance does not hold (e.g. it can list table rows with conflicting values).
The currently supported data patterns are:
* Exact functional dependencies (discovery and validation)
* Approximate functional dependencies, with
- $g_1$ metric — classic AFDs (discovery and validation)
- $\mu+$ metric (discovery)
- $\tau$ metric (discovery)
- $pdep$ metric (discovery)
- $\rho$ metric (discovery)
* Probabilistic functional dependencies, with PerTuple and PerValue metrics (discovery and validation)
* Classic soft functional dependencies (with corellations), with $\rho$ metric (discovery and validation)
* Numerical dependencies (validation)
* Graph functional dependencies (validation)
* Conditional functional dependencies (discovery)
* Inclusion dependencies (discovery)
* Order dependencies:
- set-based axiomatization (discovery)
- list-based axiomatization (discovery)
* Metric functional dependencies (validation)
* Fuzzy algebraic constraints (discovery)
* Differential Dependencies (discovery)
* Unique column combinations:
- Approximate unique column combination, with g<sub>1</sub> metric (discovery and validation)
- Approximate unique column combination, with $g_1$ metric (discovery and validation)
* Association rules (discovery)
For more information about the supported patterns check the main [repo](https://github.com/Desbordante/desbordante-core).
## Installation
**Requrements**:
* Python 3.11+
* pipx
* [`desbordante` package](https://pypi.org/project/desbordante/) requirements
### PyPI
Run the following command:
```sh
pipx install desbordante-cli
```
### Git
```sh
pipx install git+https://github.com/desbordante/desbordante-cli
```
## Usage examples
Example datasets can be found at main [repo](https://github.com/Desbordante/desbordante-core)
1) Discover all exact functional dependencies in a table stored in a comma-separated file with a header row. In this example the default FD discovery algorithm (HyFD) is used.
```sh
desbordante --task=fd --table=../examples/datasets/university_fd.csv , True
```
```text
[Course Classroom] -> Professor
[Classroom Semester] -> Professor
[Classroom Semester] -> Course
[Professor] -> Course
[Professor Semester] -> Classroom
[Course Semester] -> Classroom
[Course Semester] -> Professor
```
2) Discover all approximate functional dependencies with error less than or equal to 0.1 in a table represented by a .csv file that uses a comma as the separator and has a header row. In this example the default AFD discovery algorithm (Pyro) is used.
```sh
desbordante --task=afd --algo=tane --table=../examples/datasets/inventory_afd.csv , True --afd_error_measure=g1 --error=0.1
```
```text
[Id] -> ProductName
[Id] -> Price
[ProductName] -> Price
```
3) Check whether metric functional dependency “Title -> Duration” with radius 5 (using the Euclidean metric) holds in a table represented by a .csv file that uses a comma as the separator and has a header row. In this example the default MFD validation algorithm (BRUTE) is used.
```sh
desbordante --task=mfd_verification --table=../examples/datasets/theatres_mfd.csv , True --lhs_indices=0 --rhs_indices=2 --metric=euclidean --parameter=5
```
```text
True
```
For more information check the --help option:
```sh
desbordante --help
```
# Contacts and Q&A
If you have any questions regarding the tool you can create an [issue](https://github.com/Desbordante/desbordante-cli/issues) at GitHub.
Raw data
{
"_id": null,
"home_page": null,
"name": "desbordante-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": null,
"author": "Desbordante Team",
"author_email": "chernishev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/08/1f/4cd07c2f1c8c2ffd78cadf53583b3902f6ef6e1375be709c50ecf9cc0e1f/desbordante_cli-1.1.1.tar.gz",
"platform": null,
"description": "<p>\n <img src=\"https://github.com/Mstrutov/Desbordante/assets/88928096/d687809b-5a3b-420e-a192-a1a2b6697b2a\"/>\n</p>\n\n---\n\n# Desbordante: high-performance data profiler (console interface)\n\n## What is it?\n\n[**Desbordante**](https://github.com/Desbordante/desbordante-core) is a high-performance data profiler oriented towards exploratory data analysis. This is the repository for the Desbordante console interface, which is published as a separate [package](https://pypi.org/project/desbordante-cli/). This package depends on the [desbordante package](https://pypi.org/project/desbordante/), which contains the C++ code for pattern discovery and validation. As the result, depending on the algorithm and dataset, the runtimes may be cut by 2-10 times compared to the alternative tools.\n\n## Table of Contents\n\n- [Desbordante: high-performance data profiler (console interface)](#desbordante-high-performance-data-profiler-console-interface)\n - [What is it?](#what-is-it)\n - [Table of Contents](#table-of-contents)\n- [Main Features](#main-features)\n - [Installation](#installation)\n - [PyPI](#pypi)\n - [Git](#git)\n - [Usage examples](#usage-examples)\n- [Contacts and Q\\&A](#contacts-and-qa)\n\n# Main Features\n\n[**Desbordante**](https://github.com/Desbordante/desbordante-core) is a high-performance data profiler that is capable of discovering and validating many different patterns in data using various algorithms. \n\nThe **Discovery** task is designed to identify all instances of a specified pattern *type* of a given dataset.\n\nThe **Validation** task is different: it is designed to check whether a specified pattern *instance* is present in a given dataset. This task not only returns True or False, but it also explains why the instance does not hold (e.g. it can list table rows with conflicting values).\n\nThe currently supported data patterns are:\n* Exact functional dependencies (discovery and validation)\n* Approximate functional dependencies, with \n - $g_1$ metric \u2014 classic AFDs (discovery and validation)\n - $\\mu+$ metric (discovery)\n - $\\tau$ metric (discovery)\n - $pdep$ metric (discovery)\n - $\\rho$ metric (discovery)\n* Probabilistic functional dependencies, with PerTuple and PerValue metrics (discovery and validation)\n* Classic soft functional dependencies (with corellations), with $\\rho$ metric (discovery and validation)\n* Numerical dependencies (validation)\n* Graph functional dependencies (validation)\n* Conditional functional dependencies (discovery)\n* Inclusion dependencies (discovery)\n* Order dependencies:\n - set-based axiomatization (discovery)\n - list-based axiomatization (discovery)\n* Metric functional dependencies (validation)\n* Fuzzy algebraic constraints (discovery)\n* Differential Dependencies (discovery)\n* Unique column combinations:\n - Approximate unique column combination, with g<sub>1</sub> metric (discovery and validation)\n - Approximate unique column combination, with $g_1$ metric (discovery and validation)\n* Association rules (discovery)\n\nFor more information about the supported patterns check the main [repo](https://github.com/Desbordante/desbordante-core).\n\n## Installation\n\n**Requrements**:\n* Python 3.11+\n* pipx\n* [`desbordante` package](https://pypi.org/project/desbordante/) requirements\n\n### PyPI\nRun the following command:\n```sh\npipx install desbordante-cli\n```\n### Git\n```sh\npipx install git+https://github.com/desbordante/desbordante-cli\n```\n\n## Usage examples\nExample datasets can be found at main [repo](https://github.com/Desbordante/desbordante-core)\n\n1) Discover all exact functional dependencies in a table stored in a comma-separated file with a header row. In this example the default FD discovery algorithm (HyFD) is used.\n\n```sh\ndesbordante --task=fd --table=../examples/datasets/university_fd.csv , True\n```\n\n```text\n[Course Classroom] -> Professor\n[Classroom Semester] -> Professor\n[Classroom Semester] -> Course\n[Professor] -> Course\n[Professor Semester] -> Classroom\n[Course Semester] -> Classroom\n[Course Semester] -> Professor\n```\n\n2) Discover all approximate functional dependencies with error less than or equal to 0.1 in a table represented by a .csv file that uses a comma as the separator and has a header row. In this example the default AFD discovery algorithm (Pyro) is used.\n\n```sh\ndesbordante --task=afd --algo=tane --table=../examples/datasets/inventory_afd.csv , True --afd_error_measure=g1 --error=0.1\n```\n\n```text\n[Id] -> ProductName\n[Id] -> Price\n[ProductName] -> Price\n```\n\n3) Check whether metric functional dependency \u201cTitle -> Duration\u201d with radius 5 (using the Euclidean metric) holds in a table represented by a .csv file that uses a comma as the separator and has a header row. In this example the default MFD validation algorithm (BRUTE) is used.\n\n```sh\ndesbordante --task=mfd_verification --table=../examples/datasets/theatres_mfd.csv , True --lhs_indices=0 --rhs_indices=2 --metric=euclidean --parameter=5\n```\n\n```text\nTrue\n```\n\nFor more information check the --help option:\n```sh\ndesbordante --help\n```\n\n# Contacts and Q&A\n\nIf you have any questions regarding the tool you can create an [issue](https://github.com/Desbordante/desbordante-cli/issues) at GitHub.\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0-or-later",
"summary": "CLI interface for Desbordante platform",
"version": "1.1.1",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8949d4b45e44a1fab9cdae5af72adbd43a5228f4bb79cd4b1facf9557f51ec7d",
"md5": "22c819384f93e15f527902977f6b28c2",
"sha256": "7224300e53baca42d8c22c76acd5d2694177cdc4d4f984bb869571525f0f9ff2"
},
"downloads": -1,
"filename": "desbordante_cli-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22c819384f93e15f527902977f6b28c2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 25217,
"upload_time": "2024-12-05T21:22:04",
"upload_time_iso_8601": "2024-12-05T21:22:04.738812Z",
"url": "https://files.pythonhosted.org/packages/89/49/d4b45e44a1fab9cdae5af72adbd43a5228f4bb79cd4b1facf9557f51ec7d/desbordante_cli-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "081f4cd07c2f1c8c2ffd78cadf53583b3902f6ef6e1375be709c50ecf9cc0e1f",
"md5": "e289713897039938c732d214b73a3e67",
"sha256": "d8a866c132a4897211fb4c57e01f0fbac6f2ac6a2d6f1e3fb354fab2e76b0ae0"
},
"downloads": -1,
"filename": "desbordante_cli-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "e289713897039938c732d214b73a3e67",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 25541,
"upload_time": "2024-12-05T21:22:05",
"upload_time_iso_8601": "2024-12-05T21:22:05.924644Z",
"url": "https://files.pythonhosted.org/packages/08/1f/4cd07c2f1c8c2ffd78cadf53583b3902f6ef6e1375be709c50ecf9cc0e1f/desbordante_cli-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-05 21:22:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "desbordante-cli"
}