Skip to content
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

Add some minor attributes and classes into stubs #213

Open
wants to merge 40 commits into
base: master
Choose a base branch
from

Conversation

vharitonsky
Copy link

No description provided.

AlexRiina and others added 29 commits March 6, 2020 21:19
add parents property to mutablebase
See: https://docs.sqlalchemy.org/en/13/orm/session_api.html#sqlalchemy.orm.session.Session.merge

Quote:

... The state of each attribute on the source instance is then copied to the target instance. The 
resulting target instance is then returned by the method ...
Currently, the plugin types relationships with uselist as Iterable[X], but these relationships actually expose a list with list semantics, including .append(), assignments, etc.

This PR updates the plugin to type those relationships with List[X] instead of Iterable[X].

Ref: https://docs.sqlalchemy.org/en/13/orm/relationship_api.html#sqlalchemy.orm.relationship.params.uselist

Ref of usage with assignment: https://docs.sqlalchemy.org/en/13/orm/tutorial.html#working-with-related-objects
Ref of usage with append: https://docs.sqlalchemy.org/en/13/orm/tutorial.html#building-a-many-to-many-relationship

Note: I'm by no means expert in mypy internals and its plugins, I'm not 100% sure the usage of ctx.api.named_generic_type('builtins.list', [new_arg]) is correct here, but I see that seems to be how it's used by mypy: https://github.com/python/mypy/blob/master/mypy/plugins/ctypes.py#L158
sqlalchemy/sqlalchemy#5043 added support for CTE prefix clauses in PostgreSQL 12. This PR fixes the dreadful `"CTE" has no attribute "prefix_with"` error for me.
This makes the stubs with mypy version 0.800 (to be released soon).

Co-authored-by: Ivan Levkivskyi <[email protected]>
Co-authored-by: Ivan Levkivskyi <[email protected]>
@CLAassistant
Copy link

CLAassistant commented Apr 16, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 14 committers have signed the CLA.

✅ KKawamura1
❌ brabadu
❌ AlexRiina
❌ vharitonsky
❌ Boryslav Larin
❌ tvuotila
❌ DeanWay
❌ item4
❌ wbolster
❌ jdkandersson
❌ tuffnatty
❌ tiangolo
❌ tdamsma
❌ ilevkivskyi


Boryslav Larin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.