Skip to main content

Typeinc, an ncurses based tool, is your goto terminal tool to play around with your typing speed with various difficulty levels.

Project description

Typeinc Static Badge Static Badge

Typeinc (pronounced type-inc), 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

https://github.com/AnirudhG07/Typeinc/assets/146579014/f7684d4e-1844-4f6a-ad66-3549dfd2043f

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
  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 install i.e. run the below commands-

git clone https://github.com/AnirudhG07/Typeinc.git
cd Typeinc
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!

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

typeinc-1.0.1.tar.gz (23.2 MB view details)

Uploaded Source

Built Distribution

typeinc-1.0.1-py3-none-any.whl (42.2 kB view details)

Uploaded Python 3

File details

Details for the file typeinc-1.0.1.tar.gz.

File metadata

  • Download URL: typeinc-1.0.1.tar.gz
  • Upload date:
  • Size: 23.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for typeinc-1.0.1.tar.gz
Algorithm Hash digest
SHA256 576cbee40ad1282e349d649ac1658d14d7c59434b17e753bd3f5bbe5cb87d6e1
MD5 ad84da6b4d8485d889a8ffa1b08ca41e
BLAKE2b-256 0ef395e8633d1deeeabcb7db34a49d2d5110c5a2ee299d8776612e9a6ed01f50

See more details on using hashes here.

File details

Details for the file typeinc-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: typeinc-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 42.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for typeinc-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aed5388eb6d04f270caa44dbf30206dc2caacd6f6b410df8f5b8e01123ae97ab
MD5 28c8c1411874c8ecde81f4c7cd942e7b
BLAKE2b-256 001e15b07627146f9c9f02e7f6bab420048330e1b7877d3818bdd5a10cb9b1bd

See more details on using hashes here.

Supported by

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