Skip to content

Commit 7e844f0

Browse files
committed
using an exclude list
Signed-off-by: AravCS <aravshah927@gmail.com>
1 parent 32166d6 commit 7e844f0

2 files changed

Lines changed: 189 additions & 52 deletions

File tree

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ check:
9393
@${ACTIVATE} isort --check-only .
9494
@echo "-> Run black validation"
9595
@${ACTIVATE} black --check ${BLACK_ARGS}
96+
@echo "-> Run mypy type checking"
97+
@${ACTIVATE} mypy
9698

9799
clean:
98100
@echo "-> Clean the Python env"

mypy.ini

Lines changed: 187 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -14,57 +14,192 @@ strict_equality = True
1414
warn_return_any = True
1515

1616
files =
17-
# fetch and parse vulnerability data from upstream sources
18-
vulnerabilities/importers/debian_oval.py,
19-
vulnerabilities/importers/epss.py,
20-
vulnerabilities/importers/project_kb_msr2019.py,
21-
vulnerabilities/importers/redhat.py,
22-
vulnerabilities/importers/suse_scores.py,
23-
vulnerabilities/importers/ubuntu_usn.py,
24-
vulnerabilities/importers/xen.py,
25-
26-
# shared logic that transforms advisory data after import
27-
vulnerabilities/pipes/apache_kafka.py,
28-
vulnerabilities/pipes/export.py,
29-
vulnerabilities/pipes/extractcode_utils.py,
30-
vulnerabilities/pipes/federatedcode.py,
31-
32-
# CLI entry points for imports, improvers, and scheduling
33-
vulnerabilities/management/commands/create_api_user.py,
34-
vulnerabilities/management/commands/import.py,
35-
vulnerabilities/management/commands/improve.py,
36-
vulnerabilities/management/commands/run_scheduler.py,
37-
38-
# how vulnerabilities are scored, related, and scheduled
39-
vulnerabilities/risk.py,
40-
vulnerabilities/references.py,
41-
vulnerabilities/schedules.py,
42-
vulnerabilities/pipelines/v2_importers/collect_fix_commits.py,
43-
44-
# API pagination and rate limiting
45-
vulnerabilities/pagination.py,
46-
vulnerabilities/throttling.py,
47-
48-
# supporting utilities
49-
vulnerabilities/rpm_utils.py,
50-
vulnerabilities/weight_config.py,
51-
52-
# fully clean directories: request middleware and template tags
53-
vulnerabilities/middleware,
54-
vulnerabilities/templatetags,
55-
56-
# Django project configuration
57-
vulnerablecode/__init__.py,
58-
vulnerablecode/context_processors.py,
59-
vulnerablecode/urls.py,
60-
vulnerablecode/wsgi.py,
61-
62-
# shared library for deterministic advisory IDs
17+
vulnerabilities,
18+
vulnerablecode,
6319
aboutcode,
20+
vulntotal,
6421

65-
# bundled CLI tool for cross-checking vulnerability sources
66-
vulntotal/__init__.py,
67-
vulntotal/vulntotal_utils.py,
68-
vulntotal/ecosystem,
69-
vulntotal/datasources/safetydb.py,
70-
vulntotal/tests,
22+
exclude = (?x)(
23+
# permanently excluded, migrations are auto-generated
24+
^vulnerabilities/migrations/
25+
26+
# everything below is excluded only until it is typed
27+
28+
# directories with no files typed
29+
| ^vulnerabilities/pipelines/v2_improvers/
30+
| ^vulnerabilities/tests/pipelines/exporters/
31+
32+
# top level files in pipelines/ not typed, subdirectories are listed below
33+
| ^vulnerabilities/pipelines/[^/]+\.py$
34+
35+
# core app modules not yet typed
36+
| ^vulnerabilities/api\.py$
37+
| ^vulnerabilities/api_extension\.py$
38+
| ^vulnerabilities/api_v3\.py$
39+
| ^vulnerabilities/import_runner\.py$
40+
| ^vulnerabilities/importer\.py$
41+
| ^vulnerabilities/improve_runner\.py$
42+
| ^vulnerabilities/improver\.py$
43+
| ^vulnerabilities/lib_oval\.py$
44+
| ^vulnerabilities/models\.py$
45+
| ^vulnerabilities/oval_parser\.py$
46+
| ^vulnerabilities/severity_systems\.py$
47+
| ^vulnerabilities/tasks\.py$
48+
| ^vulnerabilities/utils\.py$
49+
| ^vulnerabilities/views\.py$
50+
51+
# importer implementations not yet typed
52+
| ^vulnerabilities/importers/apache_httpd\.py$
53+
| ^vulnerabilities/importers/apache_kafka\.py$
54+
| ^vulnerabilities/importers/apache_tomcat\.py$
55+
| ^vulnerabilities/importers/archlinux\.py$
56+
| ^vulnerabilities/importers/curl\.py$
57+
| ^vulnerabilities/importers/debian\.py$
58+
| ^vulnerabilities/importers/elixir_security\.py$
59+
| ^vulnerabilities/importers/fireeye\.py$
60+
| ^vulnerabilities/importers/gentoo\.py$
61+
| ^vulnerabilities/importers/github_osv\.py$
62+
| ^vulnerabilities/importers/gsd\.py$
63+
| ^vulnerabilities/importers/istio\.py$
64+
| ^vulnerabilities/importers/kaybee\.py$
65+
| ^vulnerabilities/importers/mattermost\.py$
66+
| ^vulnerabilities/importers/mozilla\.py$
67+
| ^vulnerabilities/importers/openssl\.py$
68+
| ^vulnerabilities/importers/oss_fuzz\.py$
69+
| ^vulnerabilities/importers/osv\.py$
70+
| ^vulnerabilities/importers/postgresql\.py$
71+
| ^vulnerabilities/importers/retiredotnet\.py$
72+
| ^vulnerabilities/importers/ruby\.py$
73+
| ^vulnerabilities/importers/rust\.py$
74+
| ^vulnerabilities/importers/suse_backports\.py$
75+
| ^vulnerabilities/importers/suse_oval\.py$
76+
| ^vulnerabilities/importers/vulnrichment\.py$
77+
78+
# pipeline modules not yet typed (v2 importers/exporters)
79+
| ^vulnerabilities/pipelines/exporters/federate_vulnerabilities\.py$
80+
| ^vulnerabilities/pipelines/v2_importers/alpine_linux_importer\.py$
81+
| ^vulnerabilities/pipelines/v2_importers/aosp_importer\.py$
82+
| ^vulnerabilities/pipelines/v2_importers/apache_httpd_importer\.py$
83+
| ^vulnerabilities/pipelines/v2_importers/apache_kafka_importer\.py$
84+
| ^vulnerabilities/pipelines/v2_importers/apache_tomcat_importer\.py$
85+
| ^vulnerabilities/pipelines/v2_importers/archlinux_importer\.py$
86+
| ^vulnerabilities/pipelines/v2_importers/curl_importer\.py$
87+
| ^vulnerabilities/pipelines/v2_importers/debian_importer\.py$
88+
| ^vulnerabilities/pipelines/v2_importers/elixir_security_importer\.py$
89+
| ^vulnerabilities/pipelines/v2_importers/epss_importer_v2\.py$
90+
| ^vulnerabilities/pipelines/v2_importers/fireeye_importer_v2\.py$
91+
| ^vulnerabilities/pipelines/v2_importers/gentoo_importer\.py$
92+
| ^vulnerabilities/pipelines/v2_importers/github_osv_importer\.py$
93+
| ^vulnerabilities/pipelines/v2_importers/gitlab_importer\.py$
94+
| ^vulnerabilities/pipelines/v2_importers/glibc_importer\.py$
95+
| ^vulnerabilities/pipelines/v2_importers/istio_importer\.py$
96+
| ^vulnerabilities/pipelines/v2_importers/linux_kernel_importer\.py$
97+
| ^vulnerabilities/pipelines/v2_importers/mattermost_importer\.py$
98+
| ^vulnerabilities/pipelines/v2_importers/mozilla_importer\.py$
99+
| ^vulnerabilities/pipelines/v2_importers/nginx_importer\.py$
100+
| ^vulnerabilities/pipelines/v2_importers/npm_importer\.py$
101+
| ^vulnerabilities/pipelines/v2_importers/nvd_importer\.py$
102+
| ^vulnerabilities/pipelines/v2_importers/openssl_importer\.py$
103+
| ^vulnerabilities/pipelines/v2_importers/oss_fuzz\.py$
104+
| ^vulnerabilities/pipelines/v2_importers/postgresql_importer\.py$
105+
| ^vulnerabilities/pipelines/v2_importers/project_kb_msr2019_importer\.py$
106+
| ^vulnerabilities/pipelines/v2_importers/project_kb_statements_importer\.py$
107+
| ^vulnerabilities/pipelines/v2_importers/pypa_importer\.py$
108+
| ^vulnerabilities/pipelines/v2_importers/pysec_importer\.py$
109+
| ^vulnerabilities/pipelines/v2_importers/redhat_importer\.py$
110+
| ^vulnerabilities/pipelines/v2_importers/retiredotnet_importer\.py$
111+
| ^vulnerabilities/pipelines/v2_importers/ruby_importer\.py$
112+
| ^vulnerabilities/pipelines/v2_importers/suse_score_importer\.py$
113+
| ^vulnerabilities/pipelines/v2_importers/ubuntu_osv_importer\.py$
114+
| ^vulnerabilities/pipelines/v2_importers/vulnrichment_importer\.py$
115+
| ^vulnerabilities/pipelines/v2_importers/xen_importer\.py$
116+
117+
# data-transform pipes not yet typed
118+
| ^vulnerabilities/pipes/advisory\.py$
119+
| ^vulnerabilities/pipes/fetchcode_utils\.py$
120+
| ^vulnerabilities/pipes/group_advisories\.py$
121+
| ^vulnerabilities/pipes/openssl\.py$
122+
| ^vulnerabilities/pipes/osv_v2\.py$
123+
| ^vulnerabilities/pipes/univers_utils\.py$
124+
| ^vulnerabilities/pipes/vcs_collector_utils\.py$
125+
126+
# improvers not yet typed
127+
| ^vulnerabilities/improvers/add_missing_refid\.py$
128+
| ^vulnerabilities/improvers/default\.py$
129+
| ^vulnerabilities/improvers/valid_versions\.py$
130+
131+
# management commands not yet typed
132+
| ^vulnerabilities/management/commands/commit_export\.py$
133+
| ^vulnerabilities/management/commands/export\.py$
134+
135+
# test suite not yet typed
136+
| ^vulnerabilities/tests/pipelines/test_base_pipeline\.py$
137+
| ^vulnerabilities/tests/pipelines/test_compute_advisory_todo\.py$
138+
| ^vulnerabilities/tests/pipelines/test_npm_importer_pipeline\.py$
139+
| ^vulnerabilities/tests/pipelines/test_pipeline_id\.py$
140+
| ^vulnerabilities/tests/pipelines/test_pypa_importer_pipeline\.py$
141+
| ^vulnerabilities/tests/pipelines/test_pysec_importer_pipeline\.py$
142+
| ^vulnerabilities/tests/pipelines/test_remove_duplicate_advisories\.py$
143+
| ^vulnerabilities/tests/pipelines/v2_importers/test_apache_httpd_importer_pipeline_v2\.py$
144+
| ^vulnerabilities/tests/pipelines/v2_importers/test_apache_kafka_importer\.py$
145+
| ^vulnerabilities/tests/pipelines/v2_importers/test_apache_tomcat_importer_pipeline\.py$
146+
| ^vulnerabilities/tests/pipelines/v2_importers/test_collect_fix_commit\.py$
147+
| ^vulnerabilities/tests/pipelines/v2_importers/test_debian_importer\.py$
148+
| ^vulnerabilities/tests/pipelines/v2_importers/test_elixir_security_importer_v2\.py$
149+
| ^vulnerabilities/tests/pipelines/v2_importers/test_github_osv_importer_v2\.py$
150+
| ^vulnerabilities/tests/pipelines/v2_importers/test_gitlab_importer_v2\.py$
151+
| ^vulnerabilities/tests/pipelines/v2_importers/test_istio_importer_v2\.py$
152+
| ^vulnerabilities/tests/pipelines/v2_importers/test_mattermost_importer_v2\.py$
153+
| ^vulnerabilities/tests/pipelines/v2_importers/test_mozilla_importer_v2\.py$
154+
| ^vulnerabilities/tests/pipelines/v2_importers/test_npm_importer_pipeline_v2\.py$
155+
| ^vulnerabilities/tests/pipelines/v2_importers/test_openssl_importer\.py$
156+
| ^vulnerabilities/tests/pipelines/v2_importers/test_postgresql_importer_v2\.py$
157+
| ^vulnerabilities/tests/pipelines/v2_importers/test_pypa_importer_pipeline_v2\.py$
158+
| ^vulnerabilities/tests/pipelines/v2_importers/test_pysec_importer_v2\.py$
159+
| ^vulnerabilities/tests/pipelines/v2_importers/test_ubuntu_osv_importer\.py$
160+
| ^vulnerabilities/tests/pipelines/v2_importers/test_xen_importer_v2\.py$
161+
| ^vulnerabilities/tests/pipelines/v2_improvers/test_unfurl_version_range\.py$
162+
| ^vulnerabilities/tests/pipes/test_apache_kafka\.py$
163+
| ^vulnerabilities/tests/pipes/test_osv_v2\.py$
164+
| ^vulnerabilities/tests/pipes/test_vulnerablecode_importer_pipeline_v2\.py$
165+
| ^vulnerabilities/tests/test_affected_package\.py$
166+
| ^vulnerabilities/tests/test_api_extension\.py$
167+
| ^vulnerabilities/tests/test_api_v3\.py$
168+
| ^vulnerabilities/tests/test_changelog\.py$
169+
| ^vulnerabilities/tests/test_data_migrations\.py$
170+
| ^vulnerabilities/tests/test_data_source\.py$
171+
| ^vulnerabilities/tests/test_debian_oval\.py$
172+
| ^vulnerabilities/tests/test_default_improver\.py$
173+
| ^vulnerabilities/tests/test_example\.py$
174+
| ^vulnerabilities/tests/test_github_osv\.py$
175+
| ^vulnerabilities/tests/test_import_command\.py$
176+
| ^vulnerabilities/tests/test_import_runner\.py$
177+
| ^vulnerabilities/tests/test_improve_command\.py$
178+
| ^vulnerabilities/tests/test_improve_runner\.py$
179+
| ^vulnerabilities/tests/test_models\.py$
180+
| ^vulnerabilities/tests/test_openssl\.py$
181+
| ^vulnerabilities/tests/test_oss_fuzz\.py$
182+
| ^vulnerabilities/tests/test_osv\.py$
183+
| ^vulnerabilities/tests/test_retiredotnet\.py$
184+
| ^vulnerabilities/tests/test_rust\.py$
185+
| ^vulnerabilities/tests/test_suse\.py$
186+
| ^vulnerabilities/tests/test_suse_oval\.py$
187+
| ^vulnerabilities/tests/test_tasks\.py$
188+
| ^vulnerabilities/tests/test_utils\.py$
189+
190+
# vulntotal data sources not yet typed
191+
| ^vulntotal/datasources/deps\.py$
192+
| ^vulntotal/datasources/github\.py$
193+
| ^vulntotal/datasources/gitlab\.py$
194+
| ^vulntotal/datasources/oss_index\.py$
195+
| ^vulntotal/datasources/osv\.py$
196+
| ^vulntotal/datasources/snyk\.py$
197+
| ^vulntotal/datasources/vulnerablecode\.py$
198+
199+
# vulntotal core not yet typed
200+
| ^vulntotal/validator\.py$
201+
| ^vulntotal/vulntotal_cli\.py$
202+
203+
# Django settings not yet typed
204+
| ^vulnerablecode/settings\.py$
205+
)

0 commit comments

Comments
 (0)