dbbs-lab / bsb-core

The Brain Scaffold Builder
https://bsb.readthedocs.io
GNU General Public License v3.0
22 stars 16 forks source link

Compiling fails #754

Closed francesshei closed 1 year ago

francesshei commented 1 year ago

After placement, bsb compile fails during connectivity with the following traceback:

Traceback (most recent call last):
  File "/home/ubuntu/.pyenv/versions/bsb-env/bin/bsb", line 8, in <module>
    sys.exit(handle_cli())
  File "/home/ubuntu/bsb/bsb/cli/__init__.py", line 10, in handle_cli
    handle_command(sys.argv[1:], exit=True)
  File "/home/ubuntu/bsb/bsb/cli/__init__.py", line 30, in handle_command
    namespace.handler(namespace, dryrun=dryrun)
  File "/home/ubuntu/bsb/bsb/cli/commands/__init__.py", line 97, in execute_handler
    self.handler(context)
  File "/home/ubuntu/bsb/bsb/cli/commands/_commands.py", line 137, in handler
    network.compile(
  File "/home/ubuntu/bsb/bsb/profiling.py", line 157, in decorated
    return f(*args, **kwargs)
  File "/home/ubuntu/bsb/bsb/core.py", line 383, in compile
    self.run_connectivity(c_strats, pipelines=False)
  File "/home/ubuntu/bsb/bsb/profiling.py", line 157, in decorated
    return f(*args, **kwargs)
  File "/home/ubuntu/bsb/bsb/core.py", line 289, in run_connectivity
    pool.execute(loop)
  File "/home/ubuntu/bsb/bsb/services/pool.py", line 285, in execute
    job.execute(self.owner, job.f, job._args, job._kwargs)
  File "/home/ubuntu/bsb/bsb/services/pool.py", line 181, in execute
    return f(connectivity, *collections, **kwargs)
  File "/home/ubuntu/bsb/bsb/profiling.py", line 157, in decorated
    return f(*args, **kwargs)
  File "/home/ubuntu/bsb/bsb/profiling.py", line 157, in decorated
    return f(*args, **kwargs)
  File "/home/ubuntu/bsb/bsb/profiling.py", line 157, in decorated
    return f(*args, **kwargs)
  File "/home/ubuntu/thalamic-scaffold/thalamic-scaffold/connectome/tc_rt.py", line 70, in connect
    for pre_ct, pre_ps in pre.placement.items():
AttributeError: 'list' object has no attribute 'items'
Helveg commented 1 year ago

Breaking change in latest main: Hemitype.placement is a list instead of a dict now. I'm in the process of adding a BREAKING_CHANGES.md document that will start listing those 👍

Change for pre_ct, pre_ps in pre.placement.items(): to for pre_ps in pre.placement:, access the CT with pre_ps.cell_type.