You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33-11Lines changed: 33 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,11 +19,14 @@ _Find out if your data is what you think it is._
19
19
20
20
</div>
21
21
22
-
Pointblank is a table validation and testing library for Python. It helps you ensure that your tabular data meets certain expectations and constraints and it presents the results in a beautiful (and useful!) validation table.
22
+
Pointblank is a table validation and testing library for Python. It helps you ensure that your
23
+
tabular data meets certain expectations and constraints and it presents the results in a beautiful,
24
+
and useful, validation report table.
23
25
24
26
## Getting Started
25
27
26
-
Let's take a Polars DataFrame and validate it against a set of constraints. We do that by using the `pb.Validate` class and then adding validation steps:
28
+
Let's take a Polars DataFrame and validate it against a set of constraints. We do that by using the
29
+
`Validate` class along with adding validation steps:
The rows in the validation table correspond to each of the validation steps. One of the key concepts is that validation steps can be broken down into atomic test cases (test units) and each of these test units is given either of pass/fail status based on the validation constraints. You'll see these tallied up in the reporting table (in the `UNITS`, `PASS`, and `FAIL` columns).
47
+
The rows in the validation table correspond to each of the validation steps. One of the key concepts
48
+
is that validation steps can be broken down into atomic test cases (test units) and each of these
49
+
test units is given either of pass/fail status based on the validation constraints. You'll see these
50
+
tallied up in the reporting table (in the `UNITS`, `PASS`, and `FAIL` columns).
45
51
46
-
Tabular reporting is just one way to see the results. You can also obtain fine-grained results of the interrogation as JSON output or through methods that get key metrics. You can also utilize the validation results to perform filtering of the input table based on row-level pass/fail status (via the `get_sundered_data()` method).
52
+
The tabular reporting view is just one way to see the results. You can also obtain fine-grained
53
+
results of the interrogation as JSON output or through methods that get key metrics. You can also
54
+
utilize the validation results to perform filtering of the input table based on row-level pass/fail
55
+
status (via the `get_sundered_data()` method).
47
56
48
57
On the input side, we can use the following types of tables:
49
58
@@ -55,7 +64,11 @@ On the input side, we can use the following types of tables:
55
64
- SQLite table
56
65
- Parquet
57
66
58
-
To make this all work seamlessly, we use [Narwhals](https://github.com/narwhals-dev/narwhals) to work with Polars and Pandas DataFrames. We also integrate with [Ibis](https://github.com/ibis-project/ibis) to enable the use of DuckDB, MySQL, PostgreSQL, SQLite, and Parquet. In doing all of this, we can provide an ergonomic and consistent API for validating tabular data from various sources.
67
+
To make this all work seamlessly, we use [Narwhals](https://github.com/narwhals-dev/narwhals) to
68
+
work with Polars and Pandas DataFrames. We also integrate with
69
+
[Ibis](https://github.com/ibis-project/ibis) to enable the use of DuckDB, MySQL, PostgreSQL, SQLite,
70
+
Parquet, and more! In doing all of this, we can provide an ergonomic and consistent API for
71
+
validating tabular data from various sources.
59
72
60
73
## Features
61
74
@@ -82,23 +95,32 @@ You can install Pointblank using pip:
82
95
pip install pointblank
83
96
```
84
97
85
-
If you encounter a bug, have usage questions, or want to share ideas to make this package better, please feel free to file an [issue](https://github.com/rich-iannone/pointblank/issues).
98
+
If you encounter a bug, have usage questions, or want to share ideas to make this package better,
99
+
please feel free to file an [issue](https://github.com/rich-iannone/pointblank/issues).
86
100
87
101
## Code of Conduct
88
102
89
-
Please note that the pointblank project is released with a [contributor code of conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).<br>By participating in this project you agree to abide by its terms.
103
+
Please note that the pointblank project is released with a
104
+
[contributor code of conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
105
+
<br>By participating in this project you agree to abide by its terms.
90
106
91
107
## Contributing to Pointblank
92
108
93
-
There are many ways to contribute to the ongoing development of Pointblank. Some contributions can be simple (like fixing typos, improving documentation, filing issues for feature requests or problems, etc.) and others might take more time and care (like answering questions and submitting PRs with code changes). Just know that anything you can do to help would be very much appreciated!
109
+
There are many ways to contribute to the ongoing development of Pointblank. Some contributions can
110
+
be simple (like fixing typos, improving documentation, filing issues for feature requests or
111
+
problems, etc.) and others might take more time and care (like answering questions and submitting
112
+
PRs with code changes). Just know that anything you can do to help would be very much appreciated!
94
113
95
-
Please read over the [contributing guidelines](https://github.com/rich-iannone/pointblank/blob/main/CONTRIBUTING.md) for information on how to get started.
114
+
Please read over the
115
+
[contributing guidelines](https://github.com/rich-iannone/pointblank/blob/main/CONTRIBUTING.md) for
116
+
information on how to get started.
96
117
97
118
## 📄 License
98
119
99
120
Pointblank is licensed under the MIT license.
100
121
101
122
## 🏛️ Governance
102
123
103
-
This project is primarily maintained by [Rich Iannone](https://bsky.app/profile/richmeister.bsky.social).
104
-
Other authors may occasionally assist with some of these duties.
124
+
This project is primarily maintained by
125
+
[Rich Iannone](https://bsky.app/profile/richmeister.bsky.social). Other authors may occasionally
0 commit comments