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

Split context vars to avoid circular dependency issue #132

Closed
Zapix opened this issue Aug 1, 2021 · 0 comments · Fixed by #133
Closed

Split context vars to avoid circular dependency issue #132

Zapix opened this issue Aug 1, 2021 · 0 comments · Fixed by #133
Assignees
Labels
bug Something isn't working

Comments

@Zapix
Copy link
Owner

Zapix commented Aug 1, 2021

There is circular dependency issue coz mtpylon stores on contextvars in same module:

tests/schema/functions/test_login.py:None (tests/schema/functions/test_login.py)
ImportError while importing test module '/Users/aleksandraibulatov/projects/mtpylon-samples/todo-list/backend/tests/schema/functions/test_login.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../venv/lib/python3.9/site-packages/_pytest/python.py:578: in _importtestmodule
    mod = import_path(self.fspath, mode=importmode)
../venv/lib/python3.9/site-packages/_pytest/pathlib.py:524: in import_path
    importlib.import_module(module_name)
../../../../../.pyenv/versions/3.9.0/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
    ???
<frozen importlib._bootstrap>:1007: in _find_and_load
    ???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:680: in _load_unlocked
    ???
../venv/lib/python3.9/site-packages/_pytest/assertion/rewrite.py:170: in exec_module
    exec(co, module.__dict__)
schema/functions/test_login.py:8: in <module>
    from schema.functions.login_func import login
../schema/__init__.py:6: in <module>
    from .functions import register, login
../schema/functions/__init__.py:3: in <module>
    from .login_func import login
../schema/functions/login_func.py:4: in <module>
    from mtpylon.contextvars import auth_key_var
../venv/lib/python3.9/site-packages/mtpylon/contextvars.py:9: in <module>
    from .income_message import IncomeMessage
../venv/lib/python3.9/site-packages/mtpylon/income_message.py:4: in <module>
    from .messages.types import MtprotoMessage
../venv/lib/python3.9/site-packages/mtpylon/messages/__init__.py:7: in <module>
    from .mtproto_message import (
../venv/lib/python3.9/site-packages/mtpylon/messages/mtproto_message.py:9: in <module>
    from .unencrypted_message import (
../venv/lib/python3.9/site-packages/mtpylon/messages/unencrypted_message.py:5: in <module>
    from mtpylon.service_schema import load as load_schema, dump as dump_schema
../venv/lib/python3.9/site-packages/mtpylon/service_schema/__init__.py:2: in <module>
    from .service_schema import service_schema
../venv/lib/python3.9/site-packages/mtpylon/service_schema/service_schema.py:31: in <module>
    from .functions import (
../venv/lib/python3.9/site-packages/mtpylon/service_schema/functions/__init__.py:2: in <module>
    from .req_pq_func import req_pq
../venv/lib/python3.9/site-packages/mtpylon/service_schema/functions/req_pq_func.py:9: in <module>
    from mtpylon.contextvars import server_nonce_var
E   ImportError: cannot import name 'server_nonce_var' from partially initialized module 'mtpylon.contextvars' (most likely due to a circular import) (/Users/aleksandraibulatov/projects/mtpylon-samples/todo-list/backend/venv/lib/python3.9/site-packages/mtpylon/contextvars.py)
@Zapix Zapix added the bug Something isn't working label Aug 1, 2021
@Zapix Zapix self-assigned this Aug 1, 2021
@Zapix Zapix closed this as completed in #133 Aug 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant