Skip to content

vihdutta/autosort

Repository files navigation

autosort

A lightweight file-copying interface.

GitHub license Code Climate technical debt GitHub release (latest by date including pre-releases) LGTM Grade

Preview

demo.gif

What is autosort?

Autosort is a lightweight file-copying interface. It allows you to copy several directories to another folder while also having the ability to create folders for each file type, create folders for each source directory, and more! One of its distinct features is making sure files are copied without overwriting each other by adding a (1), (2), (3), etc. If you want to have these features and more, download the single executable here: https://github.com/vihdutta/autosort/releases/latest

Features

Low resource usage

Autosort uses an average of 15mb of RAM on startup. Even after heavy load, autosort averages below 30mb of memory usage. Under heavy load, CPU usage is at an average of 10%.

Resource usage benchmarks as of v1.0
After startup.
While copying 2,000x, 64kb files.
After copying 2,000x, 64kb files 5x times (12,000 files total).
*Performance may be variable from system to system. This benchmark was tested on a computer with these relevant specifications: Intel i7-4770, 16gb DDR3 RAM (1600mhz), Samsung SSD 860 EVO 1TB.

Versatility

Autosort has all dependencies bundled up into a single executable. This allows autosort to be a "plug-in-and-play" program and be used from even a flash drive.

Realtime Progress Display

Autosort is configured with a terminal-like progress displayer eliminating the usage of inaccurate progress bars. The progress displayer presents exactly what operation the program is processing with almost no cost in performance.

Usage

Select the source directory (files you want to copy) and the destination directory (where you want to copy to) which appears on a button press. Note: the source directory selects all files inside that directory. Click the run button to start the copying process.

Installation

Download the latest version of autosort from https://github.com/vihdutta/autosort/releases/latest. Since autosort is an executable file (.exe), your anti-virus may prevent you from running autosort. You may have to exclude autosort from your anti-virus software prior to usage.

Some Future Considerations

These all may or may not be implemented. Each box below may recieve a checkmark when they are being worked on, or have been acknowledged.

  • Beautify README.md
  • Organize repository files
  • Add meaningful comments
  • Decrease startup time
  • Reduce CPU usage while "Enumerating..."
  • Reduce time usage while "Enumerating..."
  • Create a higher resolution demo gif
  • Reduce CPU usage while moving GUI
  • Stop the user from pressing the run button while a process is already running
  • Research Pathlib
  • Use underscores with variable names.
  • Use tests.
  • Split copyfromdirs()
  • Make fcmethods more explicit.