downsweep
Sort a messy Downloads folder into neat folders with one command. Make your own rules. Changed your mind? Undo it.
Your Downloads folder is full of PDFs, installers, screenshots and zip files all mixed together. downsweep sorts them into Images, PDFs, Documents, Programs and more in a few seconds, lets you add your own rules, and lets you reverse it if you don't like the result.
See it in action
Install
pip install downsweep
Command not recognised?
On some Windows computers, the downsweep command isn't found right after installing. This happens because Windows doesn't know where pip put it. It's not a problem with your files, and there's an easy fix: start it through Python instead.
python -m downsweep --preview
If python isn't recognised either, try:
py -m downsweep --preview
Everything works the same way, for example python -m downsweep --undo or python -m downsweep --rules.
If pip says something like "defaulting to user installation" or "not writeable" while installing, that is normal and harmless. It only means pip installed downsweep for your user account.
Quick start
See what would happen first. Nothing is moved:
downsweep --preview
Clean your Downloads folder:
downsweep
Changed your mind? Move everything back:
downsweep --undo
Clean any other folder:
downsweep "C:\path\to\folder"
Your own rules
Want all your PDFs in a folder called Study? Save a rule once and downsweep remembers it:
downsweep --add-rule .pdf Study
See your rules:
downsweep --rules
Forget a rule:
downsweep --remove-rule .pdf
Your rules always win over the built-in sorting, and undo cleans up your custom folders too.
Features
| Feature | What it does |
|---|---|
| Preview mode | Shows what would move, changes nothing |
| Custom rules | Send any file type to a folder you choose |
| Undo | Moves the last cleanup's files back where they were |
| Summary | Prints how many files went into each folder |
| Safe by design | Never overwrites a file, adds (1), (2) to duplicate names |
| Download-aware | Skips files still downloading, like .crdownload and .part |
| Zero dependencies | Only uses Python's standard library |
Folders it creates
Images, Videos, Audio, PDFs, Documents, Archives, Programs, Code and Other, plus any folders from your own rules.
Good to know
- Undo reverses the last cleanup of a folder only.
- After a cleanup, a small file called
.downsweep_log.jsonis saved inside the folder. That is how undo remembers what moved. Please don't delete it if you want to undo. - Your rules are saved in a small file called
.downsweep_rules.jsonin your home folder, and they apply to every folder you clean. - A rule's folder is created inside the folder being cleaned, so use a simple name like Study, not a full path.
- Only files directly inside the folder are sorted. Existing sub-folders are left alone.
License
MIT
Metadata
Release files for downsweep 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| downsweep-0.3.1.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| downsweep-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / downsweep-0.3.1.tar.gz
| Download URL | downsweep-0.3.1.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f30390bb2e2d3ab2c2d82aaba4a564d6d894ce816fa80ff16ee4fa5031039c9a
|
|
BLAKE2b-256 checksum How to use checksums |
892cc10838860b2ce1e74ad267b6879040c0ce4e8611389a981161752d7231cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / downsweep-0.3.1-py3-none-any.whl
| Download URL | downsweep-0.3.1-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf6e4e950259a60c32c383f0f58a4d36df475926a8058906972aa65c95539aa6
|
|
BLAKE2b-256 checksum How to use checksums |
611321d58f4c5e5d62ffcf9fa31c49c17e071e27a53f13216e10d829a1bc6721
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|