VirtualFlyBrain / VFB_connect

A library for querying VFB servers (neo4j, owlery, solr)
GNU General Public License v3.0
4 stars 1 forks source link

vfb.terms breaking changes in interface #169

Closed jefferis closed 3 months ago

jefferis commented 3 months ago

According to https://virtualflybrain.org/docs/tutorials/apis/vfbconnect_neuron_display/ this should work:

> neurons = vfb.terms('5th s-LN')
Notice: No exact match found, but potential matches starting with '5th s-LN': 
'5th s-LNv (FlyEM-HB:511051477)': 'VFB_jrchk8e0', 
'5th s-LNv': 'VFB_jrchk8e0'

But instead I see:

>>> from vfb_connect import vfb
>>> neurons = vfb.terms('5th s-LN')
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/jefferis/Library/r-miniconda-arm64/envs/r-reticulate/lib/python3.10/site-packages/vfb_connect/cross_server_tools.py", line 1045, in terms
    return VFBTerms(terms, verbose=verbose)
  File "/Users/jefferis/Library/r-miniconda-arm64/envs/r-reticulate/lib/python3.10/site-packages/vfb_connect/schema/vfb_term.py", line 2979, in __init__
    raise ValueError(f"Invalid input type for terms. Expected a list of VFBTerm, a list of str, or a DataFrame. Got {type(terms)} : {terms}")
ValueError: Invalid input type for terms. Expected a list of VFBTerm, a list of str, or a DataFrame. Got <class 'str'> : 5th s-LN
>>> neurons = vfb.terms(['5th s-LN'])
No direct match found for 5th s-LN
Notice: No exact match found, but potential matches starting with '5th s-LN': '5th s-LNv (FlyEM-HB:511051477)': 'VFB_jrchk8e0', '5th s-LNv': 'VFB_jrchk8e0'
Warning: called a non existant id:

So I think string input no longer works?

Furthermore if the query fails:

>>> neurons = vfb.terms(['5t sLNv'])
No direct match found for 5t sLNv
Error: Unrecognized value: 5t sLNv
Warning: called a non existant id: