Giter VIP home page Giter VIP logo

typeinc's Introduction

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!

typeinc's People

Contributors

anirudhg07 avatar kbdharun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kbdharun lopdabop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.