All Projects → jankrepl → Mltype

jankrepl / Mltype

Licence: mit
Command line tool for improving typing skills (programmers friendly)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mltype

Typical
Animated typing in ~400 bytes 🐡 of JavaScript
Stars: ✭ 986 (+317.8%)
Mutual labels:  typing
Typedload
Python library to load dynamically typed data into statically typed data structures
Stars: ✭ 120 (-49.15%)
Mutual labels:  typing
Supertextview
🎀 SuperTextView for Android 是一个在TextView的基础上扩展了几种动画效果的控件。
Stars: ✭ 165 (-30.08%)
Mutual labels:  typing
React Typist
Typing animations with React
Stars: ✭ 1,092 (+362.71%)
Mutual labels:  typing
Norman
Norman keyboard layout - alternative to QWERTY for touch typing in English
Stars: ✭ 112 (-52.54%)
Mutual labels:  typing
Mypy
Optional static typing for Python
Stars: ✭ 11,995 (+4982.63%)
Mutual labels:  typing
Falling Words Typing Game
This is the source code for a Falling Words Typing Game created in Unity during a Twitch Livestream.
Stars: ✭ 31 (-86.86%)
Mutual labels:  typing
Typing inspect
Runtime inspection utilities for Python typing module
Stars: ✭ 193 (-18.22%)
Mutual labels:  typing
Dataclass factory
Modern way to convert python dataclasses or other objects to and from more common types like dicts or json-like structures
Stars: ✭ 116 (-50.85%)
Mutual labels:  typing
Ghosttypewriter
👻 A UILabel subclass that adds a typewriting animation effect
Stars: ✭ 159 (-32.63%)
Mutual labels:  typing
Ducky
Duck-Typed Value Handling for JavaScript
Stars: ✭ 71 (-69.92%)
Mutual labels:  typing
Typer
A JavaScript typing library with sexy syntax and diddly dependencies.
Stars: ✭ 111 (-52.97%)
Mutual labels:  typing
Typescript Vs Flowtype
Differences between Flowtype and TypeScript -- syntax and usability
Stars: ✭ 1,671 (+608.05%)
Mutual labels:  typing
Vscode Smoothtype
VS Code extension to add cursor transitions while typing, similar to MS Office and the Windows 10 Mail app.
Stars: ✭ 54 (-77.12%)
Mutual labels:  typing
Tinytyper
⌨️ A tiny library for creating a typing effect on specified text element.
Stars: ✭ 173 (-26.69%)
Mutual labels:  typing
Mob Suite
MOB-suite: Software tools for clustering, reconstruction and typing of plasmids from draft assemblies
Stars: ✭ 32 (-86.44%)
Mutual labels:  typing
Tt
A terminal based typing test.
Stars: ✭ 125 (-47.03%)
Mutual labels:  typing
Qwerty Learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
Stars: ✭ 3,536 (+1398.31%)
Mutual labels:  typing
Typeshed
Typeshed contains external type annotations for the Python standard library and Python builtins, as well as third party packages as contributed by people external to those projects.
Stars: ✭ 2,501 (+959.75%)
Mutual labels:  typing
Turingtype
⌨️ Simple human typing effect
Stars: ✭ 137 (-41.95%)
Mutual labels:  typing

mltype

Command line tool for improving typing speed and accuracy. The main goal is to help programmers practise programming languages.

Demo

Installation

Python environment

pip install --upgrade mltype

Docker

Make sure that Docker and Docker Compose are installed.

docker-compose run --rm mltype

You will get a shell in a running container and the mlt command should be available.

See the documentation for more information.

Main features

Text generation

  • Using neural networks to generate text. One can use pretrained networks (see below) or train new ones from scratch.
  • Alternatively, one can read text from a file or provide it manually

Typing interface

  • Dead simple (implemented in curses)
  • Basic statistics - WPM and accuracy
  • Setting target speed
  • Playing against past performances

Documentation and usage

The entrypoint is mlt. To get information on how to use the subcommands use the --help flag (e.g. mlt file --help).

$ mlt
Usage: mlt [OPTIONS] COMMAND [ARGS]...

  Tool for improving typing speed and accuracy

Options:
  --help  Show this message and exit.

Commands:
  file    Type text from a file
  ls      List all language models
  random  Sample characters randomly from a vocabulary
  raw     Provide text manually
  replay  Compete against a past performance
  sample  Sample text from a language
  train   Train a language

Pretrained models

See below for a list of pretrained models. They are stored on a google drive and one needs to download the entire archive.

Name Info Link
C++ Trained on https://github.com/TheAlgorithms/C-Plus-Plus link
C# Trained on https://github.com/TheAlgorithms/C-Sharp link
CPython Trained on https://github.com/python/cpython/tree/master/Python link
Crime and Punishment Trained on http://www.gutenberg.org/ebooks/2554 link
Dracula Trained on http://www.gutenberg.org/ebooks/345 link
Elixir Trained on https://github.com/phoenixframework/phoenix link
Go Trained on https://github.com/TheAlgorithms/Go link
Haskell Trained on https://github.com/jgm/pandoc link
Java Trained on https://github.com/TheAlgorithms/Java link
JavaScript Trained on https://github.com/trekhleb/javascript-algorithms link
Kotlin Trained on https://github.com/square/leakcanary link
Lua Trained on https://github.com/nmap/nmap link
Perl Trained on https://github.com/mojolicious/mojo link
PHP Trained on https://github.com/symfony/symfony link
Python Trained on https://github.com/TheAlgorithms/Python link
R Trained on https://github.com/tidyverse/ggplot2 link
Ruby Trained on https://github.com/jekyll/jekyll link
Rust Trained on https://github.com/rust-lang/rust/tree/master/compiler link
Scala Trained on https://github.com/apache/spark/tree/master/mllib link
Scikit-learn Trained on https://github.com/scikit-learn/scikit-learn link
Swift Trained on https://github.com/raywenderlich/swift-algorithm-club link

Once you download the file, you will need to place it in ~/.mltype/languages. Note that if the folder does not exist you will have to create it. The file name can be changed to whatever you like. This name will then be used to refer to the model.

To verify that the model was downloaded succesfully, try to sample from it. Note that this might take 20+ seconds the first time around.

mlt sample my_new_model

Feel free to create an issue if you want me to train a model for you. Note that you can also do it yourself easily by reading the documentation (mlt train) and getting a GPU on Google Colab (click the badge below for a ready to use notebook).

Open In Colab

Credits

This project is very much motivated by the The Unreasonable Effectiveness of Recurrent Neural Networks by Andrej Karpathy.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].