Skip to content

Commit 4b27d86

Browse files
mknorpsNour-Mws
andauthored
Add detect waste to real project tests suite (#105)
* Add detect waste to real project tests suite * Categorize unused and undeclared dependencies Remove local dependencies that were reported as undeclared handled currently by #116 * Remove uneeded comments from undeclared deps Update tests/real_projects/detect-waste.toml Co-authored-by: Nour El Mawass <nour.elmawass@tweag.io> --------- Co-authored-by: Nour El Mawass <nour.elmawass@tweag.io>
1 parent 3116cb1 commit 4b27d86

1 file changed

Lines changed: 136 additions & 0 deletions

File tree

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
[project]
2+
# General information about the 3rd-party project: Its name, why we test it,
3+
# and where to find the relevant tarball, along with its expected checksum.
4+
name = "detect-waste"
5+
description = "A data science project for detecting waste in the environment."
6+
url = "https://github.com/wimlds-trojmiasto/detect-waste/archive/0a4367b121e4bfabdfb148b323090573ac2dadc2.tar.gz"
7+
sha256 = "b7c34d528bba97a4ace1aa6efee90d31ae1419581577d6ee13c3cf6718357e36"
8+
# The SHA256 checksum above can be found by running `sha256sum` on the
9+
# downloaded tarball. It is used to ensure that we run tests against the
10+
# expected revision of the 3rd-party project.
11+
12+
# Below are our expectations for running FawltyDeps on the above (unpacked)
13+
# tarball. Each table represents the expectations of a corresponding test case
14+
# inside ../test_real_projects.py. All tables are optional: Removing a table
15+
# will disable the corresponding test case. An empty table means that we expect
16+
# FawltyDeps to produce zero results/empty output for that test.
17+
#
18+
# Inside each table, we map filenames to lists of relevant packages (imports or
19+
# dependencies) that we expect FawltyDeps to return for that test. This is
20+
# described in more detail under each table:
21+
22+
[imports]
23+
# What we expect `fawltydeps --list-imports` to return for this project.
24+
# Key: filename containing import statements
25+
# Value: list (set) of external packages imported
26+
"<unused>" = [
27+
"PIL",
28+
"albumentations",
29+
"apex",
30+
"cv2",
31+
"demo",
32+
"efficientnet_pytorch",
33+
"funcy",
34+
"iterstrat",
35+
"matplotlib",
36+
"models",
37+
"neptune",
38+
"numpy",
39+
"omegaconf",
40+
"pandas",
41+
"panopticapi",
42+
"pycocotools",
43+
"pylab",
44+
"pytorch_lightning",
45+
"requests",
46+
"scikitplot",
47+
"scipy",
48+
"seaborn",
49+
"setuptools",
50+
"skimage",
51+
"sklearn",
52+
"sotabencheval",
53+
"timm",
54+
"torch",
55+
"torchvision",
56+
"tqdm",
57+
"yaml"
58+
]
59+
60+
[declared_deps]
61+
# What we expect `fawltydeps --list-deps` to return for this project.
62+
# Key: filename containing declared dependencies
63+
# Value: list (set) of packages names that are declared
64+
"<unused>" = [
65+
"albumentations",
66+
"cython",
67+
"funcy",
68+
"iterative-stratification",
69+
"matplotlib",
70+
"numpy",
71+
"oauthlib",
72+
"olefile",
73+
"omegaconf",
74+
"opencv-contrib-python",
75+
"pillow",
76+
"pycocotools",
77+
"pyyaml",
78+
"scikit-image",
79+
"scikit-learn",
80+
"scipy",
81+
"seaborn",
82+
"timm",
83+
"torch",
84+
"torchvision"
85+
]
86+
87+
[undeclared_deps]
88+
# What we expect `fawltydeps --check-undeclared` to return for this project.
89+
# Key: filename containing import statements
90+
# Value: list (set) of external packages imported without being declared
91+
"<unused>" = [
92+
# found internally in the project
93+
"demo", # undeclared comes from `make_predictions.py` and
94+
# `detr/notebooks/Detect_Waste_finetuning_detr.ipynb`
95+
# They extend `sys.path` to include modules from children directories
96+
"models", # undeclared comes from `make_predictions.py` which is imported by extending `sys.path`
97+
# actually undeclared
98+
"apex", # wrapped in `ImportError`
99+
"efficientnet_pytorch",
100+
"neptune",
101+
"pandas",
102+
"panopticapi",
103+
"pylab", # part of matplotlib
104+
"pytorch_lightning",
105+
"requests",
106+
"setuptools",
107+
"sotabencheval", # looks like it is an artifact of some refactor
108+
"scikitplot",
109+
"tqdm",
110+
# unmatched due to identity mapping
111+
"cv2",
112+
"iterstrat",
113+
"PIL",
114+
"yaml",
115+
"sklearn",
116+
"skimage",
117+
118+
]
119+
120+
[unused_deps]
121+
# What we expect `fawltydeps --check-unused` to return for this project.
122+
# Key: filename containing declared dependencies
123+
# Value: list (set) of external packages imported
124+
"<unused>" = [
125+
"cython" , # needed to install scipy via conda
126+
# actually unused
127+
"oauthlib",
128+
"olefile",
129+
# unmatched due to identity mapping
130+
"opencv-contrib-python",
131+
"iterative-stratification",
132+
"pillow",
133+
"pyyaml",
134+
"scikit-learn",
135+
"scikit-image",
136+
]

0 commit comments

Comments
 (0)