cloudcat 0.3.8__tar.gz → 0.4.0__tar.gz
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.
- {cloudcat-0.3.8 → cloudcat-0.4.0}/PKG-INFO +24 -21
- {cloudcat-0.3.8 → cloudcat-0.4.0}/README.md +11 -3
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/__init__.py +1 -1
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/cli.py +263 -201
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/compression.py +5 -1
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/filtering.py +9 -0
- cloudcat-0.4.0/cloudcat/formatters.py +157 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/progress.py +21 -9
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/avro.py +27 -30
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/csv.py +21 -16
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/json.py +74 -44
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/orc.py +40 -26
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/parquet.py +7 -9
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/text.py +7 -6
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/storage/azure.py +67 -21
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/storage/base.py +9 -8
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/storage/gcs.py +4 -2
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/storage/s3.py +4 -2
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/streaming/filesystems.py +18 -9
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/PKG-INFO +24 -21
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/SOURCES.txt +9 -4
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/requires.txt +12 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/top_level.txt +0 -1
- cloudcat-0.4.0/pyproject.toml +99 -0
- cloudcat-0.4.0/tests/test_cli_features.py +107 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_integration.py +9 -5
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_path_parsing.py +5 -5
- cloudcat-0.4.0/tests/test_read_data_streaming.py +59 -0
- cloudcat-0.4.0/tests/test_readers_roundtrip.py +122 -0
- cloudcat-0.4.0/tests/test_regressions.py +85 -0
- cloudcat-0.4.0/tests/test_storage_listing.py +75 -0
- cloudcat-0.4.0/tests/test_streaming_stats.py +60 -0
- cloudcat-0.4.0/tests/test_tracking.py +62 -0
- cloudcat-0.4.0/tests/test_visual_output.py +95 -0
- cloudcat-0.3.8/cloudcat/formatters.py +0 -93
- cloudcat-0.3.8/pyproject.toml +0 -3
- cloudcat-0.3.8/setup.py +0 -96
- cloudcat-0.3.8/tests/__init__.py +0 -0
- cloudcat-0.3.8/tests/conftest.py +0 -45
- {cloudcat-0.3.8 → cloudcat-0.4.0}/LICENSE +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/config.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/readers/__init__.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/storage/__init__.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/streaming/__init__.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/streaming/stats.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat/streaming/tracking.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/dependency_links.txt +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/cloudcat.egg-info/entry_points.txt +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/setup.cfg +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_cli.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_compression.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_config.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_data_reading.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_file_filtering.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_filtering.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_format_detection.py +0 -0
- {cloudcat-0.3.8 → cloudcat-0.4.0}/tests/test_output_formatting.py +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cloudcat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Preview and analyze data files in Google Cloud Storage, AWS S3, and Azure Data Lake Storage Gen2 from your terminal
|
|
5
|
-
Home-page: https://github.com/jonathansudhakar1/cloudcat
|
|
6
5
|
Author: Jonathan Sudhakar
|
|
7
|
-
|
|
6
|
+
License: MIT
|
|
8
7
|
Project-URL: Homepage, https://github.com/jonathansudhakar1/cloudcat
|
|
9
8
|
Project-URL: Documentation, https://cloudcatcli.com
|
|
10
9
|
Project-URL: Bug Reports, https://github.com/jonathansudhakar1/cloudcat/issues
|
|
@@ -22,14 +21,12 @@ Classifier: Environment :: Console
|
|
|
22
21
|
Classifier: License :: OSI Approved :: MIT License
|
|
23
22
|
Classifier: Operating System :: OS Independent
|
|
24
23
|
Classifier: Programming Language :: Python :: 3
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
27
24
|
Classifier: Programming Language :: Python :: 3.9
|
|
28
25
|
Classifier: Programming Language :: Python :: 3.10
|
|
29
26
|
Classifier: Programming Language :: Python :: 3.11
|
|
30
27
|
Classifier: Programming Language :: Python :: 3.12
|
|
31
28
|
Classifier: Programming Language :: Python :: 3.13
|
|
32
|
-
Requires-Python: >=3.
|
|
29
|
+
Requires-Python: >=3.9
|
|
33
30
|
Description-Content-Type: text/markdown
|
|
34
31
|
License-File: LICENSE
|
|
35
32
|
Requires-Dist: click>=8.0.0
|
|
@@ -39,6 +36,7 @@ Requires-Dist: colorama>=0.4.4
|
|
|
39
36
|
Requires-Dist: google-cloud-storage>=2.0.0
|
|
40
37
|
Requires-Dist: boto3>=1.18.0
|
|
41
38
|
Requires-Dist: azure-storage-file-datalake>=12.0.0
|
|
39
|
+
Requires-Dist: azure-storage-blob>=12.0.0
|
|
42
40
|
Requires-Dist: azure-identity>=1.0.0
|
|
43
41
|
Provides-Extra: parquet
|
|
44
42
|
Requires-Dist: pyarrow>=5.0.0; extra == "parquet"
|
|
@@ -62,19 +60,16 @@ Requires-Dist: fastavro>=1.4.0; extra == "all"
|
|
|
62
60
|
Requires-Dist: zstandard>=0.15.0; extra == "all"
|
|
63
61
|
Requires-Dist: lz4>=3.0.0; extra == "all"
|
|
64
62
|
Requires-Dist: python-snappy>=0.6.0; extra == "all"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
Provides-Extra: test
|
|
64
|
+
Requires-Dist: pytest>=6.0.0; extra == "test"
|
|
65
|
+
Requires-Dist: pytest-mock>=3.6.0; extra == "test"
|
|
66
|
+
Provides-Extra: dev
|
|
67
|
+
Requires-Dist: pytest>=6.0.0; extra == "dev"
|
|
68
|
+
Requires-Dist: pytest-mock>=3.6.0; extra == "dev"
|
|
69
|
+
Requires-Dist: moto>=4.0.0; extra == "dev"
|
|
70
|
+
Requires-Dist: build; extra == "dev"
|
|
71
|
+
Requires-Dist: twine; extra == "dev"
|
|
72
72
|
Dynamic: license-file
|
|
73
|
-
Dynamic: project-url
|
|
74
|
-
Dynamic: provides-extra
|
|
75
|
-
Dynamic: requires-dist
|
|
76
|
-
Dynamic: requires-python
|
|
77
|
-
Dynamic: summary
|
|
78
73
|
|
|
79
74
|
<p align="center">
|
|
80
75
|
<img src="https://raw.githubusercontent.com/jonathansudhakar1/cloudcat/main/assets/logo.png" alt="CloudCat Logo" width="200">
|
|
@@ -486,6 +481,8 @@ Options:
|
|
|
486
481
|
-o, --output-format TEXT Output format: table, json, jsonp, csv
|
|
487
482
|
[default: table]
|
|
488
483
|
|
|
484
|
+
-O, --output-file PATH Write rendered data to a file instead of stdout
|
|
485
|
+
|
|
489
486
|
-i, --input-format TEXT Input format: csv, json, parquet, avro, orc, text
|
|
490
487
|
[default: auto-detect from extension]
|
|
491
488
|
|
|
@@ -498,7 +495,8 @@ Options:
|
|
|
498
495
|
--offset INTEGER Skip first N rows
|
|
499
496
|
[default: 0]
|
|
500
497
|
|
|
501
|
-
-w, --where TEXT Filter rows with SQL-like conditions
|
|
498
|
+
-w, --where TEXT Filter rows with SQL-like conditions. Scans the
|
|
499
|
+
file and returns up to --num-rows matching rows.
|
|
502
500
|
Examples: "status=active", "age>30",
|
|
503
501
|
"name contains john", "email endswith @gmail.com"
|
|
504
502
|
|
|
@@ -516,13 +514,18 @@ Options:
|
|
|
516
514
|
-d, --delimiter TEXT CSV delimiter (use \t for tab)
|
|
517
515
|
[default: comma]
|
|
518
516
|
|
|
517
|
+
--no-color Disable colored output (also honors NO_COLOR).
|
|
518
|
+
Color is auto-disabled when output is piped.
|
|
519
|
+
|
|
519
520
|
--profile TEXT AWS profile name (for S3 access)
|
|
520
521
|
|
|
521
522
|
--project TEXT GCP project ID (for GCS access)
|
|
522
523
|
|
|
523
524
|
--credentials TEXT Path to GCP service account JSON file
|
|
524
525
|
|
|
525
|
-
--
|
|
526
|
+
--az-access-key TEXT Azure storage account access key
|
|
527
|
+
|
|
528
|
+
-y, --yes Skip confirmation prompts (for scripting)
|
|
526
529
|
|
|
527
530
|
--help Show this message and exit
|
|
528
531
|
```
|
|
@@ -705,8 +708,8 @@ pytest
|
|
|
705
708
|
- [x] SQL-like filtering (`--where` clause)
|
|
706
709
|
- [x] Compression support (gzip, zstd, lz4, snappy, bz2)
|
|
707
710
|
- [x] Row offset/pagination (`--offset`)
|
|
711
|
+
- [x] Output to file with `--output-file`
|
|
708
712
|
- [ ] Interactive mode with pagination
|
|
709
|
-
- [ ] Output to file with `--output-file`
|
|
710
713
|
- [ ] Configuration file support
|
|
711
714
|
|
|
712
715
|
## Related Projects
|
|
@@ -408,6 +408,8 @@ Options:
|
|
|
408
408
|
-o, --output-format TEXT Output format: table, json, jsonp, csv
|
|
409
409
|
[default: table]
|
|
410
410
|
|
|
411
|
+
-O, --output-file PATH Write rendered data to a file instead of stdout
|
|
412
|
+
|
|
411
413
|
-i, --input-format TEXT Input format: csv, json, parquet, avro, orc, text
|
|
412
414
|
[default: auto-detect from extension]
|
|
413
415
|
|
|
@@ -420,7 +422,8 @@ Options:
|
|
|
420
422
|
--offset INTEGER Skip first N rows
|
|
421
423
|
[default: 0]
|
|
422
424
|
|
|
423
|
-
-w, --where TEXT Filter rows with SQL-like conditions
|
|
425
|
+
-w, --where TEXT Filter rows with SQL-like conditions. Scans the
|
|
426
|
+
file and returns up to --num-rows matching rows.
|
|
424
427
|
Examples: "status=active", "age>30",
|
|
425
428
|
"name contains john", "email endswith @gmail.com"
|
|
426
429
|
|
|
@@ -438,13 +441,18 @@ Options:
|
|
|
438
441
|
-d, --delimiter TEXT CSV delimiter (use \t for tab)
|
|
439
442
|
[default: comma]
|
|
440
443
|
|
|
444
|
+
--no-color Disable colored output (also honors NO_COLOR).
|
|
445
|
+
Color is auto-disabled when output is piped.
|
|
446
|
+
|
|
441
447
|
--profile TEXT AWS profile name (for S3 access)
|
|
442
448
|
|
|
443
449
|
--project TEXT GCP project ID (for GCS access)
|
|
444
450
|
|
|
445
451
|
--credentials TEXT Path to GCP service account JSON file
|
|
446
452
|
|
|
447
|
-
--
|
|
453
|
+
--az-access-key TEXT Azure storage account access key
|
|
454
|
+
|
|
455
|
+
-y, --yes Skip confirmation prompts (for scripting)
|
|
448
456
|
|
|
449
457
|
--help Show this message and exit
|
|
450
458
|
```
|
|
@@ -627,8 +635,8 @@ pytest
|
|
|
627
635
|
- [x] SQL-like filtering (`--where` clause)
|
|
628
636
|
- [x] Compression support (gzip, zstd, lz4, snappy, bz2)
|
|
629
637
|
- [x] Row offset/pagination (`--offset`)
|
|
638
|
+
- [x] Output to file with `--output-file`
|
|
630
639
|
- [ ] Interactive mode with pagination
|
|
631
|
-
- [ ] Output to file with `--output-file`
|
|
632
640
|
- [ ] Configuration file support
|
|
633
641
|
|
|
634
642
|
## Related Projects
|