edgedb / edgedb-python

The official Python client library for EdgeDB
https://edgedb.com
Apache License 2.0
366 stars 43 forks source link

protocol _parse broken #506

Open AdrienPensart opened 1 week ago

AdrienPensart commented 1 week ago

Hello,

it seems that edgedb-python is broken is broken due to arguments changed in last version :

[crunch@wardesk musicbot (master)]$ poetry run edgedb-py -I musicbot-prod --dir musicbot/queries
Found EdgeDB project: /home/crunch/projects/musicbot
Processing /home/crunch/projects/musicbot/musicbot/queries/select_folder.edgeql
Traceback (most recent call last):
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/bin/edgedb-py", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/codegen/cli.py", line 99, in main
    generator.Generator(args).run()
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/codegen/generator.py", line 212, in run
    self._process_dir(search_dir)
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/codegen/generator.py", line 235, in _process_dir
    self._process_file(file_or_dir)
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/codegen/generator.py", line 247, in _process_file
    dr = self._client._describe_query(query, inject_type_names=True)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/blocking_client.py", line 441, in _describe_query
    return self._iter_coroutine(self._describe(abstract.DescribeContext(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/blocking_client.py", line 394, in _iter_coroutine
    coro.send(None)
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/base_client.py", line 726, in _describe
    return await con.describe(describe_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/crunch/.cache/pypoetry/virtualenvs/musicbot-Fs1OZ5tc-py3.11/lib/python3.11/site-packages/edgedb/base_client.py", line 258, in describe
    cardinality, in_dc, out_dc, capabilities = await self._protocol._parse(
                                                     ^^^^^^^^^^^^^^^^^^^^^^
TypeError: SansIOProtocol._parse() takes no keyword arguments
ch-ahindura commented 1 week ago

I experience this too in version 2.0.0.

Found EdgeDB project: /Users/default/work/code/learn/edgedb/quickstart
Processing /Users/default/work/code/learn/edgedb/quickstart/apps/python_client/queries/get_user_by_name.edgeql
Traceback (most recent call last):
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/bin/edgedb-py", line 8, in <module>
    sys.exit(main())
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/cli.py", line 99, in main
    generator.Generator(args).run()
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 214, in run
    self._process_dir(self._project_dir)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 233, in _process_dir
    self._process_dir(file_or_dir)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 233, in _process_dir
    self._process_dir(file_or_dir)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 233, in _process_dir
    self._process_dir(file_or_dir)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 235, in _process_dir
    self._process_file(file_or_dir)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/codegen/generator.py", line 247, in _process_file
    dr = self._client._describe_query(query, inject_type_names=True)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/blocking_client.py", line 441, in _describe_query
    return self._iter_coroutine(self._describe(abstract.DescribeContext(
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/blocking_client.py", line 394, in _iter_coroutine
    coro.send(None)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/base_client.py", line 726, in _describe
    return await con.describe(describe_context)
  File "/Users/default/work/code/learn/edgedb/quickstart/apps/python_client/env/lib/python3.10/site-packages/edgedb/base_client.py", line 258, in describe
    cardinality, in_dc, out_dc, capabilities = await self._protocol._parse(
TypeError: BlockingIOProtocol._parse() takes no keyword arguments

Downgrading to 1.9.0 fixes it.