Skip to main content

cleanpy is a CLI tool to remove caches and temporary files that related to Python.

Project description


cleanpy is a CLI tool to remove caches and temporary files related to Python.

PyPI package version CI status of Linux/macOS/Windows CodeQL


Installation: pip

pip install cleanpy
Supported Python versions Supported Python implementations

Installation: snap

sudo snap install cleanpy
snapcraft status


cleanpy DIR_PATH [DIR_PATH ...]

cleanpy will remove cache files and temporary files under the DIR_PATH

Remove files/directories are as follows:

  • files:
    • *.pyc

    • *.pyo

  • directories:
    • __pycache__

    • .cache

    • .mypy_cache

    • .pytest_cache

You can also remove additional files/directories if the following options are specified:

  • --include-builds:
    • build

    • dist

    • docs/_build: [sphinx]

    • *.manifest: [pyinstaller]

    • *.spec: [pyinstaller]

  • --include-envs:
    • .venv

    • .nox

    • .tox

  • --include-metadata:
    • .eggs

    • *.egg-info

    • .pyre/

    • .pytype/

    • pip-wheel-metadata

  • --include-testing:
    • .coverage

    • coverage.xml

    • nosetests.xml

All the above options are specified if you use the --all option.

The following directories are excluded from the remove:

  • .git

  • .hg

  • .svn

  • node_modules

Execution example

Clean the current directory except for virtual environments:

cleanpy --all --exclude-envs .

Command help

usage: cleanpy [-h] [-V] [--list] [--follow-symlinks] [--dry-run] [-a] [--include-builds] [--include-envs] [--include-metadata] [--include-testing] [--exclude PATTERN] [--exclude-envs] [-i | -f] [-v | --debug | --quiet] DIR_PATH [DIR_PATH ...]

Remove cache files and temporary files that are related to Python.

Skip directories from recursive search: .git, .hg, .svn, node_modules

positional arguments:
  DIR_PATH            path to a root directory to search.

  -h, --help          show this help message and exit
  -V, --version       show program's version number and exit
  --list              print target directories/files. this does not actually remove directories/files.
  --follow-symlinks   follow symlinks.
  --dry-run           do no harm.
  -i, --interactive   prompt on each file/directory delete.
  -f, --force         delete file/directory without prompt.
  -v, --verbose       shows the verbose output.
  --debug             for debug print.
  --quiet             suppress execution log messages.

Remove Target:
  -a, --all           remove all of the caches and temporary files.
  --include-builds    remove files/directories that are related to build: build, dist, docs/_build
  --include-envs      remove virtual environment caches.
  --include-metadata  remove metadata.
  --include-testing   remove test results and coverage files.
  --exclude PATTERN   a regular expression for files and directories to be excluded from the removes.
  --exclude-envs      exclude virtual environments from deletion.

Issue tracker:


Python 3.7+

  • no external package dependencies

  • platform independent

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

cleanpy-0.4.0.tar.gz (11.5 kB view hashes)

Uploaded source

Built Distribution

cleanpy-0.4.0-py3-none-any.whl (9.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page