datajoint-python
datajoint-python copied to clipboard
interactive add-store
Feature Request
Problem
datajoint store syntax is fairly complicated, with various parameters that overlap/vary by type, etc. this usually means store setup involves manual editing of very picky json files, or cross referencing docs, for keys, etc.
it would be nice if, like database users, etc. datajoint provided a way to interactively configure remote stores with prompts
Requirements
function which is capable of providing dj.conn() like interactive prompting for required external store settings. e.g.:
>>> dj.config.add_store()
store name: cloud
store type? [blob, filepath]: 'blob'
store protocol? [filesystem, s3]: 's3'
s3 endpoint? [default: s3.amazonaws.com]: <enter>
s3 bucket name: muhdata
s3 key id: muhkee
s3 key: sekrit
created new store 'cloud'! # < could optionally confirm access somehow in the background
>>> dj.config.save_local()
Justification
much simpler ease of use for external stores; makes store configuration consistent with dj's 'interactivity friendly' design philosophy
@ixcat Nice suggestion. I could see how this could be easier for users to follow.