From 268b777803145b7c46298877c8e2b5c244d7c213 Mon Sep 17 00:00:00 2001 From: "Hunter T." Date: Sun, 3 Aug 2025 11:12:06 -0700 Subject: [PATCH 1/3] Remove .deepsource.toml --- .deepsource.toml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml deleted file mode 100644 index 60fc547..0000000 --- a/.deepsource.toml +++ /dev/null @@ -1,20 +0,0 @@ -version = 1 - -[[analyzers]] -name = "secrets" -enabled = true - -[[analyzers]] -name = "python" -enabled = true - - [analyzers.meta] - runtime_version = "3.x.x" - -[[transformers]] -name = "black" -enabled = true - -[[transformers]] -name = "isort" -enabled = true From 54807eb50fe4717f047475cc0024a9145f9bd92f Mon Sep 17 00:00:00 2001 From: "Hunter T." Date: Sun, 3 Aug 2025 11:31:57 -0700 Subject: [PATCH 2/3] Improve and re-organize README --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 65 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3762043..70380d7 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,86 @@ # String Permutation [![Project Tracker](https://img.shields.io/badge/repo%20status-Project%20Tracker-lightgrey)](https://wiki.hthompson.dev/en/project-tracker) -![Platform](https://img.shields.io/badge/platform-macOS|Linux|Windows-lightgrey) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) -[![Codacy Badge](https://app.codacy.com/project/badge/Grade/50debbed985345b289cd6ff0d1fd0f76)](https://www.codacy.com/gh/StrangeRanger/string-permutation/dashboard?utm_source=github.com&utm_medium=referral&utm_content=StrangeRanger/string-permutation&utm_campaign=Badge_Grade) This project is designed to take a given word or string of characters and create every possible permutation. While this isn't a huge project, there are a few things that might need explaining or would be good to know. [Click here](https://github.com/StrangeRanger/string-permutation/wiki) to take a look at the wiki. +## Features + +- **Two permutation types:** + - Permutation with partial or no repetition + - Permutation with repetition +- **Flexible output options:** + - Display permutations on screen + - Save permutations to a file +- **Duplicate character handling:** + - Automatic detection of duplicate characters + - Options to remove duplicates or continue with them +- **Progress tracking:** Real-time progress bar for file operations +- **Cross-platform support:** Works on Windows, macOS, and Linux +- **File size estimation:** Shows approximate output file size before generation + ## Getting Started ### Prerequisites -To install dependencies for Inspector, run either of the following commands: +- **Python** 3.7 or higher +- **Dependencies:** `colorama` and `tqdm` (see Installation section for setup instructions) +- **Optional:** `pipenv` for virtual environment management (recommended) + +### Installation -- `python3 -m pip install -r requirements.txt` (installs globally) -- `pipenv install -r requirements.txt` (installs locally via pipenv) +1. Clone the repository: + ```bash + git clone https://github.com/StrangeRanger/string-permutation + cd string-permutation + ``` -### Installing +2. Install dependencies (choose one method): -All you need to do is download the repository. There are no binaries or anything to install. + **Option A: Global installation** + ```bash + python3 -m pip install -r requirements.txt + ``` -`git clone https://github.com/StrangeRanger/string-permutation` + **Option B: Virtual environment (recommended)** + ```bash + # Install pipenv if you don't have it + pip install pipenv + + # Install dependencies in virtual environment + pipenv install + ``` ## Usage -To execute the program, simply use the following command: +To execute the program, use one of the following commands: + +**If using global installation:** +```bash +python3 string_permutation.py +``` + +**If using pipenv:** +```bash +pipenv run python string_permutation.py +``` + +## Example + +When you run the program, you'll be prompted to: + +1. Choose permutation type (with or without repetition) +2. Choose output method (display on screen or save to file) +3. Enter your input string +4. Specify the length of each permutation + +For example, with input "ABC" and length 2, you might get: +- Permutation without repetition: AB, AC, BA, BC, CA, CB +- Permutation with repetition: AA, AB, AC, BA, BB, BC, CA, CB, CC + +## License -`python3 string-permutation` +This project is licensed under the [MIT License](LICENSE). From 15f302be9a1daa97c8a5912a5059da4ce2de3c67 Mon Sep 17 00:00:00 2001 From: "Hunter T." Date: Sun, 3 Aug 2025 14:04:25 -0700 Subject: [PATCH 3/3] Improve and re-organize README --- README.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 70380d7..689241a 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ This project is designed to take a given word or string of characters and create While this isn't a huge project, there are a few things that might need explaining or would be good to know. [Click here](https://github.com/StrangeRanger/string-permutation/wiki) to take a look at the wiki. +## Demo + +[![asciicast](https://asciinema.hthompson.dev/a/8.svg)](https://asciinema.hthompson.dev/a/8) + ## Features - **Two permutation types:** @@ -27,7 +31,6 @@ While this isn't a huge project, there are a few things that might need explaini ### Prerequisites - **Python** 3.7 or higher -- **Dependencies:** `colorama` and `tqdm` (see Installation section for setup instructions) - **Optional:** `pipenv` for virtual environment management (recommended) ### Installation @@ -68,19 +71,6 @@ python3 string_permutation.py pipenv run python string_permutation.py ``` -## Example - -When you run the program, you'll be prompted to: - -1. Choose permutation type (with or without repetition) -2. Choose output method (display on screen or save to file) -3. Enter your input string -4. Specify the length of each permutation - -For example, with input "ABC" and length 2, you might get: -- Permutation without repetition: AB, AC, BA, BC, CA, CB -- Permutation with repetition: AA, AB, AC, BA, BB, BC, CA, CB, CC - ## License This project is licensed under the [MIT License](LICENSE).