content: [project]
  # General information about the 3rd-party project: Its name, why we test it,
  # and where to find the relevant tarball, along with its expected checksum.
  name = "detect-waste"
  description = "A data science project for detecting waste in the environment."
  url = "https://github.com/wimlds-trojmiasto/detect-waste/archive/0a4367b121e4bfabdfb148b323090573ac2dadc2.tar.gz"
  sha256 = "b7c34d528bba97a4ace1aa6efee90d31ae1419581577d6ee13c3cf6718357e36"
  # The SHA256 checksum above can be found by running `sha256sum` on the
  # downloaded tarball. It is used to ensure that we run tests against the
  # expected revision of the 3rd-party project.
  
  # Below are our experiments which run FawltyDeps with various options on the
  # above (unpacked) tarball. Each table represents an experiment with the
  # command-line arguments we pass to FawltyDeps (in `args`, --json is implicitly
  # added by test_real_projects), as well as our expectations for what FawltyDeps
  # should return in that scenario. These expectations are encoded as lists of
  # import/dependency names which we expect to be present in the corresponding
  # parts of the JSON: imports, declared_deps, undeclared_deps, and unused_deps.
  # All these fields are optional, and the verification will be skipped for
  # missing fields.
  
  [experiments.all]
  description = "Running FD on the entire detect-waste project"
  args = []
  # When we run FawltyDeps with the above arguments, we expect these results:
  imports = [
    "PIL",
    "albumentations",
    "apex",
    "cv2",
    "demo",
    "efficientnet_pytorch",
    "funcy",
    "iterstrat",
    "matplotlib",
    "models",
    "neptune",
    "numpy",
    "omegaconf",
    "pandas",
    "panopticapi",
    "pycocotools",
    "pylab",
    "pytorch_lightning",
    "requests",
    "scikitplot",
    "scipy",
    "seaborn",
    "setuptools",
    "skimage",
    "sklearn",
    "sotabencheval",
    "timm",
    "torch",
    "torchvision",
    "tqdm",
    "yaml"
  ]
  
  declared_deps =  [
    "albumentations",
    "Cython",
    "funcy",
    "iterative-stratification",
    "matplotlib",
    "numpy",
    "oauthlib",
    "olefile",
    "omegaconf",
    "opencv-contrib-python",
    "Pillow",
    "pycocotools",
    "pyyaml",
    "scikit-image",
    "scikit-learn",
    "scipy",
    "seaborn",
    "timm",
    "torch",
    "torchvision"
  ]
  
  undeclared_deps = [
    # found internally in the project
    "demo", # undeclared comes from `make_predictions.py` and 
            # `detr/notebooks/Detect_Waste_finetuning_detr.ipynb` 
            # They extend `sys.path` to include modules from children directories
    "models", # undeclared comes from `make_predictions.py` which is imported by extending `sys.path`
    # actually undeclared
    "apex", # wrapped in `ImportError`
    "efficientnet_pytorch",
    "neptune",
    "pandas",
    "panopticapi",
    "pylab", # part of matplotlib
    "pytorch_lightning",
    "requests",
    "setuptools",
    "sotabencheval", # looks like it is an artifact of some refactor
    "scikitplot", 
    "tqdm", 
    # unmatched due to identity mapping
    "cv2",
    "iterstrat",
    "PIL",
    # "yaml",  # found via SysPathResolver due to fawltydeps' own yaml dependency
    "sklearn",
    "skimage",
  ]
  
  unused_deps =  [
    "Cython" , # needed to install scipy via conda
    # actually unused
    "oauthlib",
    "olefile",
    # unmatched due to identity mapping
    "opencv-contrib-python",
    "iterative-stratification",
    "Pillow",
    # "pyyaml",  # found via SysPathResolver due to fawltydeps' own yaml dependency
    "scikit-learn",
    "scikit-image",
  ]
  