-
Notifications
You must be signed in to change notification settings - Fork 543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(gazelle): Include types/stubs packages #2425
base: main
Are you sure you want to change the base?
Conversation
Thank you @ewianda for the contribution. @dougthor42, would you have time to look at this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll probably be able to test this out sometime this week.
Until then, here are some review comments. Also, please add a flag to turn this on or off. It should be off by default for now, and then in a couple releases we can consider making it on by default.
gazelle/modules_mapping/testdata/django_types-0.15.0-py3-none-any.whl
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add documentation to gazelle/README.md
Running with the default include_stub_packages = False
didn't cause any problems with our large project running gazelle, so 👍 there.
Running with include_stub_packages = True
didn't add any *_types
or _stubs
deps to targets 👎.
Is there something else I need to do? We already have some type/stub packages as part of our requirements.in
(and thus requirements.txt
and gazelle_python.yaml
). For example, we have sqlmypy: sqlalchemy_stubs
and annotated_types: annotated_types
in gazelle_python.yaml
Test methodology
bazel run //:buildozer 'remove deps' '//src/pyle_xc/...:*'
bazel run //:gazelle src/pyle_xc
git diff
and see what has changed.
self.stderr = stderr | ||
self.output_file = output_file | ||
self.excluded_patterns = [re.compile(pattern) for pattern in excluded_patterns] | ||
self.include_stub_packages = include_stub_packages | ||
self.mapping = {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use a more descriptive variable name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just moved the variable from a class attribute to an instance attribute to address a bug caused by shared state across instances of the Generator class during test.
Thanks, @dougthor42, for testing. Did you fix 631ab19 Also, the logic is that |
692ff24
to
dfddffa
Compare
Ah, no I did not. I applied that change and ran diff --git a/gazelle_python.yaml b/gazelle_python.yaml
index 5752a8274a..66e8ab5c4f 100644
--- a/gazelle_python.yaml
+++ b/gazelle_python.yaml
@@ -395,6 +395,7 @@ manifest:
pymatching: PyMatching
pymodbus: pymodbus
pyparsing: pyparsing
+ pyqt5_stubs: pyqt5_stubs
pytest: pytest
pytest_asyncio: pytest_asyncio
pytest_benchmark: pytest_benchmark
@@ -484,9 +485,8 @@ manifest:
sphinxcontrib.svgbob: sphinxcontrib_svgbob
sqlalchemy: SQLAlchemy
sqlalchemy_bigquery: sqlalchemy_bigquery
- sqlmypy: sqlalchemy_stubs
+ sqlalchemy_stubs: sqlalchemy_stubs
sqlparse: sqlparse
- sqltyping: sqlalchemy_stubs
stack_data: stack_data
stim: stim
stimcirq: stimcirq So it's is correctly pulling in new stubs (like Luckily our code doesn't import diff --git a/src/labrad/servers/GUIs/ADR/BUILD.bazel b/src/labrad/servers/GUIs/ADR/BUILD.bazel
index 0667587998..b8e716cc30 100644
--- a/src/labrad/servers/GUIs/ADR/BUILD.bazel
+++ b/src/labrad/servers/GUIs/ADR/BUILD.bazel
@@ -11,5 +11,6 @@ py_library(
"//src/pyle/datavault:util",
"@pypi//duet",
"@pypi//pyqt5",
+ "@pypi//pyqt5_stubs",
],
)
diff --git a/src/pyle/cloud/bigquery/scripts/BUILD.bazel b/src/pyle/cloud/bigquery/scripts/BUILD.bazel
index 0d10c6b62d..f86c846852 100644
--- a/src/pyle/cloud/bigquery/scripts/BUILD.bazel
+++ b/src/pyle/cloud/bigquery/scripts/BUILD.bazel
@@ -86,6 +86,7 @@ pyle_py_binary(
"@pypi//google_cloud_bigquery",
"@pypi//pandas",
"@pypi//sqlalchemy",
+ "@pypi//sqlalchemy_stubs",
],
) So overall it looks like it's WAI 👍 🎉 🎊 |
dfddffa
to
556857a
Compare
These are stub files, I will be surprised if folks are importing this directly since they are meant for type-checking tools, how ever we can let |
556857a
to
c9f367e
Compare
This PR adds logic that checks if a package has a corresponding
types
orstubs
package and automatically adds that to the BUILD file. This is useful for typeckers e.g pyright , mypy