@@ -44,24 +44,91 @@ You can validate various types of data sources:
4444pb validate-simple data.csv --check rows-distinct
4545```
4646
47- * Parquet files*
47+ * Parquet files (including glob patterns and directories) *
4848
4949``` bash
5050pb validate-simple data.parquet --check col-vals-not-null --column age
51+ pb validate-simple " data/*.parquet" --check rows-distinct
52+ pb validate-simple data/ --check rows-complete # directory of parquet files
5153```
5254
53- * Database tables*
55+ * GitHub URLs (direct links to CSV or Parquet files)*
56+
57+ ``` bash
58+ pb validate-simple " https://github.com/user/repo/blob/main/data.csv" --check rows-distinct
59+ pb validate-simple " https://raw.githubusercontent.com/user/repo/main/data.parquet" --check col-exists --column id
60+ ```
61+
62+ * Database tables (connection strings)*
5463
5564``` bash
5665pb validate-simple " duckdb:///path/to/db.ddb::table_name" --check rows-complete
5766```
5867
59- * built -in datasets*
68+ * Built -in datasets*
6069
6170``` bash
6271pb validate-simple small_table --check col-exists --column a
6372```
6473
74+ ## Enhanced Data Source Support
75+
76+ The CLI leverages Pointblank's centralized data processing pipeline, providing comprehensive support for various data sources:
77+
78+ ### GitHub Integration
79+
80+ Validate data directly from GitHub repositories without downloading files:
81+
82+ ``` bash
83+ # Standard GitHub URLs (automatically converted to raw URLs)
84+ pb preview " https://github.com/user/repo/blob/main/data.csv"
85+ pb validate-simple " https://github.com/user/repo/blob/main/sales.csv" --check rows-distinct
86+
87+ # Raw GitHub URLs (used directly)
88+ pb scan " https://raw.githubusercontent.com/user/repo/main/data.parquet"
89+ ```
90+
91+ ### Advanced File Patterns
92+
93+ Support for complex file patterns and directory structures:
94+
95+ ``` bash
96+ # Glob patterns for multiple files
97+ pb validate-simple " data/*.parquet" --check col-vals-not-null --column id
98+ pb preview " sales_data_*.csv"
99+
100+ # Entire directories of Parquet files
101+ pb scan data/partitioned_dataset/
102+ pb missing warehouse/daily_reports/
103+
104+ # Partitioned datasets (automatically detects partition columns)
105+ pb validate-simple partitioned_sales/ --check rows-distinct
106+ ```
107+
108+ ### Database Connections
109+
110+ Enhanced support for database connection strings:
111+
112+ ``` bash
113+ # DuckDB databases with table specification
114+ pb validate-simple " duckdb:///warehouse/analytics.ddb::customer_metrics" --check col-exists --column customer_id
115+
116+ # Preview database tables
117+ pb preview " duckdb:///data/sales.ddb::transactions"
118+ ```
119+
120+ ### Automatic Data Type Detection
121+
122+ The CLI automatically detects and handles:
123+
124+ - CSV files: single files or glob patterns
125+ - Parquet files: files, patterns, directories, and partitioned datasets
126+ - GitHub URLs: both standard and raw URLs for CSV/Parquet files
127+ - database connections: connection strings with table specifications
128+ - built-in datasets: Pointblank's included sample datasets
129+
130+ This unified approach means you can use the same CLI commands regardless of where your data is stored.
131+
65132## Available Validation Checks
66133
67134### Data Completeness
0 commit comments