code: def inputs(ctx, client, revision, paths):
      r
      from renku.models.provenance import ProcessRun
  
      graph = Graph(client)
      paths = set(paths)
      nodes = graph.build(revision=revision)
  
      commits = {node.commit for node in nodes}
      candidates = {(node.commit, node.path)
                    for node in nodes if not paths or node.path in paths}
  
      input_paths = set()
  
      for commit in commits:
          activity = graph.activities[commit]
  
          if isinstance(activity, ProcessRun):
              for usage in activity.qualified_usage:
                  for entity in usage.entity.entities:
                      path = str((usage.client.path / entity.path).relative_to(
                          client.path
                      ))
                      usage_key = (entity.commit, entity.path)
  
                      if path not in input_paths and usage_key in candidates:
                          input_paths.add(path)
  
      click.echo('\n'.join(graph._format_path(path) for path in input_paths))
      ctx.exit(0 if not paths or len(input_paths) == len(paths) else 1)
docs: r"""Show inputs files in the repository.
  
      <PATHS>    Files to show. If no files are given all input files are shown.