Skip to main content

Licence Gitea Release pre-commit

filedust

filedust logo

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 the SysMD package repository

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/sysmd/sysmd.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sysmd.gpg

The GPG fingerprint is 0032C71FA6A11EF9567D4434C5C06BD4603C28B1.

2) Add the APT source

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

2) Add the repository configuration

sudo tee /etc/yum.repos.d/sysmd.repo > /dev/null << 'EOF'
[sysmd]
name=SysMD Repository
baseurl=https://repo.sysmd.uk/sysmd/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://repo.sysmd.uk/sysmd/sysmd.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.

Tests

Run the test suite:

poetry run pytest

Support

If you find filedust useful, consider supporting its development:

Support me on Ko-fi

Metadata

Release files for filedust 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for filedust 0.5.1
File Size Uploaded Provenance Actions
filedust-0.5.1.tar.gz 18.8 kB Without provenance Details for filedust-0.5.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for filedust 0.5.1
File Interpreter ABI Platform Actions
filedust-0.5.1-py3-none-any.whl Python 3 none any Details for filedust-0.5.1-py3-none-any.whl

Total release size: 38.9 kB

Release files / filedust-0.5.1.tar.gz

Download URL filedust-0.5.1.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cc76d449f49083f17cbfb4d4c08bceda33387c6d9ddb1c8b1d9347b26691b7dd
BLAKE2b-256 checksum
How to use checksums
6332a3422a0f50bc1e0e4cefa5992a4b5e40edf2595f2d4fa5642041773c1b69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.0 CPython/3.14.7 Linux/7.2.9-100.fc43.x86_64

Release files / filedust-0.5.1-py3-none-any.whl

Download URL filedust-0.5.1-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a30faafdda3b0ab59c2f278ca51702965ce426f5dc6045f8c8a2cf35ce14be5b
BLAKE2b-256 checksum
How to use checksums
811f9ff5755c2a3b46953b2b84febccf6ca0be8c8b18ab66b42d4bd12a64cd85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.0 CPython/3.14.7 Linux/7.2.9-100.fc43.x86_64

Security for filedust 0.5.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page