@@ -84,6 +84,8 @@ def two_groups_hyphens_two_replacements_with_suffix(
84
84
google-cloud-foo will be used.
85
85
"""
86
86
DEFAULT_MODULE_PATTERN_MAPPING : Dict [re .Pattern , Iterable ] = {
87
+ re .compile (r"""^airflow-providers-(.+)""" ): [all_hyphen_to_dot ],
88
+ re .compile (r"""^apache-(airflow-providers-.+)""" ): [first_group_hyphen_to_dot ],
87
89
re .compile (r"""^azure-.+""" ): [all_hyphen_to_dot ],
88
90
re .compile (r"""^django-((.+(-.+)?))""" ): [first_group_hyphen_to_underscore ],
89
91
# See https://github.com/googleapis/google-cloud-python#libraries for all Google cloud
@@ -113,23 +115,33 @@ def two_groups_hyphens_two_replacements_with_suffix(
113
115
"beautifulsoup4" : ("bs4" ,),
114
116
"bitvector" : ("BitVector" ,),
115
117
"cattrs" : ("cattr" , "cattrs" ),
116
- "django-filter" : ("django_filters" ,),
117
- "django-postgres-extra" : ("psqlextra" ,),
118
118
"django-cors-headers" : ("corsheaders" ,),
119
119
"django-countries" : ("django_countries" ,),
120
+ "django-filter" : ("django_filters" ,),
120
121
"django-fsm" : ("django_fsm" ,),
122
+ "django-migration-linter" : ("django_migration_linter" ,),
123
+ "django-object-actions" : ("django_object_actions" ,),
124
+ "django-postgres-extra" : ("psqlextra" ,),
121
125
"django-redis" : ("django_redis" ,),
126
+ "django-scim2" : ("django_scim" ,),
122
127
"djangorestframework" : ("rest_framework" ,),
128
+ "djangorestframework-api-key" : ("rest_framework_api_key" ,),
123
129
"djangorestframework-dataclasses" : ("rest_framework_dataclasses" ,),
130
+ "djangorestframework-queryfields" : ("drf_queryfields" ,),
124
131
"djangorestframework-simplejwt" : ("rest_framework_simplejwt" ,),
125
132
"elastic-apm" : ("elasticapm" ,),
126
133
"enum34" : ("enum" ,),
127
134
"factory-boy" : ("factory" ,),
128
135
"fluent-logger" : ("fluent" ,),
129
136
"gitpython" : ("git" ,),
137
+ "google-api-core" : ("google" ,),
138
+ "google-api-python-client" : ("googleapiclient" ,),
139
+ "google-auth" : ("google.auth" , "google.oauth2" ),
130
140
"graphql-core" : ("graphql" ,),
131
141
"grpcio" : ("grpc" ,),
132
142
"grpcio-health-checking" : ("grpc_health" ,),
143
+ "grpcio-reflection" : ("grpc_reflection" ,),
144
+ "honeycomb-beeline" : ("beeline" ,),
133
145
"honeycomb-opentelemetry" : ("honeycomb.opentelemetry" ,),
134
146
"ipython" : ("IPython" ,),
135
147
"jack-client" : ("jack" ,),
@@ -139,13 +151,14 @@ def two_groups_hyphens_two_replacements_with_suffix(
139
151
"mail-parser" : ("mailparser" ,),
140
152
"mysql-connector-python" : ("mysql.connector" ,),
141
153
"opencv-python" : ("cv2" ,),
154
+ "opencv-python-headless" : ("cv2" ,),
142
155
"opensearch-py" : ("opensearchpy" ,),
143
156
# opentelemetry
144
157
"opentelemetry-api" : ("opentelemetry" ,),
145
- "opentelemetry-instrumentation-kafka-python" : ("opentelemetry.instrumentation.kafka" ,),
146
158
"opentelemetry-exporter-otlp" : ("opentelemetry.exporter" ,),
147
159
"opentelemetry-exporter-otlp-proto-grpc" : ("opentelemetry.exporter.otlp.proto.grpc" ,),
148
160
"opentelemetry-exporter-otlp-proto-http" : ("opentelemetry.exporter.otlp.proto.http" ,),
161
+ "opentelemetry-instrumentation-kafka-python" : ("opentelemetry.instrumentation.kafka" ,),
149
162
"opentelemetry-sdk" : ("opentelemetry.sdk" ,),
150
163
"opentelemetry-test-utils" : ("opentelemetry.test" ,),
151
164
"paho-mqtt" : ("paho" ,),
@@ -156,52 +169,56 @@ def two_groups_hyphens_two_replacements_with_suffix(
156
169
"protobuf" : ("google.protobuf" ,),
157
170
"psycopg2-binary" : ("psycopg2" ,),
158
171
"pycrypto" : ("Crypto" ,),
159
- "pykube-ng" : ("pykube" ,),
160
- "pyhamcrest" : ("hamcrest" ,),
161
172
"pygithub" : ("github" ,),
162
173
"pygobject" : ("gi" ,),
174
+ "pyhamcrest" : ("hamcrest" ,),
163
175
"pyjwt" : ("jwt" ,),
176
+ "pykube-ng" : ("pykube" ,),
177
+ "pymongo" : ("bson" , "gridfs" , "pymongo" ),
178
+ "pymupdf" : ("fitz" ,),
164
179
"pyopenssl" : ("OpenSSL" ,),
165
180
"pypdf2" : ("PyPDF2" ,),
166
181
"pypi-kenlm" : ("kenlm" ,),
167
182
"pysocks" : ("socks" ,),
168
183
"pytest" : ("pytest" , "_pytest" ),
169
- "pyyaml" : ("yaml" ,),
170
- "pymongo" : ("bson" , "gridfs" , "pymongo" ),
171
- "pymupdf" : ("fitz" ,),
172
184
"pytest-runner" : ("ptr" ,),
173
185
"python-json-logger" : ("pythonjsonlogger" ,),
174
186
"python-levenshtein" : ("Levenshtein" ,),
175
187
"python-lsp-jsonrpc" : ("pylsp_jsonrpc" ,),
176
188
"pywinrm" : ("winrm" ,),
189
+ "pyyaml" : ("yaml" ,),
177
190
"randomwords" : ("random_words" ,),
178
191
"scikit-image" : ("skimage" ,),
179
192
"scikit-learn" : ("sklearn" ,),
180
193
"scikit-video" : ("skvideo" ,),
181
- "sseclient-py" : ("sseclient" ,),
182
194
"setuptools" : ("easy_install" , "pkg_resources" , "setuptools" ),
183
195
"snowflake-connector-python" : ("snowflake.connector" ,),
184
196
"snowflake-snowpark-python" : ("snowflake.snowpark" ,),
185
197
"snowflake-sqlalchemy" : ("snowflake.sqlalchemy" ,),
198
+ "sseclient-py" : ("sseclient" ,),
186
199
"strawberry-graphql" : ("strawberry" ,),
187
200
"streamlit-aggrid" : ("st_aggrid" ,),
188
201
"unleashclient" : ("UnleashClient" ,),
189
202
"websocket-client" : ("websocket" ,),
190
203
}
191
204
192
- DEFAULT_TYPE_STUB_MODULE_PATTERN_MAPPING : Dict [re .Pattern , Iterable ] = {}
205
+ DEFAULT_TYPE_STUB_MODULE_PATTERN_MAPPING : Dict [re .Pattern , Iterable ] = {
206
+ re .compile (r"""^mypy-boto3-.+""" ): [all_hyphen_to_underscore ],
207
+ }
193
208
194
209
DEFAULT_TYPE_STUB_MODULE_MAPPING = {
210
+ "boto3-stubs-lite" : ("boto3" ,),
195
211
"djangorestframework-types" : ("rest_framework" ,),
212
+ "google-api-python-client-stubs" : ("googleapiclient" ,),
196
213
"lark-stubs" : ("lark" ,),
197
214
"types-beautifulsoup4" : ("bs4" ,),
198
215
"types-enum34" : ("enum34" ,),
199
216
"types-pillow" : ("PIL" ,),
200
217
"types-protobuf" : ("google.protobuf" ,),
201
218
"types-pycrypto" : ("Crypto" ,),
202
219
"types-pyopenssl" : ("OpenSSL" ,),
203
- "types-pyyaml" : ("yaml" ,),
204
220
"types-python-dateutil" : ("dateutil" ,),
221
+ "types-pyyaml" : ("yaml" ,),
205
222
"types-setuptools" : ("easy_install" , "pkg_resources" , "setuptools" ),
206
223
}
207
224
0 commit comments