Package: upldr
UPLDRupldr is a tool I created to quickly transfer larger files between boxes in my lab without using scp. It's not a groundbreaking tool by any means, and scp is definitely more secure. There's also a separate tool written in node that can be used with upldr (and upldr was written with in mind) that exposes an api and manages uploads and upload destinations on a remote server. I plan/ned on using this to manage media (photos, videos) quickly from my desktop to a storage server in my lab. If you want to use the api server and default java upload slave, you'll need to have nodejs and npm installed as well as java.Quick StartThe easiest way to get upldr is by runningpip install upldras long as your python path is in your path. Compatibility on windows hasn't been fully tested yet. If you find any issues please feel free to open issues on github. I am more than happy to look into them and try and fix them.Docsupldr is pretty simple and only really has 4 main functions:puts3apiremoteputPut is used to upload a file.$upldrput--help
usage:upldrput[-h][--remoteREMOTE][-cCATEGORY][-tTAG][--timeoutTIMEOUT][--resume][--debug]NAME

Handlesuploadstonon-cloudbasedremotes.

positionalarguments:NAMESourcefiletoupload

optionalarguments:-h,--helpshowthishelpmessageandexit--remoteREMOTENameofremotetouse-cCATEGORY,--categoryCATEGORYCategoryforupload.-tTAG,--tagTAGTagforupload.--timeoutTIMEOUTAmountoftimeinsecondstowaitbeforeconnectingtouploadslave.Oftenthereisadelay.--resumeResumeupload--debugDebugoutputThe put command takes a positional argument of the filename you'd like to upload. Without any arguments, upldr will attempt to upload your file to the default remote specified in ~/.config/upldr/config.json with the category and tag of default. The -t/--tag argument works the same way and can be used to for a different tag than default.Example with remotes (default remote):$upldrputfile.txtExample with remotes, category, and tag (default remote):$upldrputfile.txt-ctext_files-treadmesThis will upload file.txt to <data_dir>/text_files/readmes/file.txtExample with remotes (specified remote):$upldrputfile.txt--remoteremote2s3This subcommand requires boto3The S3 subcommand does the same thing as put, but uses s3 instead of an upldr remote. You should configure an aws account in the same way you would configure the awscli before using this command.$upldrs3--help
usage:upldrs3[-h][--debug][-bBUCKET]{put}...

Toolsformanagingupldrexternallibraries

optionalarguments:-h,--helpshowthishelpmessageandexit--debugPrintadditionaldebugginginformation.-bBUCKET,--bucketBUCKETWhichS3buckettouse.Thisisrequiredifyoudon'thaveadefaultbucketset.

subcommands:Toolsformanagingupldrexternallibraries{put}putUploadfiletoS3apiThe api subcommand handles running the apiserver to accept uploads and indexing. Currently indexing doesn't serve much purpose within upldr.$upldrapi--help
usage:upldrapi[-h][-d]{serve,index}...

Handlesapiservercommands.Thissubcommandrequiresupldr_apiserver

optionalarguments:-h,--helpshowthishelpmessageandexit-d,--debugPrintextendeddebugginginformation.

subcommands:Handlesapiservercommands.Thissubcommandrequiresupldr_apiserver{serve,index}serveServeAPIServerindexIndexdatadirectoryforapiserverremoteThe remote subcommand handles adding, removing, listing, and setting the default remote upload server.$upldrremote--help
usage:upldrremote[-h][--debug]{add,remove,set-default,list}...

Managesremoteapiserverconfigurations.

optionalarguments:-h,--helpshowthishelpmessageandexit--debugLocaluploaddestination

subcommands:Managesremoteapiserverconfigurations.{add,remove,set-default,list}addAddremotetoconfigremoveRemoveremotefromconfigset-defaultSetdefaultremotetouselistListremotesAdditional NotesAny released versions in the repository correspond to versions available on PyPi.