Description
Bug report
- I confirm this is a bug with Supabase, not with my own application.
- I confirm I have searched the Docs, GitHub Discussions, and Discord.
Describe the bug
Note
This report was created having in consideration the instruction made by @silentworks in the thread https://discord.com/channels/839993398554656828/1323676367765897297.
When using the async client and calling the execute
method after an eq
filter, PyCharm generate an Unresolved attribute reference 'execute' for class 'BaseFilterRequestBuilder'
warning.
Exploring the source of the eq
method I figured out the class BaseFilterRequestBuilder
doesn't have a definition for the execute
method and doesn't extend any class which define it. In fact, there is no definition in the whole "base_request_builder.py" file (PyCharm word search).
On the other hand, the select
method is currently defined in AsyncRequestBuilder
and returns an instance of AsyncSelectRequestBuilder
(which extends AsyncQueryRequestBuilder
). This dependency chain correctly provide the execute
method definition.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
- Create and async client
from supabase import create_async_client
from app.env import env_vars
supabase = await create_async_client(
supabase_url=env_vars['SUPABASE_URL'],
supabase_key=env_vars['SUPABASE_KEY'],
)
- Create a select query to any table and schema:
result = await supabase.schema('stuff').table('regs').select().eq('key', key).execute()
- PyCharm generate a warning when calling the
execute()
method
Expected behavior
Call the execute
method after eq
without a warning.
Screenshots
System information
- OS: GNU/Linux Fedora 41 KDE Workstation
- Version of supabase: 2.11.0
- Version of Python: 3.13.0
- Version of Miniconda: 24.7.1
- Version of Poetry: 1.8.4 (installed with pipx)
Additional context
Using PyCharm Community 2024.3.1.1 (243.22562.220)