my version of @dis.sociat.ing's dollcode algorithm in python

Update README, tiny tweaks

- cleaned up README
- moved arg parsing into `__main__` block for cleanliness
- bumped semver -> 0.4.0

+18 -19
+11 -11
README.md
··· 11 11 ``` 12 12 13 13 ## usage 14 - `uv run main.py <input>`: converts input to dollcode: 14 + `uv run main.py <input>`: encodes input in dollcode 15 15 ```sh 16 - uv run main.py "676767" 17 - # outputs: ▘▖▖▌▌▘▌▖▖▌▖▖▌▘▌▌▖▘▘▖▖▌▌▖▖▖▘▌▌ 18 - 19 - uv run main.py "hihihihi" 20 - # outputs: ▖▘▖▖▘▌▘▌▌▖▘▖▌▘▌▘▌▘▌▌▌▘▌▖▘▖▌▘▘▖▘▖▖▖▘▌▘▌▖▘ 16 + uv run main.py "67" 17 + # outputs: ▖▘▌▘▘▌▘▌▖ 21 18 ``` 22 19 23 - `uv run main.py <input> -c`: converts input and copies output to clipboard 20 + `uv run main.py <input> -d`: converts input and copies output to clipboard 24 21 ```sh 25 - uv run main.py "8008135" -c 26 - # outputs: ▘▘▖▖▖▌▌▘▘▘▌▘▘▘▖▘▌▌▌▌▖▌▘▌▌▖▘▘▌▘▖▘▘▖ -> 📋 copied! 22 + uv run main.py "▌▘▌▖▘▘▘▘▘" -d 23 + # outputs: hi 24 + ``` 27 25 28 - uv run main.py "copy if ur pretty ..." -c 29 - # outputs: ▘▌▌▌▘▘▘▖▌▌▖▖▖▌▌▖▌▘▌▌▖▌▘▖▖▌▖▌▌▘▘▌▘▌▖▘▖▖▘▌▖▘▌▘▌▖▘▌▌▘▘▖▖▘▌▌▖▖▌▘▘▌▘▖▘▘▖▖▖▌▘▘▌▌▖▌▘▖▌▖▖▌▖▖▘▌▖▘▘▌▘▌▌▌▘▌▖▖▘▌▘▘▘▘▌ -> 📋 copied! 26 + `uv run main.py <input> -c`: copies output to clipboard 27 + ```sh 28 + uv run main.py "copy if pretty" -c 29 + # outputs: ▖▌▌▖▌▖▌▘▌▖▖▘▘▘▘▌▌▖▖▌▌▘▖▖▘▖▌▖▘▘▌▖▖▖▖▌▖▘▘▘▌▖▖▖▘▘▌▖▌▘▘▖▌▖▘▘▌▖▌▖▘▘▌▌▖▖▖▌▖▘ -> 📋 copied! 30 30 ```
+5 -6
main.py
··· 2 2 3 3 import pyperclip 4 4 5 - parser = argparse.ArgumentParser(description="converts input into dollcode") 6 - parser.add_argument("input", type=str, help="input to convert") 7 - parser.add_argument("-c", action="store_true", help="copy output to clipboard") 8 - parser.add_argument("-d", action="store_true", help="decode dollcode") 9 - args = parser.parse_args() 10 - 11 5 DOLLCODE_CHARS = ("▌", "▖", "▘") 12 6 BASE_NUM = 3 13 7 ··· 89 83 90 84 91 85 if __name__ == "__main__": 86 + parser = argparse.ArgumentParser(description="converts input into dollcode") 87 + parser.add_argument("input", type=str, help="input to convert") 88 + parser.add_argument("-c", action="store_true", help="copy output to clipboard") 89 + parser.add_argument("-d", action="store_true", help="decode dollcode") 90 + args = parser.parse_args() 92 91 main(args.input, args.c, args.d)
+1 -1
pyproject.toml
··· 1 1 [project] 2 2 name = "dollcode" 3 - version = "0.3.0" 3 + version = "0.4.0" 4 4 description = "converts input into dollcode" 5 5 readme = "README.md" 6 6 requires-python = ">=3.13"
+1 -1
uv.lock
··· 4 4 5 5 [[package]] 6 6 name = "dollcode" 7 - version = "0.3.0" 7 + version = "0.4.0" 8 8 source = { virtual = "." } 9 9 dependencies = [ 10 10 { name = "pyperclip" },