Methods and attributes for communicating with Beagle can be moved out of the main beaglecli file into a separate client module, so that they could be imported from other Python programs and services in order to communicate with Beagle. This would be really useful for things like the Config for handling the auth tokens, the API endpoint addresses, and the functions that run the basic Get, Create, Update, Delete methods for different endpoints. Also consider some Django-inspired wrappers such as get_or_create and update_or_create to make it easier to use, along with things like validation of the existence of Files, etc., in Beagle before trying to run operations on them.
Methods and attributes for communicating with Beagle can be moved out of the main
beagleclifile into a separate client module, so that they could be imported from other Python programs and services in order to communicate with Beagle. This would be really useful for things like theConfigfor handling the auth tokens, the API endpoint addresses, and the functions that run the basic Get, Create, Update, Delete methods for different endpoints. Also consider some Django-inspired wrappers such asget_or_createandupdate_or_createto make it easier to use, along with things like validation of the existence of Files, etc., in Beagle before trying to run operations on them.