Remove all pests from your project! frenchmaid is a lightweight all platform cli package that will delete all pycache and other folders (contents included) in your project directory. Are you tired of doing it manually each time? Fear not, the frenchmaid will do it for you!
Project description
frenchmaid v0.2.3
Are you a python developer who also/only uses windows and are sick and tired of constantly deteting those pesky __pycache__
directories? Fear not, frenchmaid is here to help! frenchmaid is a CLI app written in pure python that will search your entire project directory and delete any __pycache__
or other folders (and the files within) in your root directory. Now it can also add these folders to your ignore files!
Supported Folders
- __pycache__
- .mypy_cache
Supported Ignores
- git
- docker
Installation
pip install frenchmaid
or
pip3 install frenchmaid
Windows 10 PATH Error
If you encounter a path error on your CMD after running one of the commands above (e.g one about not finding a frenchmaid.exe or the frenchmaid.exe not being on PATH), carry out the following steps:
-
Uninstall frenchmaid
pip uninstall frenchmaid
-
Open a new terminal as admin
- Open the start menu (press the windows button)
- Search for CMD
- Right click and select run as administrator
-
Install frenchmaid globally
pip install frenchmaid
Remember not to use the --user
flag unless you have set this option on path as well.
Linux PATH Error
If you encounter a "not on path" error after running `pip3 install frenchmaid` akin to:
frenchmaid is installed in /home/<username>/.local/bin which is not on PATH...
Copy the relative path to frenchmaid from $HOME and add it to PATH. For this current example it would be:
user@machine:~$ echo $HOME
/home/<username>
user@machine:~$ export PATH="$HOME/.local/bin:$PATH"
Update
pip install --upgrade frenchmaid
or
pip3 install --upgrade frenchmaid
Example Usage
In any terminal window:
Linux based machines:
user@machine:~/Documents/example-app$ frenchmaid clean
Windows based machines:
C:\Users\<user>\Documents\example-app> frenchmaid clean
It's really that simple, just ensure that you are in your project's root directory! For clarity, the above example assumes that your project structure is something like this for example:
example-app
├── LICENSE
├── requirements.txt
└── src
└── __init__.py
└── app.py
If the root is example-app
then you can see that the terminal should be in that dir.
Commands
clean
Run frenchmaid clean
in your project's root directory without any arguments to remove all instances of supported folders. If you want to delete all instances of one type of folder and not any others, run the command with an option; For example, frenchmaid clean mypy
.
For more information on which arguments are supported, run frenchmaid clean --help
. If a folder you would like support for is not there, you can open a request here.
The currently supported arguments are:
pycache
which will only delete __pycache__ foldersmypy
which will only delete .mypy_cache folders
ignore
The ignore command (unlike the clean one) requires an argument to work. So to ignore all supported folders in your .dockerignore file, run frenchmaid ignore docker
for example.
Usage Notes
- Ensure you run the command in the correct directory
- It will currently only add pycache and mypy cache folders toy our ignore file
- You do not have to create the ignore file before running the command. If one doesn't exist, it will create one
- If you already have an ignore file, it will append the folders to the file if they aren't already in the file
The currently supported arguments are:
git
which will add or append a .gitignore filedocker
which will add or append a .dockerignore file
For more information on which arguments are supported, run frenchmaid ignore --help
. If a folder you would like support for is not there, you can open a request here.
Options
Version
In any terminal in any directory:
frenchmaid -v
or
frenchmaid --version
will return (for example):
frenchmaid v0.2.3
Help
In any terminal in any directory:
frenchmaid --help
will return:
Usage: frenchmaid [OPTIONS] COMMAND [ARGS]...
A handy tool to delete all junk!
Options:
-v, --version View the CLI app version
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to copy it or customize the installation.
--help Show this message and exit.
Commands:
clean Delete all instances of junk folders
ignore Add junk folders to ignore files
Note that this option can also be used in tandem with any command.
Support and Reporting
You can report any bugs or improvements here, I will try to address them as soon as possible. Feel free to suggest any other files or folders you think it should delete (e.g .pytest_cache) with all context on how they appear. I will happily make it a possibility without breaking the current format! To the best of my abilities of course, and the github page will be updated on any changes.
Changelog
v0.2.x
v0.2.3
- Codebase improvements
- Full parity between
windows
andlinux
systems; Full Stability - Added .gitignore
- README structure changed
- Note added to v0.2.0 to denote it's instability
v0.2.2
- Updated README version history to include v0.2.1 updates
v0.2.1
- Fixed ignore format for pycache in git
v0.2.0
- Added a logo to the README
- Added instructions for a Linux PATH error
- Added ignore command and arguments
- Added support for mypy cache folders
- Added arguments to the clean command
- Added
--help
context to all commands - Moved all functions to a modules folder
- Added a class switch
- Typed modules
- Unstable on linux bases systems
v0.1.x
v0.1.2
- License has been updated to Apache from MIT effective from the date of this release
- Notes on potential path problems that can arise from installation on Windows have been added to the README
v0.1.1
- Issue on linux machines fixed with directory name post pycache delete
- The package no longer displays the root directory's full absolute path (e.g Documents/example-app), but rather just the root directory's name (e.g example-app) on linux machines.
v0.1.0
- Initial Release; Stable version for use on all platforms
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
File details
Details for the file frenchmaid-0.2.3.tar.gz
.
File metadata
- Download URL: frenchmaid-0.2.3.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6052233ebfe5b6655777c9a4225867ef965f30edababc339d16b71d0887feb9d |
|
MD5 | 778ded5faf9c7936f1f7b7de3f651377 |
|
BLAKE2b-256 | 70a5d54557377360f3229ba555591f55b62e93ff39ae468a6bf2e1cbbaa8d621 |
File details
Details for the file frenchmaid-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: frenchmaid-0.2.3-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0aafcb8e4d6a77ac60b042e5439b0dde0e2d21366240c444d151d29e815c13f |
|
MD5 | 25c881d67d6c463d3794ee20b8071f63 |
|
BLAKE2b-256 | f1cb3c90aa123b329c5a75915bcb7b3f308024a37204289b97c729dc33601f00 |