Skip to content

Typeinc is a cool ncurses based Typing Speed Test tool where you can enjoy typing experience in Terminal with different difficulty levels.

License

Notifications You must be signed in to change notification settings

AnirudhG07/Typeinc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typeinc Static Badge Static Badge

Typeinc (pronounced type-in-c), a python & ncurses based tool, is your goto terminal tool to play around with your typing speed with various difficulty levels. You get an amazing UI for typing keyboard giving you a feel of both typewriters and keyboards. Both humans and robots can get their typing speed, don't worry robots won't break the limits set here.

Funny GIF

Typeinc has nothing to with C, although pronounced so. It's like type-i-nc meaning type-type, I-user(you), nc-ncurses, OR maybe type-inc (Typing Incorporation), honestly I donno. Make out whatever you want bruh!

Previews/Screenshots

preview_initial.mov

Features

Tyepinc provide some a next level typing test experience sitting on your terminal.

1. UI Static Badge

This terminal software provides a user-friendly UI with easy interactions, unless the user purposefully messes with things.
It provides a really cool UI with a monitor and a KEYBOARD which gets typed when you type. (Not all keys are functional, try avoiding pressing useless buttons).

2. Difficulty levels Static Badge

Typeinc has the widest range of difficulty level. You can actually put any number between -infinity to +infinity (keeping in mind computer limitations). Although they are categorized so any difficulty level more than 1000 will be based on LUCK, you may get an easy level 1000 + typing test, or really nasty cause it's absolutely random.
Give your best shot with the difficulty levels and have fun typing!

Here is a detailed summary of the Difficulty level division.

- Level <= 0 : Super Easy (Regular) (SE)
- 0 < Level <= 2 : Easy (E)
- 2 < Level <= 4 : Normal (N)
- 4 < Level <= 6 : Hard (H)
- 6 < Level <= 9 : Super Hard (SH)
- 9 < Level <= 10 : Insane (I)
- 10 < Level < 20 : Super Insane (SI)
- 20 <= Level < 50: BRUH (X)
- 50 <= Level < 100: SUPER BRUHH (X2)
- 100 <= Level < 500: DAMNN BRUHHH!! (XX)
- 500 <= Level < 1000: U ROCK BRUHHH! (XX2)
- 1000 <= Level: GOD BRUH!!! (SXX)

All the difficulties levels are set by me, including the names. This test is a total 'BRUHHH'!
For example-
higher_diff_txt-img

This is an example of 50 word test-text at difficulty level = 20. (It may differ for you).

Note: If you want to have the regular typing test, please enter without mentioning any difficulty level since Default Difficulty is set to 0.

3. Grading and Typeinc score Static Badge

The grading system differs for each difficulty level chosen and so is your score. The higher the difficulty level, more the score you will obtain.
Refer this tool to your friends, family and colleagues and compete with them!

Please refer to Typeinc standards & grades for more information regarding the grading and typeinc score.

4. Highscore Display Static Badge

Save your result with your name for each test you take. You can also see the top 10 for each respective difficulty level by running the command - (Note: difficulty level is code for each difficulty level, like 'E', 'X2', etc.)

typeinc -r <difficulty-level>

The topper is the one with higher Typeinc Score.

Only 100 scores are saved in database which are ordered in desceding order w.r.t Typeinc score. Any score which is lesser than least of them, will not be saved. Try to beat that score to be able to save it, but this will push out the one who went to position 101, which will be deleted.

How to Install

This is a cross-platform tool so it can be downloaded in your MacOS, Linux, Windows, etc.
Follow the below guidelines to download the software

~> PIP Installation

  1. You can install this package from PyPi by running the following command0
pip install typeinc

If it gives any permission error, you can run using sudo(for Unix).

sudo pip install typeinc
  1. Now you are good to go! Play by simply running typeinc by-
typeinc # to play
typeinc -h # to see help message

~> Homebrew Installation

This tool can also be installed using Homebrew(for MacOS only). You can install it by tapping my homebrew-tap repo and installing the tool.

brew tap AnirudhG07/AnirudhG07
brew install typeinc

You can now run the tool by running typeinc -h in your terminal. If you are facing issues, try running-

brew install AnirudhG07/AnirudhG07/typeinc # After tapping the repo

Make sure you have Homebrew installed in your MacOS and it is updated which can be done by running brew update.

~> Manual Installation

To install this tool manually, you can git clone this repository in your directory and run it, with the below command guidelines-

  1. Clone the repository in your directory
cd /path/to/your/directory/
git clone https://github.com/AnirudhG07/Typeinc
  1. Run setup.py to set the tool
python setup.py install #use python3 if required
# OR if it throws an error
pip install .

Now you should be able to run the tool using typeinc in your terminal. Feel free to raise an issue if you face with any errors.

Typeinc-mini

This is made for those who do not have a big enough screen and see the message -
...If still the issue persists, too bad.
Typeinc-mini, is a miniature version of Typeinc. Same features but less UI (you don't get the Typeinc-keyboard :<).

Check it out at: https://github.com/AnirudhG07/Typeinc-mini

We provide 2 solutions for screen-issues-

  1. Try Typeinc-mini
  2. Try decreasing font size/increasing number of lines in terminal or similar
  3. Get a bigger screen bruh... (not much of a solution)

I hope you can enjoy Typeinc as much as you can irrespective of your screen size!

Dependencies

This tool doesn't require a lot of dependencies but you need some basic requirements like

  • python version >= 3.11
  • curses library of python (Note: It will be automatically installed if you use the Pip Installation process)
  • For Windows, windows-curses and setuptools are needed.

If you have any doubts/facing any issue, feel free to raise an issue.

Documentation

Check out the docs in the repository for information regarding how to use, grading system, general queries, etc. Check out the help message in your terminal to check out the usage too ny running typeinc -h.

Tldr

Thanks to maintainers at tldr/tldr-pages, we have English and Spanish tldr for typeinc (View PR #1).

$ tldr typeinc

Contribution

It would be great to have contributions from anyone. To make Typeinc more loved among everyone and make it better, feel free to raise an issue, discuss and make a PR.

Contribution Guidelines

  1. If you would like to raise any grading system based issues, please have a valid point using some mathematical figures to support your statements. Statements like This is unfair, I don't like it, etc. will not be attended to.
  2. If you feel like adding a feature or fixing bug, please put up an issue before adding a PR.
    You can always post your highest score and grade with wpm, accuracy and difficulty level chosen. I would love to make a global top list and add you there, if you are worthy!

Note regarding Grading system Static Badge

  • All the grading, difficulty level, typeinc score is devised by AnirudhG07(me). It has not been taken from anywhere and all the numbers set has been made from a fair system and intuition.
  • I honestly would give more score to a person trying higher difficulty level cause they won't achieve a good wpm, unlike regular level where even 140-150 is possible.
  • In no way I am also trying to equate the best possible (wpm, accuracy) of Regular Difficulty level to least possible (wpm, accuracy) of the most Difficult level.
    Thanks!

About

Typeinc is a cool ncurses based Typing Speed Test tool where you can enjoy typing experience in Terminal with different difficulty levels.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages