Skip to content

A simple and sweet folder uploader for S3-compliant object storage made in python.

License

Notifications You must be signed in to change notification settings

aashishvasu/S3-folder-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

S3-folder-uploader (S3FU)

A simple and sweet folder uploader for S3-compliant object storage made in python. Has multithreaded uploading. Made using PySimpleGUI.

Getting Started

S3FU is built using python and a few libraries to be a multithreaded option to upload entire folders to S3-compliant storage.

Usage

  • Get the latest release or clone the repo
  • Install the prerequisites (see below)
  • Fill out the settings.ini file based on your S3 settings
  • Change maximum number of threads for uploading based on your cpu (MAXTHREADS in uploader.py) - Optional
  • Run using
     py main.py

and you're good to go!

Prerequisites

Installing

Install the prerequisites manually, or using the included requirements.txt.

NOTE: I would recommend using a virtual environment, but that's obviously optional.

Virtual Environment (optional)

# Create virtual environment
py -m venv venv 

Using requirements.txt

pip install -r requirements.txt

Manually

# boto
pip install boto3

# PySimpleGui
pip install pysimplegui

Development

  • All of the UI code except the error window is in main.py
  • uploader.py handles uploading the files in separate threads (the multithreading logic is very sus, sorry)
  • settings.py handles saving and loading the settings.ini file
  • errorWindow.py handles creating an external error window.
  • file_progress.py reports the progress of the currently uploading file to the ui via callback

Built With

  • Python
  • PySimpleGUI
  • boto3
  • Love

Versioning

This tool uses Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Contributors

License

This project is licensed under the LGPL-2.1 license - see the LICENSE.md file for details.

About

A simple and sweet folder uploader for S3-compliant object storage made in python.

Topics

Resources

License

Stars

Watchers

Forks

Languages