from trygvis.eda import cli def run(args: object): def db_stats(g): res = cli.sparql(g, """ SELECT ?project ?label WHERE { ?project a kicad:project OPTIONAL { ?project rdfs:label ?label } } """) cli.info("Found %d projects in database" % len(res)) for row in res: name = row.label if row.label is not None else "" url = row.project cli.info("%s:" % name) cli.info(" URL: %s" % url) cli.info() res = cli.sparql(g, """ SELECT ?dk_part ?dk_part_number ?label WHERE { ?dk_part a dk:part ; dk:partNumber ?dk_part_number . OPTIONAL { ?dk_part rdfs:label ?label } } ORDER BY ?dk_part_number """) cli.info("Found %d Digi-Key parts:" % len(res)) for row in res: cli.info(" %-30s %s" % (row.dk_part_number, row.label)) cli.with_database(db_stats)