Compare the files between two project folders.
Project description
📁 dircomply - Folder Comparison Tool
dircomply is a lightweight tool to compare files between two directories.It highlights files that differ and those that are unique to each folder.Supports both CLI mode and GUI mode for ease of use.
✅ Features
- Compare files between two folders
- Detect differences in file contents
- List unique files in each folder
- Supported filetypes are listed later
- Override or append compare extensions and skipped directories from CLI
- Configure GUI font size/zoom for high-DPI monitors
- GUI mode for interactive comparison
- CLI mode for quick terminal use
💾 Installation
Install dircomply using pip:
pip install dircomply
🧪 Example Usage
Compare two folders via CLI:
dircomply /path/to/folder1 /path/to/folder2
Append one skipped directory and one content extension to the JSON defaults:
dircomply /path/to/folder1 /path/to/folder2 --append_skip_dir dist --append_content_ext .toml
Overwrite skipped directories and content extensions from the JSON defaults:
dircomply /path/to/folder1 /path/to/folder2 --skip_dir .git,build --content_ext .py --content_ext .json
Launch GUI mode:
dircomply
Launch GUI mode with temporary larger text/zoom:
dircomply --font_size 16 --result_font_size 16 --zoom 1.5
Launch GUI mode with light theme for one run:
dircomply --theme light
Show version info:
dircomply --version
Display author details:
dircomply --author
📌 Supported CLI Options
Option Description --help, -h Show help message and exit --version, -v Show version number and exit --author, -a Show author name and exit --email, -e Show author email and exit --content_ext VALUE Overwrite JSON content_extensions --append_content_ext VALUE Append to JSON content_extensions --existence_ext VALUE Overwrite JSON existence_extensions --append_existence_ext VALUE Append to JSON existence_extensions --skip_dir VALUE Overwrite JSON skip_dirs --append_skip_dir VALUE Append to JSON skip_dirs --font_size VALUE Override GUI label/input/button font size --result_font_size VALUE Override result popup text size --zoom VALUE Override Tk scaling for high-DPI monitors --theme {dark,light} Override GUI theme for this run
VALUE can be comma-separated or the flag can be repeated.
--existance_ext and --append_existance_ext are also accepted as aliases.
If no arguments are passed, GUI mode will be launched.
🔍 GUI Text Size / Zoom
The GUI reads user settings from:
~/.config/dircomply/settings.json
Example for a 2K/high-DPI monitor:
{
"ui": {
"font_family": "Arial",
"font_size": 16,
"result_font_size": 16,
"tk_scaling": 1.5,
"window_width": 750,
"window_height": 430,
"popup_width": 950,
"popup_height": 700,
"theme": "dark"
}
}
tk_scaling zooms the whole Tkinter UI. font_size and result_font_size control the text size. theme supports dark and light; dark is the default.
🔎 What Gets Compared?
dircomply compares only files with the following extensions:
".txt", ".py", ".bat", ".html", ".ts",".json",".scss",".tcl",".md",
".yaml",".yml",".ini",".in",".sh",".gitignore"
Also check below files on existence check rather than the content difference check.
".xlsx", ".csv", ".docx",
".png",".jpeg",".jpg",".ods",
".pdf", ".ico"
The default skipped directories are:
".git", ".venv", "nodemodules", ".vscode", "__pycache__", "build"
All other file types are ignored during the comparison.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dircomply-1.2.2.tar.gz.
File metadata
- Download URL: dircomply-1.2.2.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dd2bcf231dea5a51cd87d9acaa9142faf33b8ebb1ddd62b169cd131f3e63692
|
|
| MD5 |
ae81b01a0080285be69b871f19196d17
|
|
| BLAKE2b-256 |
e059c96a37b0b6548ff77524da624a07438014d918eb275b39e53d66e164c901
|
File details
Details for the file dircomply-1.2.2-py3-none-any.whl.
File metadata
- Download URL: dircomply-1.2.2-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c24d3b61b76e67a30c2eda0e7046b7587ac6c8a02a27e3a893dd09b5c253a71d
|
|
| MD5 |
87f1e3c53ff2c31d5d5069c42e163bcb
|
|
| BLAKE2b-256 |
82dc4d12790a9d8030c6d49151113225d333010761b63af5f4f1bc65bfbfb7eb
|