<p dir="ltr"></p>
<p dir="ltr">On Sep 25, 2016 12:48 AM, "Mads Kiilerich" <<a href="mailto:mads@kiilerich.com">mads@kiilerich.com</a>> wrote:<br>
><br>
> On 09/25/2016 12:17 AM, Mads Kiilerich wrote:<br>
>><br>
>> The error goes like:<br>
>><br>
>> E     File "/home/madski/kallithea-tg2/kallithea/tests/conftest.py", line 12, in <module><br>
>> E       from kallithea.model.user import UserModel<br>
>> E     File "/home/madski/kallithea-tg2/kallithea/model/__init__.py", line 48, in <module><br>
>> E       from kallithea.model import meta<br>
>> E     File "/home/madski/kallithea-tg2/kallithea/model/meta.py", line 21, in <module><br>
>> E       from kallithea.lib import caching_query<br>
>> E     File "/home/madski/kallithea-tg2/kallithea/lib/__init__.py", line 27, in <module><br>
>> E       from . import helpers<br>
>> E     File "/home/madski/kallithea-tg2/kallithea/lib/helpers.py", line 56, in <module><br>
>> E       from kallithea.lib.utils import repo_name_slug, get_custom_lexer<br>
>> E     File "/home/madski/kallithea-tg2/kallithea/lib/utils.py", line 50, in <module><br>
>> E       from kallithea.model import meta<br>
>><br>
>> So again, we have a recursive dependency. Random changes can influence whether that works or not.<br>
>><br>
>> Removing more imports from __init__ would be a good start ... though not necessarily sufficient to remove recursive imports.<br>
><br>
><br>
> We should clarify whether lib depends on model or the other way around.<br>
><br>
> I guess lib should be low level and all references to model should move out of lib.<br>
><br>
> Parts of kallithea/lib/utils.py should probably move to something like kallithea/model/utils.py .<br>
><br>
> kallithea/model/meta.py should perhaps move to lib ... unless all uses of it should move to the suggested new model utils.</p>
<p dir="ltr">I agree that we should make a decision here and act accordingly. And at the same time clean up all __init__.py files.</p>
<p dir="ltr">Your suggestions above sound reasonable to me. <br>
</p>