Skip to content

codingismynewgaming/folder-zip-versioning

Repository files navigation

FolderZipperVersioning

A Python Tkinter GUI application that zips folders with automatic version numbering.

Version Python License Platform

Features

  • πŸ“ Easy Folder Selection via GUI
  • πŸ”’ Auto Version Numbering (001, 002, 003...)
  • ✏️ Custom Version Input
  • πŸ• Timestamp in filenames
  • πŸŒ™ Dark Mode Support (Windows)
  • πŸ“‚ Directory Navigation
  • 🐧 Linux Package Support (deb, pkg.tar.zst, rpm)

Screenshots

App Icon

Installation

Windows

Download Executable:

# Download FolderZipperVersioning.exe from builds/ folder
# Double-click to run

Or run from source:

pip install -r requirements.txt
python app-files/zipper.py

Linux

Ubuntu/Debian:

sudo apt install ./builds/folder-zipper-versioning_1.2_all.deb
folder-zipper-versioning

Arch Linux:

sudo pacman -U builds/folder-zipper-versioning-1.2-1-any.pkg.tar.zst
folder-zipper-versioning

Fedora/RHEL:

sudo dnf install builds/folder-zipper-versioning-1.2-1.noarch.rpm
folder-zipper-versioning

Or run from source:

sudo apt install python3-tk  # Debian/Ubuntu
python3 app-files/zipper.py

πŸ“– See docs/INSTALL.md for detailed installation instructions.

Usage

  1. Launch the application
  2. Navigate to the folder you want to zip
  3. (Optional) Enter a custom version number
  4. Click "Zip Selected Folder"
  5. The zip file is created in the parent directory with format:
    • Auto-version: foldername_001_2026-03-20_16-30.zip
    • Custom version: 1.2-foldername_2026-03-20_16-30.zip

πŸ“– See docs/USAGE.md for detailed usage guide.

Building

Windows

python build.py
# Output: builds/FolderZipperVersioning.exe

Linux

Build executable:

python3 build.py --executable
# Output: builds/FolderZipperVersioning

Build all packages:

python3 build.py --all
# Output: builds/*.deb, builds/*.pkg.tar.zst, builds/*.rpm

Build specific package:

python3 build.py --deb    # Debian package
python3 build.py --arch   # Arch package
python3 build.py --rpm    # RPM package

Project Structure

zip-folder-automation/
β”œβ”€β”€ app-files/
β”‚   β”œβ”€β”€ zipper.py          # Main application
β”‚   β”œβ”€β”€ test_zipper.py     # Unit tests
β”‚   └── icon.png           # Application icon
β”œβ”€β”€ builds/
β”‚   β”œβ”€β”€ FolderZipperVersioning.exe  # Windows executable
β”‚   β”œβ”€β”€ FolderZipperVersioning      # Linux executable
β”‚   β”œβ”€β”€ *.deb                       # Debian package
β”‚   β”œβ”€β”€ *.pkg.tar.zst               # Arch package
β”‚   └── *.rpm                       # RPM package
β”œβ”€β”€ debian/                 # Debian packaging files
β”œβ”€β”€ arch-linux/             # Arch packaging files
β”œβ”€β”€ rpm/                    # RPM packaging files
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ INSTALL.md          # Installation guide
β”‚   β”œβ”€β”€ USAGE.md            # Usage guide
β”‚   β”œβ”€β”€ FEATURES.md         # Feature documentation
β”‚   └── CHANGELOG.md        # Version history
β”œβ”€β”€ internals/              # Secrets and sensitive files (not in git)
β”œβ”€β”€ build.py                # Build script
β”œβ”€β”€ requirements.txt        # Python dependencies
└── README.md               # This file

License

MIT License - see LICENSE file for details.

Contributing

See CONTRIBUTING.md for contribution guidelines.

Support

About

πŸ“¦ Versioned folder ZIP archiver

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages