CAVEconnectome / CAVEclient

This is the python client for accessing REST APIs within the Connectome Annotation Versioning Engine.
https://caveconnectome.github.io/CAVEclient/
MIT License
19 stars 12 forks source link

Multischema endpoint #158

Closed ceesem closed 3 months ago

ceesem commented 3 months ago

Adding the multischema download endpoints and using them in the tables/views interface. Wound up refactoring the materialization initialization to use multithreading for pinging the server for various information, but on the plus side the .tables and .views interfaces are populated at the same time with minor overhead cost. Also, added small tweaks that seem to improve tab-autocompletion for these services as well.

I think this is working, but there are some changes to client.materialize that could be significant if they don't work as expected, so a bit of caution is warranted.

fcollman commented 3 months ago

If some caution is needed perhaps it’s time we added some tests for this

ceesem commented 3 months ago

Agreed, will add tests before this gets merged. Although what I was concerned about should be caught by the materialization client tests, if I understand them correctly.

ceesem commented 3 months ago

Tests added for the table manager. Not perfect because they have to mock the metadata one gets from the server, but at least there's an example there to compare against.