Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seanbreckenridge/cube-scramble-cli
A CLI for pyTwistyScrambler, to generate random states for twisty puzzles.
https://github.com/seanbreckenridge/cube-scramble-cli
cli rubiks rubiks-cube rubiks-cube-scrambler speedcubing
Last synced: about 1 month ago
JSON representation
A CLI for pyTwistyScrambler, to generate random states for twisty puzzles.
- Host: GitHub
- URL: https://github.com/seanbreckenridge/cube-scramble-cli
- Owner: seanbreckenridge
- License: gpl-3.0
- Created: 2019-02-17T08:13:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-29T18:52:01.000Z (about 1 year ago)
- Last Synced: 2023-09-29T23:46:51.531Z (about 1 year ago)
- Topics: cli, rubiks, rubiks-cube, rubiks-cube-scrambler, speedcubing
- Language: Python
- Homepage: https://pypi.org/project/cube-scramble-cli/
- Size: 5.31 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE
Awesome Lists containing this project
README
# cube-scramble-cli
[![PyPi version](https://img.shields.io/pypi/v/cube_scramble_cli.svg)](https://pypi.python.org/pypi/cube_scramble_cli) [![Python 3.7|3.8|3.9|3.10](https://img.shields.io/pypi/pyversions/cube_scramble_cli.svg)](https://pypi.python.org/pypi/cube_scramble_cli) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
A CLI for [pyTwistyScrambler](https://github.com/euphwes/pyTwistyScrambler), to generate random states for Rubik's cubes/twisty puzzles.
#### Installation
Requires python3.7+
`$ pip3 install cube-scramble-cli`
#### Run
```
Usage: cube-scramble-cli [OPTIONS] [ARGS]...A command line based stopwatch and twisty puzzle scramble generator
Options:
-s, --print-symbols Print a list of supported scrambles
-H, --hide-stopwatch When using stopwatch, don't display time while solving
--help Show this message and exit.
```Supported Symbols:
```
3x3 WCA Scramble 3x3
2x2 WCA Scramble 2x2
4x4 WCA Scramble 4x4
5x5 WCA Scramble 5x5
6x6 WCA Scramble 6x6
7x7 WCA Scramble 7x7
Pyraminx Scramble PYRAMINX
Megaminx Scramble MEGAMINX
Square-1 Scramble SQUARE ONE
Skewb Scramble SKEWB
Clock scramble CLOCK
Last Layer Scramble LAST LAYER
First 2 Layers Scramble FIRST 2 LAYERS
-Last Six Edges Scramble LAST SIX EDGES
-gen Scramble RU SCRAMBLE
Last Slot and Last Layer Scramble LAST SLOT AND LAST LAYER
[Stopwatch] STOPWATCH
[Print Help] HELP
[Quit] QUIT
```You can press `tab` to scroll through the symbols at the prompt, and arrow keys scroll through history (stored at `~/.scramble_history.txt`. You can change this location by setting the `SCRAMBLE_HISTORY` environment variable to a different path.)
After selecting a scramble, you may repeatedly press `return`/`enter` to generate another scramble of the same type, or enter a number to generate that many scrambles of the selected type; e.g. `3x3 3`
Use Ctrl+C or Ctrl+D, or type `QUIT` to quit
The `STOPWATCH` command will start a stopwatch that stops when any key is pressed. You can use the `-H` flag when starting `cube-scramble-cli` to hide the timer while solving.
If you provide 'user input' as command line arguments, its prints the results and exits without entering interactive mode:
```
$ cube-scramble-cli 3x3 3
R' B2 L2 F2 D2 B2 R U2 R' F2 R' U' R B' R2 U2 F' L D R2
U2 B2 L2 F2 U L2 D' F2 D' U B R B U' R' U B D L'
D' R' U F2 L' U2 L F' U' D B2 U L2 B2 D' L2 B2 U' F2 R
```This is also accessible through `python3 -m cube_scramble_cli`
## License
Since this uses [pyTwistyScrambler](https://github.com/euphwes/pyTwistyScrambler) internally, which in turn uses [cstimer](https://github.com/cs0x7f/cstimer) (which is GPL-3.0 licensed), this is GPL'd, so required to be liscened under that as well.