Skip to main content

A Windows desktop application for transferring project files to OneDrive while automatically excluding bloated build artifacts.

Project description

OneDrive Smart Transfer

A simple Windows app to copy your coding projects to OneDrive without backing up all the heavy build files. It automatically skips folders like node_modules, venv, and build so your OneDrive doesn't fill up instantly.

App Demo

Why this exists

When you sync programming projects to OneDrive, it usually tries to upload thousands of tiny files from dependency folders. This takes forever and wastes space. This app detects what kind of project you're dropping in and automatically filters out the junk before transferring.

Everything runs completely offline on your machine. No data is sent anywhere.

Features

  • Drag and Drop: Move files and folders directly from Windows File Explorer into the application.
  • Smart Tech Stack Detection: Automatically identifies the type of project (Node.js, Python, Java, Rust, Flutter, Go, C#, C++, Ruby, PHP, etc.) based on standard marker files like package.json or Cargo.toml.
  • Auto-Exclusion: Automatically skips over 100 common build artifacts including node_modules, venv, __pycache__, build, target, and .gradle.
  • Fully Configurable: Easily add, remove, or toggle exclusion patterns through a simple interface.
  • Copy or Move: Choose whether to keep the original files where they are or move them to the destination.
  • Background Transfer Queue: Run multiple transfers simultaneously. The queue provides individual progress bars, transfer speeds, and estimated completion times.
  • Native Error Handling: When a file fails to transfer, you'll get standard Windows-style prompts to Retry, Skip, or Skip All.
  • System Theme Support: The interface automatically matches your Windows light or dark mode setting, or you can change it manually.
  • Privacy First: Operates 100% offline. It does not read your file contents, access your registry, or send any telemetry.
  • Persistent Settings: Your preferences and exclusion rules are saved and will still be there the next time you open the app.

Setup and Usage

Step 1: Download and Run Grab the latest OneDriveSmartTransfer-Windows.zip from the Releases page, extract the folder to a location of your choice, and double-click OneDriveSmartTransfer.exe. Because this is a portable application, there is no installation wizard.

Step 2: First-Time Configuration (Portable Mode) When you launch the app for the very first time, it will prompt you to choose a folder to save your configuration file. We recommend selecting a folder inside your OneDrive so that your settings automatically sync across all your computers.

How it works behind the scenes: Because this app is fully portable and respects your privacy (no Registry entries or hidden AppData files), it will generate a tiny text file named ost_config_path.txt right next to the .exe file. This file acts as a simple pointer so the application remembers where you decided to save your settings on this specific computer. If you ever want to reset the application, simply delete this text file!

Configuration File Setup Location OneDrive Location Detection or Updation

Step 3: Main Window Preview Drag and drop your project folder directly into the main window. The application will instantly scan the folder to detect what programming language it uses (like Node.js or Python).

Main Window Placeholder

Step 4: Choose a Destination Select a destination folder inside your local OneDrive directory. This is where your cleaned-up project will be copied or moved to.

Step 5: Review and Transfer Before doing anything, the application will show you a preview tree of exactly which files it plans to transfer and which heavy build folders (like node_modules or venv) it plans to skip. Once you're satisfied, click start to begin the background transfer process!

Settings General Window Settings Exclusions Window Transfer Completed

Supported Projects

The app automatically recognizes and filters out build files for:

  • Node.js / JavaScript (node_modules, .next, etc)
  • Python (venv, __pycache__, dist, etc)
  • Java (target, build, etc)
  • C# / .NET (bin, obj, etc)
  • C / C++ (build, Debug, etc)
  • Rust (target)
  • Go (vendor)
  • And many others (PHP, Ruby, Flutter, Android, iOS, Unity).

Note: Version control folders like .git are kept by default since you usually want those backed up.

Building from source

If you want to run the code yourself instead of using the pre-built executable:

  1. Clone the repository
  2. Set up a virtual environment: python -m venv venv
  3. Activate it: venv\Scripts\activate
  4. Install requirements: pip install -r requirements.txt
  5. Run it: python onedrivesmarttransfer/app.py

To build the executable yourself, just run python build_exe.py after installing the requirements.

Project Structure

If you're interested in how the application is built, here is a quick overview of the main files and what they do:

  • build_exe.py: A helper script that uses PyInstaller to bundle the application into a standalone executable.
  • config/default_exclusions.json: A list of the default, built-in rules for what files to skip for each language.
  • onedrivesmarttransfer/app.py: The main entry point of the application. It handles the initial launch and the first-run configuration wizard.
  • onedrivesmarttransfer/ui/: Contains all the graphical interface components.
    • main_window.py: The primary window where you drag and drop files.
    • drop_zone.py: Handles the drag-and-drop mechanics and visual feedback.
    • file_explorer.py: A widget that displays the preview tree of files to be transferred.
    • settings_dialog.py: The window where you manage your exclusion rules.
    • theme_manager.py: Controls switching between light and dark modes.
    • transfer_queue.py: The interface that displays active and queued transfers.
    • transfer_summary.py: Displays a pop-up summary after a transfer completes.
  • onedrivesmarttransfer/core/: Contains the underlying logic.
    • config_manager.py: Handles loading and saving your preferences and rules to disk.
    • exclusion_manager.py: Handles the rules for what gets skipped during a transfer.
    • onedrive_finder.py: Automatically detects where OneDrive is installed on your system.
    • stack_detector.py: Scans project folders to figure out what programming language they use.
    • transfer_engine.py: The engine that safely copies or moves files in the background and reports progress.
  • onedrivesmarttransfer/utils/: Contains small helper utilities.
    • resource_path.py: Helper utility that ensures file paths work properly whether running from source or from the compiled executable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onedrive_smart_transfer-1.0.3.tar.gz (36.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onedrive_smart_transfer-1.0.3-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file onedrive_smart_transfer-1.0.3.tar.gz.

File metadata

  • Download URL: onedrive_smart_transfer-1.0.3.tar.gz
  • Upload date:
  • Size: 36.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for onedrive_smart_transfer-1.0.3.tar.gz
Algorithm Hash digest
SHA256 ac789c1fe22883bff3166f79ed7a30cc31fb4fc2d7dffb89b785f449bbcfb964
MD5 6eb71bf46a4a5d856550cc578df35a35
BLAKE2b-256 f71a5d1e9ce7901bfd2a761d726c852756ebe0241757f7ef99cd9780c24176fa

See more details on using hashes here.

File details

Details for the file onedrive_smart_transfer-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for onedrive_smart_transfer-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 108ccc460ea44e7524cc9f6e06651c7df315e4f0ad0c8df0176def30bd8572a4
MD5 2507a22453ccf72a52d99722e1af6469
BLAKE2b-256 9d9c778adaafe6276534732996f2b0ea6c218cead1407bc9309877ae73a94665

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page