Skip to content

Commit e5be7e6

Browse files
authored
show: add --schema (#162)
1 parent 7e20c19 commit e5be7e6

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/datachain/cli.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,7 @@ def get_parser() -> ArgumentParser: # noqa: PLR0915
491491
type=int,
492492
help="Dataset version",
493493
)
494+
show_parser.add_argument("--schema", action="store_true", help="Show schema")
494495
add_show_args(show_parser)
495496

496497
query_parser = subp.add_parser(
@@ -816,10 +817,15 @@ def show(
816817
offset: int = 0,
817818
columns: Sequence[str] = (),
818819
no_collapse: bool = False,
820+
schema: bool = False,
819821
) -> None:
822+
from datachain.lib.dc import DataChain
820823
from datachain.query import DatasetQuery
821824
from datachain.utils import show_records
822825

826+
dataset = catalog.get_dataset(name)
827+
dataset_version = dataset.get_version(version or dataset.latest_version)
828+
823829
query = (
824830
DatasetQuery(name=name, version=version, catalog=catalog)
825831
.select(*columns)
@@ -828,6 +834,10 @@ def show(
828834
)
829835
records = query.to_db_records()
830836
show_records(records, collapse_columns=not no_collapse)
837+
if schema and dataset_version.feature_schema:
838+
print("\nSchema:")
839+
dc = DataChain(name=name, version=version, catalog=catalog)
840+
dc.print_schema()
831841

832842

833843
def query(
@@ -1013,6 +1023,7 @@ def main(argv: Optional[list[str]] = None) -> int: # noqa: C901, PLR0912, PLR09
10131023
offset=args.offset,
10141024
columns=args.columns,
10151025
no_collapse=args.no_collapse,
1026+
schema=args.schema,
10161027
)
10171028
elif args.command == "rm-dataset":
10181029
rm_dataset(catalog, args.name, version=args.version, force=args.force)

0 commit comments

Comments
 (0)