pointblank 0.13.3__py3-none-any.whl → 0.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. pointblank/__init__.py +4 -0
  2. pointblank/_constants.py +54 -0
  3. pointblank/_constants_translations.py +541 -2
  4. pointblank/_interrogation.py +198 -12
  5. pointblank/_utils.py +41 -1
  6. pointblank/_utils_ai.py +850 -0
  7. pointblank/cli.py +128 -115
  8. pointblank/column.py +1 -1
  9. pointblank/data/api-docs.txt +198 -13
  10. pointblank/data/validations/README.md +108 -0
  11. pointblank/data/validations/complex_preprocessing.json +54 -0
  12. pointblank/data/validations/complex_preprocessing.pkl +0 -0
  13. pointblank/data/validations/generate_test_files.py +127 -0
  14. pointblank/data/validations/multiple_steps.json +83 -0
  15. pointblank/data/validations/multiple_steps.pkl +0 -0
  16. pointblank/data/validations/narwhals_function.json +28 -0
  17. pointblank/data/validations/narwhals_function.pkl +0 -0
  18. pointblank/data/validations/no_preprocessing.json +83 -0
  19. pointblank/data/validations/no_preprocessing.pkl +0 -0
  20. pointblank/data/validations/pandas_compatible.json +28 -0
  21. pointblank/data/validations/pandas_compatible.pkl +0 -0
  22. pointblank/data/validations/preprocessing_functions.py +46 -0
  23. pointblank/data/validations/simple_preprocessing.json +57 -0
  24. pointblank/data/validations/simple_preprocessing.pkl +0 -0
  25. pointblank/datascan.py +4 -4
  26. pointblank/scan_profile.py +6 -6
  27. pointblank/schema.py +8 -82
  28. pointblank/thresholds.py +1 -1
  29. pointblank/validate.py +1412 -20
  30. {pointblank-0.13.3.dist-info → pointblank-0.14.0.dist-info}/METADATA +66 -8
  31. pointblank-0.14.0.dist-info/RECORD +55 -0
  32. pointblank/_constants_docs.py +0 -40
  33. pointblank-0.13.3.dist-info/RECORD +0 -40
  34. {pointblank-0.13.3.dist-info → pointblank-0.14.0.dist-info}/WHEEL +0 -0
  35. {pointblank-0.13.3.dist-info → pointblank-0.14.0.dist-info}/entry_points.txt +0 -0
  36. {pointblank-0.13.3.dist-info → pointblank-0.14.0.dist-info}/licenses/LICENSE +0 -0
  37. {pointblank-0.13.3.dist-info → pointblank-0.14.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pointblank
3
- Version: 0.13.3
3
+ Version: 0.14.0
4
4
  Summary: Find out if your data is what you think it is.
5
5
  Author-email: Richard Iannone <riannone@me.com>
6
6
  License: MIT License
@@ -42,7 +42,7 @@ Description-Content-Type: text/markdown
42
42
  License-File: LICENSE
43
43
  Requires-Dist: commonmark>=0.9.1
44
44
  Requires-Dist: importlib-metadata
45
- Requires-Dist: great_tables>=0.17.0
45
+ Requires-Dist: great_tables>=0.19.0
46
46
  Requires-Dist: narwhals>=2.0.1
47
47
  Requires-Dist: typing_extensions>=3.10.0.0
48
48
  Requires-Dist: requests>=2.31.0
@@ -132,13 +132,63 @@ _Data validation made beautiful and powerful_
132
132
  <a href="translations/README.ar.md">العربية</a>
133
133
  </div>
134
134
 
135
- ## What is Pointblank?
135
+ <br>
136
+
137
+ Pointblank takes a different approach to data quality. It doesn't have to be a tedious technical task. Rather, it can become a process focused on clear communication between team members. While other validation libraries focus solely on catching errors, Pointblank is great at both **finding issues and sharing insights**. Our beautiful, customizable reports turn validation results into conversations with stakeholders, making data quality issues immediately understandable and actionable for everyone on your team.
138
+
139
+ **Get started in minutes, not hours.** Pointblank's AI-powered [`DraftValidation`](https://posit-dev.github.io/pointblank/user-guide/draft-validation.html) feature analyzes your data and suggests intelligent validation rules automatically. So there's no need to stare at an empty validation script wondering where to begin. Pointblank can kickstart your data quality journey so you can focus on what matters most.
140
+
141
+ Whether you're a data scientist who needs to quickly communicate data quality findings, a data engineer building robust pipelines, or an analyst presenting data quality results to business stakeholders, Pointblank helps you to turn data quality from an afterthought into a competitive advantage.
142
+
143
+ ## Getting Started with AI-Powered Validation Drafting
144
+
145
+ The `DraftValidation` class uses LLMs to analyze your data and generate a complete validation plan with intelligent suggestions. This helps you quickly get started with data validation or jumpstart a new project.
146
+
147
+ ```python
148
+ import pointblank as pb
136
149
 
137
- Pointblank is a powerful, yet elegant data validation framework for Python that transforms how you ensure data quality. With its intuitive, chainable API, you can quickly validate your data against comprehensive quality checks and visualize results through stunning, interactive reports that make data issues immediately actionable.
150
+ # Load your data
151
+ data = pb.load_dataset("game_revenue") # A sample dataset
138
152
 
139
- Whether you're a data scientist, data engineer, or analyst, Pointblank helps you catch data quality issues before they impact your analyses or downstream systems.
153
+ # Use DraftValidation to generate a validation plan
154
+ pb.DraftValidation(data=data, model="anthropic:claude-sonnet-4-5")
155
+ ```
140
156
 
141
- ## Getting Started in 30 Seconds
157
+ The output is a complete validation plan with intelligent suggestions based on your data:
158
+
159
+ ```python
160
+ import pointblank as pb
161
+
162
+ # The validation plan
163
+ validation = (
164
+ pb.Validate(
165
+ data=data,
166
+ label="Draft Validation",
167
+ thresholds=pb.Thresholds(warning=0.10, error=0.25, critical=0.35)
168
+ )
169
+ .col_vals_in_set(columns="item_type", set=["iap", "ad"])
170
+ .col_vals_gt(columns="item_revenue", value=0)
171
+ .col_vals_between(columns="session_duration", left=3.2, right=41.0)
172
+ .col_count_match(count=11)
173
+ .row_count_match(count=2000)
174
+ .rows_distinct()
175
+ .interrogate()
176
+ )
177
+
178
+ validation
179
+ ```
180
+
181
+ <div align="center">
182
+ <img src="https://posit-dev.github.io/pointblank/assets/pointblank-draft-validation-report.png" width="800px">
183
+ </div>
184
+
185
+ <br>
186
+
187
+ Copy, paste, and customize the generated validation plan for your needs.
188
+
189
+ ## Chainable Validation API
190
+
191
+ Pointblank's chainable API makes validation simple and readable. The same pattern always applies: (1) start with `Validate`, (2) add validation steps, and (3) finish with `interrogate()`.
142
192
 
143
193
  ```python
144
194
  import pointblank as pb
@@ -164,6 +214,12 @@ validation
164
214
 
165
215
  <br>
166
216
 
217
+ Once you have an interrogated `validation` object, you can leverage a variety of methods to extract insights like:
218
+
219
+ - getting detailed reports for single steps to see what went wrong
220
+ - filtering tables based on validation results
221
+ - extracting problematic data for debugging
222
+
167
223
  ## Why Choose Pointblank?
168
224
 
169
225
  - **Works with your existing stack**: Seamlessly integrates with Polars, Pandas, DuckDB, MySQL, PostgreSQL, SQLite, Parquet, PySpark, Snowflake, and more!
@@ -172,7 +228,9 @@ validation
172
228
  - **Threshold-based alerts**: Set 'warning', 'error', and 'critical' thresholds with custom actions
173
229
  - **Practical outputs**: Use validation results to filter tables, extract problematic data, or trigger downstream processes
174
230
 
175
- ## Real-World Example
231
+ ## Production-Ready Validation Pipeline
232
+
233
+ Here's how Pointblank handles complex, real-world scenarios with advanced features like threshold management, automated alerts, and comprehensive business rule validation:
176
234
 
177
235
  ```python
178
236
  import pointblank as pb
@@ -280,7 +338,7 @@ validation = pb.yaml_interrogate("validation.yaml")
280
338
  validation.get_tabular_report().show()
281
339
  ```
282
340
 
283
- This approach is perfect for:
341
+ This approach is suitable for:
284
342
 
285
343
  - **CI/CD pipelines**: Store validation rules alongside your code
286
344
  - **Team collaboration**: Share validation logic in a readable format
@@ -0,0 +1,55 @@
1
+ pointblank/__init__.py,sha256=Nspcpnj_w940huEDBNcS5_lHpWsQif8t0gLst4dmZTs,1942
2
+ pointblank/_constants.py,sha256=HR1V-A-flMY17qlBQQf7SbCxBtbCugQUlh3WHzwuqys,84010
3
+ pointblank/_constants_translations.py,sha256=2ux_qFW7JZ65-0VOjlhlTQ7Ts8FlCNYqp3SneuTOCmk,242476
4
+ pointblank/_datascan_utils.py,sha256=EMfeabXm_ZsCUKPROB7rFhyOpjtRs8jcnZ_9nBtMyws,1750
5
+ pointblank/_interrogation.py,sha256=wNCBRGwYUdk64OC56juM_Kx2fW2Z5wIK-oamnSyT20c,83655
6
+ pointblank/_typing.py,sha256=aItbCbzhbzqjK3lCbL27ltRyXoAH1c3-U6xQdRzg-lU,1594
7
+ pointblank/_utils.py,sha256=NFQsIrW3dZ7IzCloiwgVblr0-7eg-OigLEq7W1lUuyo,31948
8
+ pointblank/_utils_ai.py,sha256=I7Oe3Ojm1t_haBii17v6s4IemkBDWvKFMVxX8UCY67Q,30228
9
+ pointblank/_utils_check_args.py,sha256=rFEc1nbCN8ftsQQWVjCNWmQ2QmUDxkfgmoJclrZeTLs,5489
10
+ pointblank/_utils_html.py,sha256=uJWvS9JwQVEZgwsGmScA_u_EBRND75rzUvnJPalbRVs,3731
11
+ pointblank/actions.py,sha256=D6o9B2_ES9PNQg9HZwREacrrt-3A5bhdrBkL1UXz__s,18281
12
+ pointblank/assistant.py,sha256=vcdFgXmdVSiylQgTW3e62c13X3vAicBPjyG8OTZXmGM,15902
13
+ pointblank/cli.py,sha256=hRVPdjU4dxZZ4XdWN2A7OEnsvWB15dXFPn-Chhi7tNs,229394
14
+ pointblank/column.py,sha256=943ADTk8rCAs0KEihVYONgJqXUP5uwKx5oMEJnpG4VU,76801
15
+ pointblank/compare.py,sha256=kFd18CehHz7g-2MF1kSmJSdOoAP80q_9PaF6QzHC1ds,866
16
+ pointblank/datascan.py,sha256=xFhpcoLD16mJH_yhMm0NbCa5VUk5cz3iazn5RfNXlao,24710
17
+ pointblank/draft.py,sha256=cusr4fBiNncCKIOU8UwvJcvkBeBuUnqH_UfYp9dtNss,15777
18
+ pointblank/scan_profile.py,sha256=Zy-qyqggod0mP1PcES6qTxIaENkxT-FTNM8LWFVhRD0,10546
19
+ pointblank/scan_profile_stats.py,sha256=qdzoGXB-zi2hmpA4mTz6LLTqMnb-NRG9ndxU9cxS72w,4461
20
+ pointblank/schema.py,sha256=yir-2VNmHyNdH1vGpx3adqOXdvspJlMKhJmJQz4egqU,48794
21
+ pointblank/segments.py,sha256=RXp3lPr3FboVseadNqLgIeoMBh_mykrQSFp1WtV41Yg,5570
22
+ pointblank/thresholds.py,sha256=KhvCCB_rlUHq1RjZ6SxXZLVrolOn_D2Ppxb0ABnwCRw,25764
23
+ pointblank/validate.py,sha256=EDCGjKTX8BNuODY-yAGYzbFtHb_d9bf5m_2PXv9koTg,772558
24
+ pointblank/yaml.py,sha256=cHwDvybhp_oLOGR1rA83trEDQWYuRGhT4iEa6FMXi6w,63074
25
+ pointblank/data/api-docs.txt,sha256=p1OdPXjlVUz5XnWyjqB3I-jXRh1hWo96qJYBGhDOYwU,537590
26
+ pointblank/data/game_revenue-duckdb.zip,sha256=tKIVx48OGLYGsQPS3h5AjA2Nyq_rfEpLCjBiFUWhagU,35880
27
+ pointblank/data/game_revenue.zip,sha256=7c9EvHLyi93CHUd4p3dM4CZ-GucFCtXKSPxgLojL32U,33749
28
+ pointblank/data/global_sales-duckdb.zip,sha256=2ok_cvJ1ZuSkXnw0R6_OkKYRTWhJ-jJEMq2VYsv5fqY,1336390
29
+ pointblank/data/global_sales.zip,sha256=JeUnR1apKQ35PPwEcvTKCEIEiYeYQtoGmYjmzbz99DM,2138604
30
+ pointblank/data/nycflights-duckdb.zip,sha256=GQrHO9tp7d9cNGFNSbA9EKF19MLf6t2wZE0U9-hIKow,5293077
31
+ pointblank/data/nycflights.zip,sha256=yVjbUaKUz2LydSdF9cABuir0VReHBBgV7shiNWSd0mU,7828965
32
+ pointblank/data/polars-api-docs.txt,sha256=KGcS-BOtUs9zgpkWfXD-GFdFh4O_zjdkpX7msHjztLg,198045
33
+ pointblank/data/small_table-duckdb.zip,sha256=BhTaZ2CRS4-9Z1uVhOU6HggvW3XCar7etMznfENIcOc,2028
34
+ pointblank/data/small_table.zip,sha256=lmFb90Nb-v5X559Ikjg31YLAXuRyMkD9yLRElkXPMzQ,472
35
+ pointblank/data/validations/README.md,sha256=K_krlaGTBgE-NrdfHCvUJqaP40Wnb9gNGAh5tM53e9o,4292
36
+ pointblank/data/validations/complex_preprocessing.json,sha256=oqGk38WUze8qJsUTUx6_bD6VaOvOFTwJq1J3-gdHzE0,2040
37
+ pointblank/data/validations/complex_preprocessing.pkl,sha256=gyP87mnTL2POrZy1iM0AzvsozRwgh24VzVRpBy_knsM,7836
38
+ pointblank/data/validations/generate_test_files.py,sha256=roJo9Su16ix_oV44V_s5ucIZKqdTJMckslecKWOUvDc,4203
39
+ pointblank/data/validations/multiple_steps.json,sha256=ijbQfUThuovZVl4FJ9hzSiCvrb_A5N1bIDqf_D-E_gA,2544
40
+ pointblank/data/validations/multiple_steps.pkl,sha256=GfnvQQQlaSE3SsI8uDQ3oMI4ugVyAqRFIdDdJI3BeqQ,10415
41
+ pointblank/data/validations/narwhals_function.json,sha256=3V3lxipH1R1Gfmodd26EdILc69Hql4Nr3M99JqecyAg,872
42
+ pointblank/data/validations/narwhals_function.pkl,sha256=KU0UjbTv75JaF2tWXe6OpIyd0Dnv17TFmXPoBxvqdF4,3478
43
+ pointblank/data/validations/no_preprocessing.json,sha256=njU41sUbMUWm05FXgj_o2NBzBmgrvYp00Sz9qFGgTbA,2120
44
+ pointblank/data/validations/no_preprocessing.pkl,sha256=VmoEsS7dO_1VHfseJaRyXJu552xhKpOIqqd7BWIPoLI,9124
45
+ pointblank/data/validations/pandas_compatible.json,sha256=fduquqJCUyLKlTpZM7amgkmEiB9j14FdU4k4kson3Qk,1019
46
+ pointblank/data/validations/pandas_compatible.pkl,sha256=-85iBWKH_SYu8oq1752pAMKyHqJ7VHvvz0etXfoUUjg,4743
47
+ pointblank/data/validations/preprocessing_functions.py,sha256=DudTuQVGzEnZb0UYBaPou08ad3dmdxfcOZuPMkdM6A0,1422
48
+ pointblank/data/validations/simple_preprocessing.json,sha256=2aBnY2fmrIwlIbEprzqxYoZtsJbQ8o0VBjnuDo_dTqo,1546
49
+ pointblank/data/validations/simple_preprocessing.pkl,sha256=Arp9DHWbZVYbaLR7Xg-poZyvOgplYaqAQoWD1DohiZw,6785
50
+ pointblank-0.14.0.dist-info/licenses/LICENSE,sha256=apLF-HWPNU7pT5bmf5KmZpD5Cklpy2u-BN_0xBoRMLY,1081
51
+ pointblank-0.14.0.dist-info/METADATA,sha256=YD28gD8Nqk-2fwqTidW5DzP6TeK61KC1QGtitUgD9To,22304
52
+ pointblank-0.14.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
+ pointblank-0.14.0.dist-info/entry_points.txt,sha256=GqqqOTOH8uZe22wLcvYjzpizqk_j4MNcUo2YM14ryCw,42
54
+ pointblank-0.14.0.dist-info/top_level.txt,sha256=-wHrS1SvV8-nhvc3w-PPYs1C1WtEc1pK-eGjubbCCKc,11
55
+ pointblank-0.14.0.dist-info/RECORD,,
@@ -1,40 +0,0 @@
1
- ARG_DOCSTRINGS = {
2
- "column": """column
3
- The column to validate.""",
4
- "columns": """columns
5
- A single column or a list of columns to validate. If multiple columns are supplied, there
6
- will be a separate validation step generated for each column.""",
7
- "value": """value
8
- The value to compare against.""",
9
- "left": """left
10
- The lower bound of the range.""",
11
- "right": """right
12
- The upper bound of the range.""",
13
- "set": """set
14
- A list of values to compare against.""",
15
- "pattern": """pattern
16
- A regular expression pattern to compare against.""",
17
- "inclusive": """inclusive
18
- A tuple of two boolean values indicating whether the comparison should be inclusive. The
19
- position of the boolean values correspond to the `left=` and `right=` values, respectively.
20
- By default, both values are `True`.""",
21
- "na_pass": """na_pass
22
- Should any encountered None, NA, or Null values be considered as passing test units? By
23
- default, this is `False`. Set to `True` to pass test units with missing values.""",
24
- "pre": """pre
25
- A preprocessing function or lambda to apply to the data table for the validation step.""",
26
- "thresholds": """thresholds
27
- Failure threshold levels so that the validation step can react accordingly when exceeding
28
- the set levels for different states ('warning', 'error', and 'critical'). This can be
29
- created simply as an integer or float denoting the absolute number or fraction of failing
30
- test units for the 'warning' level. Otherwise, you can use a tuple of 1-3 values, a
31
- dictionary of 1-3 entries, or a Thresholds object.""",
32
- "active": """active
33
- A boolean value indicating whether the validation step should be active. Using `False` will
34
- make the validation step inactive (still reporting its presence and keeping indexes for the
35
- steps unchanged).""",
36
- "data": """data
37
- A data table.""",
38
- "threshold": """threshold
39
- The maximum number of failing test units to allow.""",
40
- }
@@ -1,40 +0,0 @@
1
- pointblank/__init__.py,sha256=IZ-JwGWr2DOFBfq4XvE0SzceWMkFewtBN10V4F9pIGg,1876
2
- pointblank/_constants.py,sha256=HHiGuso_To-PsKQLxVDYa_Iczy92iPoIYurTy6BAtL4,80778
3
- pointblank/_constants_docs.py,sha256=JBmtt16zTYQ-zaM4ElLExtKs-dKlnN553Ys2ML1Y1C8,2099
4
- pointblank/_constants_translations.py,sha256=NBVGX9veULXMwEHwSrlzpCpM9hcFeyS1xBmyBt_8_mU,190053
5
- pointblank/_datascan_utils.py,sha256=EMfeabXm_ZsCUKPROB7rFhyOpjtRs8jcnZ_9nBtMyws,1750
6
- pointblank/_interrogation.py,sha256=FbzFa_QJIYQjH0l4D6XaMW73r71gwMrfA8lXiF4r2a4,76540
7
- pointblank/_typing.py,sha256=aItbCbzhbzqjK3lCbL27ltRyXoAH1c3-U6xQdRzg-lU,1594
8
- pointblank/_utils.py,sha256=ikgkFomoAEOxaiItHZUo3NTHu0MJHWfKAF_fnX9rRnA,30685
9
- pointblank/_utils_check_args.py,sha256=rFEc1nbCN8ftsQQWVjCNWmQ2QmUDxkfgmoJclrZeTLs,5489
10
- pointblank/_utils_html.py,sha256=uJWvS9JwQVEZgwsGmScA_u_EBRND75rzUvnJPalbRVs,3731
11
- pointblank/actions.py,sha256=D6o9B2_ES9PNQg9HZwREacrrt-3A5bhdrBkL1UXz__s,18281
12
- pointblank/assistant.py,sha256=vcdFgXmdVSiylQgTW3e62c13X3vAicBPjyG8OTZXmGM,15902
13
- pointblank/cli.py,sha256=p2cO-NKInQ41hqRMy6TNmxOj48pR5vq8s7JTLXfcP4M,228188
14
- pointblank/column.py,sha256=w41CBg3lt3ZzKS_j-SYdkRmnOWcP5xXa0rRjsPVRE_M,76781
15
- pointblank/compare.py,sha256=kFd18CehHz7g-2MF1kSmJSdOoAP80q_9PaF6QzHC1ds,866
16
- pointblank/datascan.py,sha256=tQiwe9x0jAbK9OJLQe53R_qRl2uBKireaWsMlM8K1sw,24630
17
- pointblank/draft.py,sha256=cusr4fBiNncCKIOU8UwvJcvkBeBuUnqH_UfYp9dtNss,15777
18
- pointblank/scan_profile.py,sha256=lZU5hlnzznDATNn9W3gNdyuFm05WDP8y1RjDJEcE5zg,10426
19
- pointblank/scan_profile_stats.py,sha256=qdzoGXB-zi2hmpA4mTz6LLTqMnb-NRG9ndxU9cxS72w,4461
20
- pointblank/schema.py,sha256=hjALMuYppNfELC_nAqfM9fLjPdN1w2M3rDMusrPqFYA,50757
21
- pointblank/segments.py,sha256=RXp3lPr3FboVseadNqLgIeoMBh_mykrQSFp1WtV41Yg,5570
22
- pointblank/thresholds.py,sha256=mybeLzTVdmN04NLKoV-jiSBXsWknwHO0Gox0ttVN_MU,25766
23
- pointblank/validate.py,sha256=v4jzFOYufrck_3CPIz4Jo53Y_5VYYTTFcqMq6B4LttY,713196
24
- pointblank/yaml.py,sha256=cHwDvybhp_oLOGR1rA83trEDQWYuRGhT4iEa6FMXi6w,63074
25
- pointblank/data/api-docs.txt,sha256=w2nIkIL_fJpXlPR9clogqcgdiv-uHvdSDI8gjkP_mCQ,531711
26
- pointblank/data/game_revenue-duckdb.zip,sha256=tKIVx48OGLYGsQPS3h5AjA2Nyq_rfEpLCjBiFUWhagU,35880
27
- pointblank/data/game_revenue.zip,sha256=7c9EvHLyi93CHUd4p3dM4CZ-GucFCtXKSPxgLojL32U,33749
28
- pointblank/data/global_sales-duckdb.zip,sha256=2ok_cvJ1ZuSkXnw0R6_OkKYRTWhJ-jJEMq2VYsv5fqY,1336390
29
- pointblank/data/global_sales.zip,sha256=JeUnR1apKQ35PPwEcvTKCEIEiYeYQtoGmYjmzbz99DM,2138604
30
- pointblank/data/nycflights-duckdb.zip,sha256=GQrHO9tp7d9cNGFNSbA9EKF19MLf6t2wZE0U9-hIKow,5293077
31
- pointblank/data/nycflights.zip,sha256=yVjbUaKUz2LydSdF9cABuir0VReHBBgV7shiNWSd0mU,7828965
32
- pointblank/data/polars-api-docs.txt,sha256=KGcS-BOtUs9zgpkWfXD-GFdFh4O_zjdkpX7msHjztLg,198045
33
- pointblank/data/small_table-duckdb.zip,sha256=BhTaZ2CRS4-9Z1uVhOU6HggvW3XCar7etMznfENIcOc,2028
34
- pointblank/data/small_table.zip,sha256=lmFb90Nb-v5X559Ikjg31YLAXuRyMkD9yLRElkXPMzQ,472
35
- pointblank-0.13.3.dist-info/licenses/LICENSE,sha256=apLF-HWPNU7pT5bmf5KmZpD5Cklpy2u-BN_0xBoRMLY,1081
36
- pointblank-0.13.3.dist-info/METADATA,sha256=jXGDWi-DW5kAdRyUTjgVfRTB-6tMgyYd-uqeeyCvvKk,19582
37
- pointblank-0.13.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- pointblank-0.13.3.dist-info/entry_points.txt,sha256=GqqqOTOH8uZe22wLcvYjzpizqk_j4MNcUo2YM14ryCw,42
39
- pointblank-0.13.3.dist-info/top_level.txt,sha256=-wHrS1SvV8-nhvc3w-PPYs1C1WtEc1pK-eGjubbCCKc,11
40
- pointblank-0.13.3.dist-info/RECORD,,