Skip to main content

Opinionated junk cleaner for dev machines (caches, build artifacts, editor backups).

Project description

Licence Gitea Release pre-commit

filedust

filedust is a small, fast, and safe command-line tool that scans your filesystem for obvious junk — things like Python pycache folders, build artifacts, editor backup files, and leftover temporary files — and cleans them up.

Think of it as “autoremove for files.”

Features

Cleans common junk

Deletes well-known clutter such as:

  • __pycache__/

  • .pytest_cache, .mypy_cache, .ruff_cache

  • build/, dist/

  • editor backups *~, *.swp, *.tmp, etc.

  • OS metadata like .DS_Store, Thumbs.db

Rich, colorful table output

It wasn't essential, but it's easy to read at a glance.

Single confirmation prompt

One interactive prompt at the end of the run (unless -y is used).

Reclaimed space summary

Shows how much disk space can be freed.

Safe by design

  • It ONLY runs within user's $HOME

  • Put user in control by reading ~/.filedust.conf

  • Never touches dotfiles, configs, project files, or anything important unless you want.

Installation

From GuardUtils package repo

This is the preferred method of installation.

Debian/Ubuntu

1) Import the GPG key

sudo mkdir -p /usr/share/keyrings
curl -fsSL https://repo.sysmd.uk/guardutils/guardutils.gpg | sudo gpg --dearmor -o /usr/share/keyrings/guardutils.gpg

The GPG fingerprint is 0032C71FA6A11EF9567D4434C5C06BD4603C28B1.

2) Add the APT source

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/guardutils.gpg] https://repo.sysmd.uk/guardutils/debian stable main" | sudo tee /etc/apt/sources.list.d/guardutils.list

3) Update and install

sudo apt update
sudo apt install filedust

Fedora/RHEL

1) Import the GPG key

sudo rpm --import https://repo.sysmd.uk/guardutils/guardutils.gpg

2) Add the repository configuration

sudo tee /etc/yum.repos.d/guardutils.repo > /dev/null << 'EOF'
[guardutils]
name=GuardUtils Repository
baseurl=https://repo.sysmd.uk/guardutils/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://repo.sysmd.uk/guardutils/guardutils.gpg
EOF

4) Update and install

sudo dnf upgrade --refresh
sudo dnf install filedust

From PyPI

pip install filedust

From this repository

git clone https://git.sysmd.uk/guardutils/filedust.git
cd filedust/
poetry install

Custom config

You can download the example and add your custom rule

wget -O ~/.filedust.conf https://git.sysmd.uk/guardutils/filedust/raw/branch/main/.filedust.conf.example

TAB completion

Add this to your .bashrc

eval "$(register-python-argcomplete filedust)"

And then

source ~/.bashrc

pre-commit

This project uses pre-commit to run automatic formatting and security checks before each commit (Black, Bandit, and various safety checks).

To enable it:

poetry install
poetry run pre-commit install

This ensures consistent formatting, catches common issues early, and keeps the codebase clean.

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

filedust-0.4.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

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

filedust-0.4.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file filedust-0.4.0.tar.gz.

File metadata

  • Download URL: filedust-0.4.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.9 Linux/6.17.11-200.fc42.x86_64

File hashes

Hashes for filedust-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6a06dfc544292bd7c3889202e79d112a06567660a422c888ee6b7c3aa29ed5be
MD5 434849bbd3d6b9935b1a2c717b3de58e
BLAKE2b-256 c38cbf131fe350d40009cfb5f3795ff25988b9d0ea99105d4597e7b1bd0a4f43

See more details on using hashes here.

File details

Details for the file filedust-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: filedust-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.9 Linux/6.17.11-200.fc42.x86_64

File hashes

Hashes for filedust-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37c3390b8a2220499ee2fc37b0d1e34a44fc34dddad0fc9d4a5562a7caf7d7c9
MD5 6cde8b43659044e2b5fdf894b3bc03f5
BLAKE2b-256 b4157e1b0d8578e8689675335e4093e7e6fe297b14cb8b182dc873ec8702d92f

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