code: def get_extra_requires(path):
      try:
          with open(path, encoding="utf-8") as fp:
              extra_deps = defaultdict(set)
              for k in fp:
                  if k.strip() and not k.startswith("#"):
                      tags = set()
                      if ":" in k:
                          k, v = k.split(":")
                          tags.update(vv.strip() for vv in v.split(","))
  
                      k = re.split("([<>=])", k, 1)
  
                      # If we have some version requirement, it will be returned as a
                      # separate item by the split function
                      if len(k) == 3:
                          k = [k[0], k[1] + k[2]]
                      assert (
                          len(k) <= 2
                      ), "requirement should not have more than 2 parts"
  
                      # Can not use extra requirements in conda - i.e. uvicorn[standard]
                      k[0] = re.sub(r"\[\w+\]", "", k[0])
  
                      # The kubernetes package is python-kubernetes on conda-forge
                      if k[0] == "kubernetes":
                          k[0] = "python-kubernetes"
  
                      # The docker package is docker-py on conda-forge
                      if k[0] == "docker":
                          k[0] = "docker-py"
  
                      # Pytorch package is pytorch-cpu (gpu not needed for demo) on forge
                      if k[0] == "torch":
                          k[0] = "pytorch-cpu"
  
                      # In conda recipe pkg name and version must be separated by space
                      k = " ".join(k)
  
                      for t in tags:
                          extra_deps[t].add(k)
  
          return extra_deps
      except FileNotFoundError:
          return {}
  
file_path: jina/scripts/create-conda-recipe.py
imports: import re
  from collections import defaultdict
  from copy import deepcopy
  import requests
  import yaml
  from bs4 import BeautifulSoup
label_desc: Use image node_id 1 for calling a global function with example usage: get_extra_requires(path) and returns: extra_deps, dict