Skip to main content

Improve your touch-typing skills in the terminal, based on the GNU Typist program

Project description

Terminal Typing Tutor

A port of GNU Typist (GTypist)

https://github.com/justinsgithub/terminal-typing-tutor/assets/74565194/c299740b-a2f2-47f5-b244-1ca41fa48295

Project Goals

GTypist is by far the best program I have used to learn how to type faster. However it is pretty outdated and has many potential features that can be added. I was initially going to just add to the C code, but decided to switch to Python for faster implementation. It is a tradeoff for speed, but so far the difference has not taken away from the program.

I tried to stick with the original program layout and how it did things as much as possible, both out of simplicity and respect to the original.

I also think this could be a good starting open-source project for new developers to contribute to.

Install

in your terminal:

$ pip install --user terminal-typing-tutor
---> 100%
Successfully installed terminal-typing-tutor

$ ttt

upgrade:

$ pip install --user --upgrade terminal-typing-tutor

Features

New

  • Tracking all time WPM, and saving scores to ~/.config/terminal-typing-tutor directory

    • This allows for saving typing scores long-term and between machines.
    • I add terminal-typing-tutor to my dotfiles managed by stow so that they are saved to github
  • Small UI improvements, such as centering the text on the screen, having it up in top left was especially annoying on a large monitor

Lacking

  • There are features and also lessons missing from the original GTypist that I don't use.
  • If there is anything you want added, feel free to create and issue or make a pull request, contributions are welcome and encouraged

Requirements

This project is built with:

  • Python 3.6+

  • Typer for command line functionality (not really doing much at the moment, but future features will incorporate it more)

  • Blessed for the terminal interface, a wrapper around the curses module

Contributing

I think this project would be an awesome first open source project for new developers looking to contribute.

There are plenty of things to be improved or added to this package, such as:

  • refactoring the code, since it has just been me, I did not worry too much about making it super pretty.

    • there are places where code is repeated and can be extracted into a reusable function
  • adding theme options

  • tracking the date of users personal bests to display progress over time

  • adding new lessons for programming, such as an html, python, and javascript lesson

Some of the new features will need to implement Typer, the docs are awesome, so are the Blessed docs

License

I stuck with the original license of the project, this is my first real open source project, so please let me know if there are any standards or anything I should do better.

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

terminal_typing_tutor-0.4.0.tar.gz (162.4 kB view details)

Uploaded Source

Built Distribution

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

terminal_typing_tutor-0.4.0-py3-none-any.whl (215.4 kB view details)

Uploaded Python 3

File details

Details for the file terminal_typing_tutor-0.4.0.tar.gz.

File metadata

  • Download URL: terminal_typing_tutor-0.4.0.tar.gz
  • Upload date:
  • Size: 162.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/6.2.6-76060206-generic

File hashes

Hashes for terminal_typing_tutor-0.4.0.tar.gz
Algorithm Hash digest
SHA256 63666c743df25306cb14100cf13b772f783c2e83e1b748bef2b5b8e3eff2a5de
MD5 bb896ed81436267e11674b0a3ad9685e
BLAKE2b-256 43cb7c2bda8ec5657290fc00012667e370e7dd9cae0fdc83933a94874cc85ed4

See more details on using hashes here.

File details

Details for the file terminal_typing_tutor-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: terminal_typing_tutor-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 215.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/6.2.6-76060206-generic

File hashes

Hashes for terminal_typing_tutor-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7286357b12f9a5e876b09374fb1bf309358635f0fba93ebe26c988aec925da0
MD5 9e170f4f8a0e525d4a3ff92667b326e8
BLAKE2b-256 19a35783c67ff37f050e11d086e311ee72a13afe32eb5518f6598f54083e7a55

See more details on using hashes here.

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