UrMinion is a Python/Tkinter desktop app packed with small but handy utilities. From generating secret keys 🔑 to spotting duplicate files 🗂️ and hunting down overlong paths 📏 - it keeps your system neat and secure.
- Secret Key Generator: Generate secure random keys of customizable lengths and automatically copy them to the clipboard.
- Long Path Finder: Identify and list file paths that exceed 260 characters, which can be problematic for certain file systems.
- Duplicate Finder: Detect duplicate files within a selected directory.
- Python 3.11
- Tkinter: For the graphical user interface.
-
Clone the repository:
git clone https://github.com/draprar/tkinter-utility-tools.git cd tkinter-utility-tools -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
- Enter the desired number of characters for the secret key.
- Click on "Generate and Copy" to create a random key and copy it to your clipboard.
- Click "Open Directory" to select a folder.
- Click "Search for Long Paths" to list file paths that exceed 260 characters.
- Select any path from the list and click "Open Path" to open the folder in your file explorer.
- Open the duplicate finder tool and select the directory to search for duplicate files.
- Click "Start Search" to identify and list duplicate files.
This project is licensed under the MIT License.
- Developer: Walery (@draprar)
- ASCII Art: Custom-generated for this program.
As I encountered a lot of problems while trying to properly configure the workflow for Github Actions - I'm sharing the content of my CI/CD file for Tkinter :)
name: UrMinion
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y xvfb
python -m pip install --upgrade pip
python -m pip install pytest pytest-mock
- name: Run Xvfb
run: |
Xvfb :99 -screen 0 1024x768x16 & # Start Xvfb
sleep 5 # Set some time to start
export DISPLAY=:99 # Set DISPLAY variable
echo "Xvfb started on display $DISPLAY" # Logger
- name: Run tests with pytest
run: |
export DISPLAY=:99
python -m pytest tests/ --maxfail=1 # Set max fail to 1



