-
Notifications
You must be signed in to change notification settings - Fork 167
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
Library public api isolation and import decoupling #499
Comments
@ndrluis Thanks for reporting this! I think we should fix these to import from the right module. Do you want to work on this? |
@HonahX Yes! |
The #505 decouple imports from
|
Thanks for the PR! Do you know if there are ways to do this systemically, with linters / rules? I foresee this to be an issue again as we continue to do more development. |
@kevinjqliu Agreed, I haven't found anything that addresses this issue or provides a warning when it occurs. It seems like something the community has accepted, but I believe it's a problem. I will open an issue on Ruff to ask about this and understand how we can write a rule. |
Issue to follow up astral-sh/ruff#10300 |
We have some news about the issue: mypy has implemented a rule that could protect us. You can find more details here: https://mypy.readthedocs.io/en/stable/config_file.html#confval-implicit_reexport. Furthermore, there is an ongoing discussion about implementing this rule in ruff. |
This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible. |
I'll close this issue because we added the mypy linter, which solves our problem with coupling, and we have #1099 to solve the public API definition. |
Feature Request / Improvement
Hello, when I was trying to solve the #497 issue, I noticed that we are exposing the private API and we have some imports through modules.
For example, in glue.py, we import
Identifier
andProperties
fromcatalog
instead of importing fromtypedef
. Another case is in test_writes.py, where we importTable
fromcatalog
instead of fromtable
.The text was updated successfully, but these errors were encountered: