tab-cli 0.1.3__tar.gz → 0.1.4__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.
- {tab_cli-0.1.3 → tab_cli-0.1.4}/.gitignore +1 -0
- tab_cli-0.1.4/.jj/.gitignore +1 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/282ad8cf3324b2679a7d460c0fc324adfa21dcfad2f197ac6991b98ec91f98495bb3ddb2cba36ce5dfa28a52063a373bb03f5d2e34f6e0c7b6b81b3046a4d7d0 +3 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/891d7ed26f62b0f8757b081e9d76840636877f1613ee17b7695fe2ee8640258c56e01291934e3797728bc2300a1b5f41e3f3ef81ab532c0e5ab475bb9b6f097a +4 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/8926397375b8328137652c18cd4371808b214cb26864d77dd33c8eea895e10e62c297064c3d4c703d58ee11dee81bbf9851525e3a0c33151f54c164b8a4343b0 +0 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/89d29d938e64b1295e138faedfa5df6f6729a67e5ba8e0c3fdd1c9266e0f59a4bc35b8a21e14225072317879af3323fa0457e01d9b08608770bc23957feec6c0 +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/95fc2854c0fa2528b03e2bcabc7612f56f0bcb3d6f54a06293e21d1887885a449907b5b320a1a94bac712bf56fdad0a4184b17047c1fc179dfa83acab3f70d21 +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/9a58ceae46de4649375b6b880b8500c85d34c8e9bc650dc4c993afb2fa8d45c4180331821c6226a0fb1475b04a0b9a849502647ef9c4dcac74769eb501c885fa +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/a19ae062208aa20b7310705af3d26ef53095a9dabfad080883cc7a32e98687063179db95cb2c71ef9064801c59fa46d261f172d83e83f96a39c274387b59dca4 +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/d1169a8d10067493e42752c2a7615ff27f55bd90c38b91feef918958e29a2239ee289a0cde8385441d1f0fe9af1fb634fa6d56438b9f33ec382e81fa59d70b54 +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/e171e5c6039c050c2368584a537d36df221b1f9f23d285c0399b95b14608d67006229823e6831bff7d8b0c2f9e86ebaec9c6811461119195f430ade055073fed +2 -0
- tab_cli-0.1.4/.jj/repo/index/op_links/ee118dd19aac4e1cb354f83a37dadca70bc5f086cc8d36cd0059b222bf8c7250824401ff681518d0120f8db1f96f0025c464dcfc3b1ee28777e8c76325760134 +2 -0
- tab_cli-0.1.4/.jj/repo/index/operations/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/282ad8cf3324b2679a7d460c0fc324adfa21dcfad2f197ac6991b98ec91f98495bb3ddb2cba36ce5dfa28a52063a373bb03f5d2e34f6e0c7b6b81b3046a4d7d0 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/891d7ed26f62b0f8757b081e9d76840636877f1613ee17b7695fe2ee8640258c56e01291934e3797728bc2300a1b5f41e3f3ef81ab532c0e5ab475bb9b6f097a +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/8926397375b8328137652c18cd4371808b214cb26864d77dd33c8eea895e10e62c297064c3d4c703d58ee11dee81bbf9851525e3a0c33151f54c164b8a4343b0 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/89d29d938e64b1295e138faedfa5df6f6729a67e5ba8e0c3fdd1c9266e0f59a4bc35b8a21e14225072317879af3323fa0457e01d9b08608770bc23957feec6c0 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/95fc2854c0fa2528b03e2bcabc7612f56f0bcb3d6f54a06293e21d1887885a449907b5b320a1a94bac712bf56fdad0a4184b17047c1fc179dfa83acab3f70d21 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/9a58ceae46de4649375b6b880b8500c85d34c8e9bc650dc4c993afb2fa8d45c4180331821c6226a0fb1475b04a0b9a849502647ef9c4dcac74769eb501c885fa +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/a19ae062208aa20b7310705af3d26ef53095a9dabfad080883cc7a32e98687063179db95cb2c71ef9064801c59fa46d261f172d83e83f96a39c274387b59dca4 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/d1169a8d10067493e42752c2a7615ff27f55bd90c38b91feef918958e29a2239ee289a0cde8385441d1f0fe9af1fb634fa6d56438b9f33ec382e81fa59d70b54 +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/e171e5c6039c050c2368584a537d36df221b1f9f23d285c0399b95b14608d67006229823e6831bff7d8b0c2f9e86ebaec9c6811461119195f430ade055073fed +1 -0
- tab_cli-0.1.4/.jj/repo/index/operations/ee118dd19aac4e1cb354f83a37dadca70bc5f086cc8d36cd0059b222bf8c7250824401ff681518d0120f8db1f96f0025c464dcfc3b1ee28777e8c76325760134 +1 -0
- tab_cli-0.1.4/.jj/repo/index/segments/1029dd1c1f4430d8a667a0e48d0b817652c7ddca6f5ff56cac1755e5bb0c1cb7586935941c9b36f26cab05c0effe6154d073bd1dffbe37f22fed0a6e7d79201f +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/3228b9bef9d8374b5532b40df2da8be3bfc86de713bdad7fe620977ffa7c56db83928678caa792bf0d328db607028e045a9e41423ef7501e5b550651c3815ffe +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/424c9a53f5458b328d77ed6a943dc35662e949befa8725cfc7eead01a270417c8d07c1001b11623a088da8d2c9c34a41573314fa2394643147e4027e8a96a605 +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/44107e81054aa5544b36eab8d811908a559b4d9027dc3fa1762c44e39551652199ef2a31f9bbcda79773c906151c12578cb18c43e0045de8b20c357272e1c62a +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/52ea57bde33e8ef4718d833c2df3cf0a9e90fdcd5715c0caad50b4e37ea60aca2b8c71096de6920dc936c40b6291e896293f91c7cfd2aa96cf6c2aa49ef662c8 +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/5ea52f6d4771afda4747b9f44954102c02ae2d0686f8aa9eca36c29796bbba0d14e851c0dca0a6af17bfbbbac174e3be645ae708d958390168e85c64786fc9ef +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/86a1cfa113399acc7dd2dc90262a845558affb5e9373b6300dff68a485482c5e17ace9466bbc23b4301013ca1a27a577ca57ea838113f45bf321a64a242b1ad3 +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/8ef99a12ae0624db198d9ecd83014fb8353c4731e0ba9a472f1fc339784308e38f1287d0765a7b0444f1a89c218c76a820dc4c9a3a39c1cedcd7423a4f5f88dc +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/cb3e8da2bf2b7efae4a6e8fd0b8562dacd16ca0531b173a91480a9e60ee795ac5bec13fc6eb461e03edc9a26f5ff1d5ba53521a1c1a6c1ee1765b544b7d7bf73 +0 -0
- tab_cli-0.1.4/.jj/repo/index/segments/d27ad326963b75736b636adad9fb812eb3f2871e0efb4bc7db37d4b701a4282911eaaee91bed3a759e940769b667be1ed66f2d7f2f41ac3906b87ab7eec19c3a +0 -0
- tab_cli-0.1.4/.jj/repo/index/type +1 -0
- tab_cli-0.1.4/.jj/repo/op_heads/type +1 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/282ad8cf3324b2679a7d460c0fc324adfa21dcfad2f197ac6991b98ec91f98495bb3ddb2cba36ce5dfa28a52063a373bb03f5d2e34f6e0c7b6b81b3046a4d7d0 +4 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/891d7ed26f62b0f8757b081e9d76840636877f1613ee17b7695fe2ee8640258c56e01291934e3797728bc2300a1b5f41e3f3ef81ab532c0e5ab475bb9b6f097a +7 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/8926397375b8328137652c18cd4371808b214cb26864d77dd33c8eea895e10e62c297064c3d4c703d58ee11dee81bbf9851525e3a0c33151f54c164b8a4343b0 +5 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/89d29d938e64b1295e138faedfa5df6f6729a67e5ba8e0c3fdd1c9266e0f59a4bc35b8a21e14225072317879af3323fa0457e01d9b08608770bc23957feec6c0 +5 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/95fc2854c0fa2528b03e2bcabc7612f56f0bcb3d6f54a06293e21d1887885a449907b5b320a1a94bac712bf56fdad0a4184b17047c1fc179dfa83acab3f70d21 +6 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/9a58ceae46de4649375b6b880b8500c85d34c8e9bc650dc4c993afb2fa8d45c4180331821c6226a0fb1475b04a0b9a849502647ef9c4dcac74769eb501c885fa +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/a19ae062208aa20b7310705af3d26ef53095a9dabfad080883cc7a32e98687063179db95cb2c71ef9064801c59fa46d261f172d83e83f96a39c274387b59dca4 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/d1169a8d10067493e42752c2a7615ff27f55bd90c38b91feef918958e29a2239ee289a0cde8385441d1f0fe9af1fb634fa6d56438b9f33ec382e81fa59d70b54 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/e171e5c6039c050c2368584a537d36df221b1f9f23d285c0399b95b14608d67006229823e6831bff7d8b0c2f9e86ebaec9c6811461119195f430ade055073fed +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/operations/ee118dd19aac4e1cb354f83a37dadca70bc5f086cc8d36cd0059b222bf8c7250824401ff681518d0120f8db1f96f0025c464dcfc3b1ee28777e8c76325760134 +5 -0
- tab_cli-0.1.4/.jj/repo/op_store/type +1 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/123b0e36150cf8e99d644d2dfd1a7b0c8d2f676a78248d6902516d9ae58903665c79ec3f5f6729b98a1237dcf2abc1d41e690ae0ad30888c84786bcc9de5e314 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/2ac0b7d8b1fdfac82b3ff3926e0018f72ef2b48f85b41f5fa541271370e1197d41e37c2c6d62af0c6974658c4a9e5e945b8efcbcc7748bdd99bd9483f7e13e22 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/67b8396b301935ff624ff98952c57d8ee021e7d885e1220053b993e7bc822a4cf061298e9643ded745c55f3ed8e923a6731524129993d2664f48b60660761145 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/9c6fca696f77383cc87d068fe3f5912466b157dccc6465973e653dd4d2c02e2eca9c0725c071857bf3f4f0e263259eafc18f1739615a501e672bb2afd415316b +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/cae2e3e5952cb5ba93f27e3898d90dac6c41fc9e20c66ef0791e71b91dc103d924996c921c88179705264a224fb5d2bb29091fc8f18f0ea7a088aaabb859ea2a +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/cd8efb6da14127c81c37b56ead18a39b30f2cd154891185a6e906efb491dbf63f290eed3c31d4725f490a93208ffbe5cdc031d5b6de38fcb77cbb11f0357118f +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/e434359d6306a4f6997733b9b5308299984f05219c92e1b2a31f1203126be0fada5fc09a2ba86c98d1318981cb53997c7f8674ef25da6ca7bf9fd849598cd355 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/ea75e7ccb42f52b013dc1b45bb4e6d692b37c5e38bd39356ba2806be83ca5ca03ce20481db2788428126f93663e6723f99f4d46c5c705f5b12b70e2127ab15ba +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/fa5dec7ee06fbc6cbb2798c8e98bab482a6750776de41406fb06893c83f71f5015ec7ee2873642714b7bbc1c496f880e3acf44ffdabf2f87a39e0fbd68a4cc46 +0 -0
- tab_cli-0.1.4/.jj/repo/op_store/views/ffde172c6285c71851b22780e34962d8f9234067af59ff2dc38b74e905dc540fe35b944e8c0b2d4230dfcf778424a335494cd0aeea1bb4be2a11c4b5428ad465 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/14e3f15273e204cadfe38dd2f38cebd1343a6bfbb91c6af0f5f9de6e9003d8ec8b0eb676975af9dca2d06ee5e6b3886c3c5d3755c6f149b6b09172cccc35adff +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/42e0f32dd10ba6ae9f2297ca8ad0bd16337f14545b29f956ce380a7ab92bab771cbc9e04755752a6fa13231286f724379d6662b0fb257ef2cc2c52fe680eb95d +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/466a441e56afdde383cef1d6127ca1d4c825157feb65a59f8f6ff5fa7a523bd683d0b7a6bb16c00afff53a890319a472d98da9af3dea5675168a4d424aa7af32 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/482ae5a29fbe856c7272f2071b8b0f0359ee2d89ff392b8a900643fbd0836eccd067b8bf41909e206c90d45d6e7d8b6686b93ecaee5fe1a9060d87b672101310 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/5403fa06049419ddcf620ce0dc20911583e1b1062b42630ee325aa5ac2f918dd266dfed93ebc808a2aecb37ac3a33e251fe1396fd24b8ed566bfbd61a81ff959 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/56119fa0480cb66159978b1a8c9b031f9e978b7a3172eb87407a701fea34fdd90db7771cd433a2cf7e8a84a7b49c924f973eccb0eb05685ec42f36f7ef61cc06 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/90b1f4de4ba65e0652f1de45e4c84b623f99bd9d9453667e19c7040857bd397e59e7a84406f2ab6204d25789d995c47c350d8abc47a4bbb102059f3111f20028 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/9215bd4ac28fdecba111c63bace46d0f1c253ad3af44e0e74bd43d30757bef2e655538c1172c8f25769bce0a3c669b713440773c1859f0a136d9ca42501f2470 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/a79320f784ef97b3d6297e55a48b17a517a38d95d5c61ba8d01c59d68dcd2ccf3a96479f4fc3c4cafdcd56dc7bd58b1cb987e079764c1646533ab32418900727 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/abe6b7a350e1604cb8f5a2cd10cef13a019bd797770e6dc37414d33d98dcf36d8ec80a2ae13bd7dd2d2076772c0ffadec0b53ba72f4669b461fff2da5d30f1ba +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/b7689d54193a3798edd58d758966ad65ad57297c5276eab3e4ef07380779363efe9e462a149f4d42f55bbe004eb5ba88bf35df4c78ac975275530382390159d6 +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/e75f5f3431d172d7e9434dfaef2be50812105b3ead73eeb10345c9b6892e9cbb5ee0602ebb0ceaf5ab87d22f45930dc30d136d0aac77310fb0261b3857ffde9b +0 -0
- tab_cli-0.1.4/.jj/repo/store/extra/heads/56119fa0480cb66159978b1a8c9b031f9e978b7a3172eb87407a701fea34fdd90db7771cd433a2cf7e8a84a7b49c924f973eccb0eb05685ec42f36f7ef61cc06 +0 -0
- tab_cli-0.1.4/.jj/repo/store/git_target +1 -0
- tab_cli-0.1.4/.jj/repo/store/type +1 -0
- tab_cli-0.1.4/.jj/repo/submodule_store/type +1 -0
- tab_cli-0.1.4/.jj/repo/workspace_store/index +3 -0
- tab_cli-0.1.4/.jj/working_copy/checkout +2 -0
- tab_cli-0.1.4/.jj/working_copy/tree_state +0 -0
- tab_cli-0.1.4/.jj/working_copy/type +1 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/CHANGELOG.md +3 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/PKG-INFO +2 -2
- {tab_cli-0.1.3 → tab_cli-0.1.4}/README.md +1 -1
- {tab_cli-0.1.3 → tab_cli-0.1.4}/docs/cli-ref.md +3 -17
- tab_cli-0.1.4/docs/gen_assets.sh +3 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/mkdocs.yml +1 -1
- {tab_cli-0.1.3 → tab_cli-0.1.4}/pyproject.toml +1 -1
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/cli.py +48 -41
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/parquet.py +27 -3
- tab_cli-0.1.4/tests/__init__.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/tests/test_cli.py +13 -13
- tab_cli-0.1.3/docs/gen_assets.sh +0 -3
- tab_cli-0.1.3/site/404.html +0 -348
- tab_cli-0.1.3/site/assets/images/favicon.png +0 -0
- tab_cli-0.1.3/site/assets/javascripts/bundle.d7c377c4.min.js +0 -29
- tab_cli-0.1.3/site/assets/javascripts/bundle.d7c377c4.min.js.map +0 -7
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
- tab_cli-0.1.3/site/assets/javascripts/lunr/tinyseg.js +0 -206
- tab_cli-0.1.3/site/assets/javascripts/lunr/wordcut.js +0 -6708
- tab_cli-0.1.3/site/assets/javascripts/workers/search.f886a092.min.js +0 -42
- tab_cli-0.1.3/site/assets/javascripts/workers/search.f886a092.min.js.map +0 -7
- tab_cli-0.1.3/site/assets/stylesheets/main.50c56a3b.min.css +0 -1
- tab_cli-0.1.3/site/assets/stylesheets/main.50c56a3b.min.css.map +0 -1
- tab_cli-0.1.3/site/assets/stylesheets/palette.06af60db.min.css +0 -1
- tab_cli-0.1.3/site/assets/stylesheets/palette.06af60db.min.css.map +0 -1
- tab_cli-0.1.3/site/assets/test-where.svg +0 -80
- tab_cli-0.1.3/site/assets/test.svg +0 -106
- tab_cli-0.1.3/site/cli-ref/index.html +0 -718
- tab_cli-0.1.3/site/cloud/index.html +0 -582
- tab_cli-0.1.3/site/gen_assets.sh +0 -3
- tab_cli-0.1.3/site/index.html +0 -729
- tab_cli-0.1.3/site/search/search_index.json +0 -1
- tab_cli-0.1.3/site/sitemap.xml +0 -3
- tab_cli-0.1.3/site/sitemap.xml.gz +0 -0
- tab_cli-0.1.3/tests/assets/test.csv +0 -9
- /tab_cli-0.1.3/tests/__init__.py → /tab_cli-0.1.4/.jj/repo/op_heads/heads/891d7ed26f62b0f8757b081e9d76840636877f1613ee17b7695fe2ee8640258c56e01291934e3797728bc2300a1b5f41e3f3ef81ab532c0e5ab475bb9b6f097a +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/LICENSE +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/Makefile +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/docs/cloud.md +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/docs/index.md +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/__init__.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/config.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/__init__.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/avro.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/base.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/csv.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/formats/jsonl.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/handlers/__init__.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/handlers/base.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/handlers/cli_table.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/__init__.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/aws.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/az.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/base.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/fsspec.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/gcloud.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/storage/local.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/style.py +0 -0
- {tab_cli-0.1.3 → tab_cli-0.1.4}/src/tab_cli/url_parser.py +0 -0
- {tab_cli-0.1.3/site → tab_cli-0.1.4/tests/assets}/test.csv +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d27ad326963b75736b636adad9fb812eb3f2871e0efb4bc7db37d4b701a4282911eaaee91bed3a759e940769b667be1ed66f2d7f2f41ac3906b87ab7eec19c3a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1029dd1c1f4430d8a667a0e48d0b817652c7ddca6f5ff56cac1755e5bb0c1cb7586935941c9b36f26cab05c0effe6154d073bd1dffbe37f22fed0a6e7d79201f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
52ea57bde33e8ef4718d833c2df3cf0a9e90fdcd5715c0caad50b4e37ea60aca2b8c71096de6920dc936c40b6291e896293f91c7cfd2aa96cf6c2aa49ef662c8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
424c9a53f5458b328d77ed6a943dc35662e949befa8725cfc7eead01a270417c8d07c1001b11623a088da8d2c9c34a41573314fa2394643147e4027e8a96a605
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cb3e8da2bf2b7efae4a6e8fd0b8562dacd16ca0531b173a91480a9e60ee795ac5bec13fc6eb461e03edc9a26f5ff1d5ba53521a1c1a6c1ee1765b544b7d7bf73
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3228b9bef9d8374b5532b40df2da8be3bfc86de713bdad7fe620977ffa7c56db83928678caa792bf0d328db607028e045a9e41423ef7501e5b550651c3815ffe
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8ef99a12ae0624db198d9ecd83014fb8353c4731e0ba9a472f1fc339784308e38f1287d0765a7b0444f1a89c218c76a820dc4c9a3a39c1cedcd7423a4f5f88dc
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
86a1cfa113399acc7dd2dc90262a845558affb5e9373b6300dff68a485482c5e17ace9466bbc23b4301013ca1a27a577ca57ea838113f45bf321a64a242b1ad3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
44107e81054aa5544b36eab8d811908a559b4d9027dc3fa1762c44e39551652199ef2a31f9bbcda79773c906151c12578cb18c43e0045de8b20c357272e1c62a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8ef99a12ae0624db198d9ecd83014fb8353c4731e0ba9a472f1fc339784308e38f1287d0765a7b0444f1a89c218c76a820dc4c9a3a39c1cedcd7423a4f5f88dc
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5ea52f6d4771afda4747b9f44954102c02ae2d0686f8aa9eca36c29796bbba0d14e851c0dca0a6af17bfbbbac174e3be645ae708d958390168e85c64786fc9ef
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
default
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
simple_op_heads_store
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
@;6��dM-�{�/gjx$�iQm��f\y�?_g)��7����i
|
|
3
|
+
�0���xk̝��@��(T��%(�>+ʼv�o�=oT�b����ZD��� ��K�q+�o�ФK|�yߨ:ʳ�
|
|
4
|
+
�����3��������������3���������/commit f917bd9e5adc33c5e5ef59b12b4ddd7fc816a42e"tongfei-alienware*tongfei2
|
|
5
|
+
argsjj commit -m jj",
|
|
6
|
+
^r�%�͇��ز��EG�m�����Z�3���Y�+M���."
|
|
7
|
+
�M��a�dI��`��&:���2(
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
@͎�m�A'�7�n���0��H�Zn�n�I�c����G%���2��\�[m��w˱W�@�ҝ��d�)^��ߥ�og)�~[������&nY��5��"Pr1xy�3#�W��`�p�#�����
|
|
3
|
+
����3�������������3���������
|
|
4
|
+
args�jj file untrack site/404.html site/assets site/cli-ref site/cloud site/gen_assets.sh site/index.html site/search site/sitemap.xml site/sitemap.xml.gz",
|
|
5
|
+
_��>V&�U��Ҝ�61BdH��F
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
simple_op_store
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../../../.git
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
git
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
default
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
local
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
- 0.1.4:
|
|
2
|
+
- Removed `tab sql` subcommand; SQL is now a `--sql` option on `tab view`, `tab convert`, and `tab cat`.
|
|
3
|
+
- Automatic PyArrow fallback for Parquet files that fail to read with Polars' native reader.
|
|
1
4
|
- 0.1.3:
|
|
2
5
|
- Separate `tab view` from `tab cat`: `tab view` does not convert formats, `tab cat` does.
|
|
3
6
|
- Added `--max-cell-len` option to `tab view` to truncate long cell contents.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tab-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: A CLI tool for tabular data
|
|
5
5
|
Author-email: Tongfei Chen <tongfei@pm.me>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -26,7 +26,7 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
|
|
27
27
|
# tab
|
|
28
28
|
|
|
29
|
-

|
|
29
|
+
[](https://pypi.org/project/tab-cli/)
|
|
30
30
|
```sh
|
|
31
31
|
pip install tab-cli
|
|
32
32
|
```
|
|
@@ -13,6 +13,7 @@ Options:
|
|
|
13
13
|
| Option | Description |
|
|
14
14
|
|-------------------------|-----------------------------------------------------------------------------------------------------------|
|
|
15
15
|
| `-i` / `--input-format` | Input format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). Auto-detected from extension if omitted. |
|
|
16
|
+
| `--sql` | SQL query to apply before displaying. The table is available as `t`. |
|
|
16
17
|
| `--limit` | Maximum number of rows to display. |
|
|
17
18
|
| `--skip` | Number of rows to skip from the beginning. |
|
|
18
19
|
| `--max-cell-len` | Truncate cell contents longer than this. |
|
|
@@ -47,23 +48,6 @@ Options:
|
|
|
47
48
|
| `-i` / `--input-format` | Input format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). Auto-detected from extension if omitted. |
|
|
48
49
|
|
|
49
50
|
|
|
50
|
-
## `tab sql`
|
|
51
|
-
|
|
52
|
-
Run a SQL query on tabular data. The table is available as `t`.
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
tab sql $query $path [OPTIONS]
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Options:
|
|
59
|
-
|
|
60
|
-
| Option | Description |
|
|
61
|
-
|-------------------------|-----------------------------------------------------------------------------------------------------------|
|
|
62
|
-
| `-i` / `--input-format` | Input format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). Auto-detected from extension if omitted. |
|
|
63
|
-
| `-o` / `--output-format` | Output format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). If not specified, print Rich table in terminal. |
|
|
64
|
-
| `--limit` | Maximum number of rows to display. |
|
|
65
|
-
| `--skip` | Number of rows to skip from the beginning. |
|
|
66
|
-
|
|
67
51
|
## `tab convert`
|
|
68
52
|
|
|
69
53
|
Convert tabular data from one format to another.
|
|
@@ -78,6 +62,7 @@ Options:
|
|
|
78
62
|
|-------------------------|---------------------------------------------------------------------------------------------------------|
|
|
79
63
|
| `-i` / `--input-format` | Input format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). Auto-detected from extension if omitted. |
|
|
80
64
|
| `-o` / `--output-format` | Output format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). If not specified, inherits from input format. |
|
|
65
|
+
| `--sql` | SQL query to apply before writing. The table is available as `t`. |
|
|
81
66
|
| `-n` / `--num-partitions` | Number of output partitions. Creates a directory with partition files. |
|
|
82
67
|
|
|
83
68
|
|
|
@@ -95,6 +80,7 @@ Options:
|
|
|
95
80
|
|-------------------------|-----------------------------------------------------------------------------------------------------------|
|
|
96
81
|
| `-i` / `--input-format` | Input format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). Auto-detected from extension if omitted. |
|
|
97
82
|
| `-o` / `--output-format` | Output format (`parquet`, `csv`, `tsv`, `jsonl`, `avro`). If not specified, print Rich table in terminal. |
|
|
83
|
+
| `--sql` | SQL query to apply after concatenation. The table is available as `t`. |
|
|
98
84
|
|
|
99
85
|
|
|
100
86
|
## Global options
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Main CLI entry point using Typer."""
|
|
2
2
|
|
|
3
3
|
import sys
|
|
4
|
-
from typing import Annotated, Optional
|
|
4
|
+
from typing import Annotated, Optional, TypeAlias
|
|
5
5
|
|
|
6
6
|
from loguru import logger
|
|
7
7
|
import polars as pl
|
|
@@ -11,7 +11,20 @@ from rich.logging import RichHandler
|
|
|
11
11
|
|
|
12
12
|
from tab_cli import config
|
|
13
13
|
from tab_cli.handlers import TableWriter, infer_reader, infer_writer
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
# Reusable type aliases for common CLI options
|
|
16
|
+
PathArg: TypeAlias = Annotated[str, typer.Argument(help="Path to the data file or directory")]
|
|
17
|
+
PathsArg: TypeAlias = Annotated[list[str], typer.Argument(help="Paths to the data files or directories")]
|
|
18
|
+
SrcArg: TypeAlias = Annotated[str, typer.Argument(help="Path to the source file or directory")]
|
|
19
|
+
DstArg: TypeAlias = Annotated[str, typer.Argument(help="Path to the destination file or directory")]
|
|
20
|
+
InputOpt: TypeAlias = Annotated[Optional[str], typer.Option("-i", "--input-format", help="Input format, auto-detected from extension if omitted")]
|
|
21
|
+
OutputOpt: TypeAlias = Annotated[Optional[str], typer.Option("-o", "--output-format", help="Output format")]
|
|
22
|
+
SqlOpt: TypeAlias = Annotated[Optional[str], typer.Option("--sql", help="SQL query to apply (table is available as 't')")]
|
|
23
|
+
LimitOpt: TypeAlias = Annotated[Optional[int], typer.Option("--limit", help="Maximum number of rows to display")]
|
|
24
|
+
SkipOpt: TypeAlias = Annotated[int, typer.Option("--skip", help="Number of rows to skip")]
|
|
25
|
+
MaxCellLenOpt: TypeAlias = Annotated[Optional[int], typer.Option("--max-cell-len", help="Truncate cell contents longer than this")]
|
|
26
|
+
TableSvgOpt: TypeAlias = Annotated[bool, typer.Option("--table-svg", help="Output table as SVG")]
|
|
27
|
+
NumPartitionsOpt: TypeAlias = Annotated[Optional[int], typer.Option("-n", "--num-partitions", help="Number of output partitions")]
|
|
15
28
|
|
|
16
29
|
app = typer.Typer(
|
|
17
30
|
help="A CLI tool for viewing and manipulating tabular data.",
|
|
@@ -47,6 +60,14 @@ def main_callback(
|
|
|
47
60
|
)
|
|
48
61
|
|
|
49
62
|
|
|
63
|
+
def _apply_sql(lf: pl.LazyFrame, sql: str | None) -> pl.LazyFrame:
|
|
64
|
+
"""Apply an optional SQL query to a LazyFrame. The table is available as 't'."""
|
|
65
|
+
if sql is not None:
|
|
66
|
+
ctx = pl.SQLContext(t=lf, eager=False)
|
|
67
|
+
return ctx.execute(sql)
|
|
68
|
+
return lf
|
|
69
|
+
|
|
70
|
+
|
|
50
71
|
def _apply_limit(
|
|
51
72
|
lf: pl.LazyFrame,
|
|
52
73
|
limit: int | None,
|
|
@@ -73,24 +94,27 @@ def _apply_limit(
|
|
|
73
94
|
|
|
74
95
|
@app.command()
|
|
75
96
|
def view(
|
|
76
|
-
path:
|
|
77
|
-
limit:
|
|
78
|
-
skip:
|
|
79
|
-
input:
|
|
80
|
-
|
|
97
|
+
path: PathArg,
|
|
98
|
+
limit: LimitOpt = None,
|
|
99
|
+
skip: SkipOpt = 0,
|
|
100
|
+
input: InputOpt = None,
|
|
101
|
+
sql: SqlOpt = None,
|
|
102
|
+
max_cell_len: MaxCellLenOpt = None,
|
|
103
|
+
table_svg: TableSvgOpt = False,
|
|
81
104
|
) -> None:
|
|
82
105
|
"""View tabular data as a formatted table."""
|
|
83
106
|
reader = infer_reader(path, format=input)
|
|
84
107
|
lf = reader.read(path)
|
|
108
|
+
lf = _apply_sql(lf, sql)
|
|
85
109
|
lf, truncated = _apply_limit(lf, limit=limit, skip=skip, default_limit=20 if limit is None else None)
|
|
86
|
-
writer =
|
|
110
|
+
writer = infer_writer("table-svg" if table_svg else None, truncated=truncated, max_cell_len=max_cell_len)
|
|
87
111
|
for chunk in writer.write(lf):
|
|
88
112
|
sys.stdout.buffer.write(chunk)
|
|
89
113
|
|
|
90
114
|
@app.command()
|
|
91
115
|
def schema(
|
|
92
|
-
path:
|
|
93
|
-
input:
|
|
116
|
+
path: PathArg,
|
|
117
|
+
input: InputOpt = None,
|
|
94
118
|
) -> None:
|
|
95
119
|
"""Display the schema of a tabular data file."""
|
|
96
120
|
reader = infer_reader(path, format=input)
|
|
@@ -99,31 +123,10 @@ def schema(
|
|
|
99
123
|
console.print(table_schema)
|
|
100
124
|
|
|
101
125
|
|
|
102
|
-
@app.command()
|
|
103
|
-
def sql(
|
|
104
|
-
query: Annotated[str, typer.Argument(help="SQL query to execute (table is available as 't')")],
|
|
105
|
-
path: Annotated[str, typer.Argument(help="Path to the data file or directory")],
|
|
106
|
-
limit: Annotated[Optional[int], typer.Option("--limit", help="Maximum number of rows to display")] = None,
|
|
107
|
-
skip: Annotated[int, typer.Option("--skip", help="Number of rows to skip")] = 0,
|
|
108
|
-
input: Annotated[Optional[str], typer.Option("-i", "--input-format", help="Input format")] = None,
|
|
109
|
-
output: Annotated[Optional[str], typer.Option("-o", "--output-format", help="Output format")] = None,
|
|
110
|
-
) -> None:
|
|
111
|
-
"""Run a SQL query on tabular data. The table is available as 't'."""
|
|
112
|
-
reader = infer_reader(path, format=input)
|
|
113
|
-
lf = reader.read(path)
|
|
114
|
-
ctx = pl.SQLContext(t=lf, eager=False)
|
|
115
|
-
result_lf = ctx.execute(query)
|
|
116
|
-
show_truncation = limit is None and output is None
|
|
117
|
-
result_lf, truncated = _apply_limit(result_lf, limit=limit, skip=skip, default_limit=20 if show_truncation else None)
|
|
118
|
-
writer = infer_writer(output, truncated=truncated)
|
|
119
|
-
for chunk in writer.write(result_lf):
|
|
120
|
-
sys.stdout.buffer.write(chunk)
|
|
121
|
-
|
|
122
|
-
|
|
123
126
|
@app.command()
|
|
124
127
|
def summary(
|
|
125
|
-
path:
|
|
126
|
-
input:
|
|
128
|
+
path: PathArg,
|
|
129
|
+
input: InputOpt = None,
|
|
127
130
|
) -> None:
|
|
128
131
|
"""Display summary information about a tabular data file."""
|
|
129
132
|
handler = infer_reader(path, format=input)
|
|
@@ -134,11 +137,12 @@ def summary(
|
|
|
134
137
|
|
|
135
138
|
@app.command()
|
|
136
139
|
def convert(
|
|
137
|
-
src:
|
|
138
|
-
dst:
|
|
139
|
-
input:
|
|
140
|
-
output:
|
|
141
|
-
|
|
140
|
+
src: SrcArg,
|
|
141
|
+
dst: DstArg,
|
|
142
|
+
input: InputOpt = None,
|
|
143
|
+
output: OutputOpt = None,
|
|
144
|
+
sql: SqlOpt = None,
|
|
145
|
+
num_partitions: NumPartitionsOpt = None,
|
|
142
146
|
) -> None:
|
|
143
147
|
"""Convert tabular data from one format to another."""
|
|
144
148
|
reader = infer_reader(src, format=input)
|
|
@@ -151,19 +155,22 @@ def convert(
|
|
|
151
155
|
writer = reader
|
|
152
156
|
assert isinstance(writer, TableWriter)
|
|
153
157
|
lf = reader.read(src)
|
|
158
|
+
lf = _apply_sql(lf, sql)
|
|
154
159
|
writer.write_to_path(lf, dst, partitions=num_partitions)
|
|
155
160
|
|
|
156
161
|
|
|
157
162
|
@app.command()
|
|
158
163
|
def cat(
|
|
159
|
-
paths:
|
|
160
|
-
input:
|
|
161
|
-
output:
|
|
164
|
+
paths: PathsArg,
|
|
165
|
+
input: InputOpt = None,
|
|
166
|
+
output: OutputOpt = None,
|
|
167
|
+
sql: SqlOpt = None,
|
|
162
168
|
) -> None:
|
|
163
169
|
"""Concatenate tabular data from multiple files, or just print a single file."""
|
|
164
170
|
reader = infer_reader(paths[0], format=input)
|
|
165
171
|
files = [reader.read(path) for path in paths]
|
|
166
172
|
lf = pl.concat(files, how="vertical")
|
|
173
|
+
lf = _apply_sql(lf, sql)
|
|
167
174
|
if output is not None:
|
|
168
175
|
writer = infer_writer(format=output)
|
|
169
176
|
else:
|