Help keep your files and folders tidy by file type or date
Project description
Tidyup 🧹
Sweep up your files into organized folders by date and/or extension.
Description
tidyup helps organize messy directories by moving eligible files into a predictable
folder structure.
Install
pip install tidyup
Usage
tidyup [-h] [-e] [-d] [-r] [-L DEPTH] directory
Options
-e: organize by extension-d: organize by file modified date (year/month)-r, --rearrange: traverse subdirectories recursively-L, --depth: recursion depth (valid only with-r)
Ordering Behavior
Order is preserved:
-de=>year/month/extension/file-ed=>extension/year/month/file
Recursive Behavior
-rwithout-Ldefaults to depth2-Lwithout-ris invalid
Exclusion Behavior
By default, tidyup excludes:
- hidden files (dotfiles)
- names/suffixes in the internal exclusion list (for example
requirements.txt,config.json) - files without an extension
- multi-extension files are grouped by their final suffix (for example
archive.tar.gzgoes togz/)
Collision Behavior
- tidyup never overwrites an existing destination file
- if a destination filename already exists, that move is skipped and a message is printed
- when multiple source files would target the same destination in one run, tidyup processes them in a stable path order so the outcome stays deterministic
Examples
# Organize top-level files by extension
tidyup -e /path/to/dir
# Organize top-level files by date
tidyup -d /path/to/dir
# Organize by extension then date
tidyup -ed /path/to/dir
# Organize by date then extension
tidyup -de /path/to/dir
# Recursive organize by date, default depth=2
tidyup -r -d /path/to/dir
# Recursive organize by extension, default depth=2
tidyup -r -e /path/to/dir
# Recursive organize by extension at depth 3
tidyup -r -L 3 -e /path/to/dir
# Recursive organize by date at depth 3
tidyup -r -L 3 -d /path/to/dir
Quality Gate
Run the same baseline checks locally that CI uses before release or publishing:
python3 -m pip install -e .[test] || python3 -m pip install -e . pytest
python3 -m pytest -q
python3 -m tidyup -h
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
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 tidyup-0.0.5.tar.gz.
File metadata
- Download URL: tidyup-0.0.5.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddecd8bd0f8113b75d5e17bbf243b8e1472cf3717095d021c05bf6401e4b3f8b
|
|
| MD5 |
05d240de25838137a75307d187c08b1a
|
|
| BLAKE2b-256 |
5fbd910a96d5951f2e5126c446181939616303b6195d150b20598bed6af54940
|
Provenance
The following attestation bundles were made for tidyup-0.0.5.tar.gz:
Publisher:
publish-to-pypi.yml on Esturban/tidyup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tidyup-0.0.5.tar.gz -
Subject digest:
ddecd8bd0f8113b75d5e17bbf243b8e1472cf3717095d021c05bf6401e4b3f8b - Sigstore transparency entry: 1052608251
- Sigstore integration time:
-
Permalink:
Esturban/tidyup@9e6a7722fd063cf595ca9669a084671f887b83f4 -
Branch / Tag:
refs/tags/0.0.5 - Owner: https://github.com/Esturban
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9e6a7722fd063cf595ca9669a084671f887b83f4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tidyup-0.0.5-py3-none-any.whl.
File metadata
- Download URL: tidyup-0.0.5-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aac320ec14b5cf92277af258dcbb17c36d179635ad8c7402371bcfae79488f9
|
|
| MD5 |
0af2922d0322c49350cac8216f334b96
|
|
| BLAKE2b-256 |
b79ffa9ce8d0a102e338d07cb37e298b33355d8f2565e0e0ca02f8f12cdd5c4e
|
Provenance
The following attestation bundles were made for tidyup-0.0.5-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on Esturban/tidyup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tidyup-0.0.5-py3-none-any.whl -
Subject digest:
6aac320ec14b5cf92277af258dcbb17c36d179635ad8c7402371bcfae79488f9 - Sigstore transparency entry: 1052608718
- Sigstore integration time:
-
Permalink:
Esturban/tidyup@9e6a7722fd063cf595ca9669a084671f887b83f4 -
Branch / Tag:
refs/tags/0.0.5 - Owner: https://github.com/Esturban
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9e6a7722fd063cf595ca9669a084671f887b83f4 -
Trigger Event:
push
-
Statement type: