Skip to main content

Speed Cubing Timer on your Terminal

Project description

Term Timer

Practice your speed cubing skills on your terminal, for a full 80's vibe.

image

Main Features

  • Valid WCA scrambles
  • From 2x2x2 to 7x7x7 cubes
  • Free-play and recorded solves
  • Colorfull cube display
  • Handle Bluetooth cubes
  • Detailled statistics and reconstructions

Other Features

  • Metronome
  • Inspection time
  • Easy white cross
  • Cube orientation control
  • Seed control
  • Full offline application
  • csTimer and Cubeast import

Short demo

Examples usage

Start timing 3x3x3 solves :

term-timer solve

Start timing in Bluetooth showing the scrambled cube :

term-timer solve -bp

Start timing 2 solves of 4x4x4 in free-play :

term-timer solve -c 4 -f 2

Start timing with an easy white cross, with 15 secs of inspection :

term-timer solve -ei 15

Show statistics on recorded solves :

term-timer stats

Show tendencies graph on recorded solves :

term-timer graph

Show last ten recorded solves of 7x7x7 :

term-timer list 10 -c 7

Installation

pip install -e .

Acknowledgments

I would like to express my sincere gratitude to the developers of the following projects, without which Term Timer would not have been possible:

Their outstanding work and contributions to the Rubik's Cube programming community have been invaluable to this project.

Demos

Help

General

Usage: term-timer [-h]
                  {solve,sw,t,list,ls,l,stats,st,s,graph,gr,g,cfop,op,c,detail,dt,d,import,im,i,export,ex,e}
                  ...

Speed cubing timer on your terminal.

Positional Arguments:
  {solve,sw,t,list,ls,l,stats,st,s,graph,gr,g,cfop,op,c,detail,dt,d,import,im,i,export,ex,e}
                        Available commands.
    solve (sw, t)       Start the timer and record solves.
    list (ls, l)        Display recorded solves.
    stats (st, s)       Display statistics.
    graph (gr, g)       Display trend graph.
    cfop (op, c)        Display CFOP cases.
    detail (dt, d)      Display detailed information about solves.
    import (im, i)      Import external solves.
    export (ex, e)      Export solves in HTML.

Options:
  -h, --help            Show this help message and exit.

Have fun cubing !

Timer

Usage: term-timer solve [-h] [-b] [-p] [-c CUBE] [-u SESSION] [-f] [-i SECONDS] [-m TEMPO] [-e]
                        [-n ITERATIONS] [-r SEED]
                        [SOLVES]

Start the speed cubing timer to record and time your solves.

Positional Arguments:
  SOLVES                Specify the number of solves to be done.
                        Default: Infinite.

Options:
  -h, --help            Show this help message and exit.

Configuration:
  -b, --bluetooth       Use a Bluetooth-connected cube.
                        Default: False.
  -p, --show-cube       Display the cube in its scrambled state.
                        Default: False.

Session:
  -c CUBE, --cube CUBE  Set the size of the cube (from 2 to 7).
                        Default: 3.
  -u SESSION, --session SESSION
                        Name of the session for solves.
                        Default: None.
  -f, --free-play       Enable free play mode to disable recording of solves.
                        Default: False.

Timer:
  -i SECONDS, --countdown SECONDS
                        Set the countdown timer for inspection time in seconds.
                        Default: 0.0.
  -m TEMPO, --metronome TEMPO
                        Set a metronome beep at a specified tempo in seconds.
                        Default: 0.0.

Scramble:
  -e, --easy-cross      Set the scramble with an easy cross.
                        Default: False.
  -n ITERATIONS, --iterations ITERATIONS
                        Set the number of random moves.
                        Default: Auto.
  -r SEED, --seed SEED  Set a seed for random move generation to ensure repeatable scrambles.
                        Default: None.

Origin Story

While I was diligently working on my personal CFOP databases, which can be accessed at https://cubing.fache.fr/, I encountered the necessity for a high-quality scrambling tool for a 3x3 Rubik's Cube. This tool was essential for the development of an innovative type of computer solver for the 3x3 cube.

Once I successfully developed this scrambler, it occurred to me that it would be a regrettable oversight not to capitalize on this momentum by creating a timing application based on the scrambler's functionality.

Having produced a straightforward prototype and finding the program to be quite satisfactory, I further concluded that withholding such a useful tool from the community would constitute another regrettable oversight.

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

term_timer-0.1.0.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

term_timer-0.1.0-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file term_timer-0.1.0.tar.gz.

File metadata

  • Download URL: term_timer-0.1.0.tar.gz
  • Upload date:
  • Size: 42.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for term_timer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 15190d3030ab681f224b1bf96f80e11986fee99fe308a11c216962d66be40e36
MD5 79f9bd36996feca33c23513798b923d6
BLAKE2b-256 6744f302b7ba11e0996445754cf26b5500dffefe47c3c970dc641d510d47f0ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for term_timer-0.1.0.tar.gz:

Publisher: release.yml on Fantomas42/term-timer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file term_timer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: term_timer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for term_timer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 efcd3e7055f9ecf6ed92ea667a49138f36bbc5d49774184c3c37e32438b6b48b
MD5 e97c79a8ae6309ff0a64aa6fe7499149
BLAKE2b-256 c1859efb7476c2fad190ec92b49095f7fc8bdd7853b65f62f7b50188703d06f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for term_timer-0.1.0-py3-none-any.whl:

Publisher: release.yml on Fantomas42/term-timer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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