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

Authclient #8

Closed ceesem closed 3 years ago

ceesem commented 4 years ago

Significant PR adding a few features. 1) Framework client that wraps sub clients. Not required, but useful to avoid redundancy and integrate authentication tokens into the various individual services. 2) LookupClient. This replaces the more unwieldy ersatz-materialization branch, and simplifies basic supervoxel and root id lookup of spatial points. 3) Documentation. All classes and functions have been given reasonable docstrings and a basic introductory documentation with various small examples has been added and is ready for ReadTheDocs. An example notebook has also been included as well.

ceesem commented 4 years ago

Note that this PR plus a version update will be needed for the statebuilder to work.

fcollman commented 4 years ago

I think the only major issue to address here is how to handle configuration, given that with flywire and moving to global + minniev1 it seems clear we are going to have multiple different servers and different users are going to want to configure their clients differently, and we should make that easy for them.

ceesem commented 4 years ago

I started the process of refactoring for API versions and to start knowing the difference between services with global servers and ones without, but I think it's not quite possible to finish the task until we have a real deployment like that.

Ideally, global dns (which we can make default) and a dataset name should be able to get you the project-level dns. The framework client will know which things to send where, which is another reason it'll be good to have a master client (in addition to auth).