# tui-typer-tutor
![.github/assets/demo.gif](https://raw.githubusercontent.com/KyleKing/tui-typer-tutor/main/.github/assets/demo.gif)
Uncomplicated terminal typing practice.
Fork of `kraanzu/termtyper` with a focus on special characters. Inspired by `climech/typing-practice` and `justinsgithub/terminal-typing-tutor`.
## Installation
[Install with `pipx`](https://pypi.org/project/pipx/)
```sh
pipx install tui-typer-tutor
```
## Usage
Launch a typing session with the default text:
```sh
ttt
```
Or specify custom files with:
```sh
ttt --seed-file='./any-file.txt'
```
To uninstall run:
```sh
ttt --uninstall && pipx uninstall tui-typer-tutor
```
### Keys
This app supports a few unicode characters when found in the seed file:
- tab: `→`
- shift+tab: `←`
- enter/return: `⏎`
- escape: `␛`
[All supported characters are documented here](https://github.com/KyleKing/tui-typer-tutor/blob/main/tui_typer_tutor/constants/display_to_textual.py). `Ctrl` key combinations aren't yet supported and appear as an unknown character.
### Seed File
The algorithm for generating the expected text is:
1. Load each line of the seed file
1. Reorder randomly (keeping each line of text together)
1. Join without a delimeter keeping any leading white space per line
The default seed file is here: [./tui_typer_tutor/core/seed_data.txt](https://github.com/KyleKing/tui-typer-tutor/blob/main/tui_typer_tutor/core/seed_data.txt)
Ideas for better seed text generation are welcome!
## Project Status
See the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG].
## Contributing
We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:
- [DEVELOPER_GUIDE]
- [STYLE_GUIDE]
## Code of Conduct
We follow the [Contributor Covenant Code of Conduct][contributor-covenant].
### Open Source Status
We try to reasonably meet most aspects of the "OpenSSF scorecard" from [Open Source Insights](https://deps.dev/pypi/tui-typer-tutor)
## Responsible Disclosure
If you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com).
## License
[LICENSE]
[changelog]: https://tui-typer-tutor.kyleking.me/docs/CHANGELOG
[code_tag_summary]: https://tui-typer-tutor.kyleking.me/docs/CODE_TAG_SUMMARY
[contributor-covenant]: https://www.contributor-covenant.org
[developer_guide]: https://tui-typer-tutor.kyleking.me/docs/DEVELOPER_GUIDE
[license]: https://github.com/kyleking/tui-typer-tutor/blob/main/LICENSE
[style_guide]: https://tui-typer-tutor.kyleking.me/docs/STYLE_GUIDE
Raw data
{
"_id": null,
"home_page": "https://github.com/kyleking/tui-typer-tutor",
"name": "tui-typer-tutor",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11.2,<4.0.0",
"maintainer_email": "",
"keywords": "",
"author": "Kyle King",
"author_email": "dev.act.kyle@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6f/99/1d2de9a0623c8407847d85950a65a87bb2d55fa91ec34e8f8dfad25aa361/tui_typer_tutor-1.1.2.tar.gz",
"platform": null,
"description": "# tui-typer-tutor\n\n![.github/assets/demo.gif](https://raw.githubusercontent.com/KyleKing/tui-typer-tutor/main/.github/assets/demo.gif)\n\nUncomplicated terminal typing practice.\n\nFork of `kraanzu/termtyper` with a focus on special characters. Inspired by `climech/typing-practice` and `justinsgithub/terminal-typing-tutor`.\n\n## Installation\n\n[Install with `pipx`](https://pypi.org/project/pipx/)\n\n```sh\npipx install tui-typer-tutor\n```\n\n## Usage\n\nLaunch a typing session with the default text:\n\n```sh\nttt\n```\n\nOr specify custom files with:\n\n```sh\nttt --seed-file='./any-file.txt'\n```\n\nTo uninstall run:\n\n```sh\nttt --uninstall && pipx uninstall tui-typer-tutor\n```\n\n### Keys\n\nThis app supports a few unicode characters when found in the seed file:\n\n- tab: `\u2192`\n- shift+tab: `\u2190`\n- enter/return: `\u23ce`\n- escape: `\u241b`\n\n[All supported characters are documented here](https://github.com/KyleKing/tui-typer-tutor/blob/main/tui_typer_tutor/constants/display_to_textual.py). `Ctrl` key combinations aren't yet supported and appear as an unknown character.\n\n### Seed File\n\nThe algorithm for generating the expected text is:\n\n1. Load each line of the seed file\n1. Reorder randomly (keeping each line of text together)\n1. Join without a delimeter keeping any leading white space per line\n\nThe default seed file is here: [./tui_typer_tutor/core/seed_data.txt](https://github.com/KyleKing/tui-typer-tutor/blob/main/tui_typer_tutor/core/seed_data.txt)\n\nIdeas for better seed text generation are welcome!\n\n## Project Status\n\nSee the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG].\n\n## Contributing\n\nWe welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:\n\n- [DEVELOPER_GUIDE]\n- [STYLE_GUIDE]\n\n## Code of Conduct\n\nWe follow the [Contributor Covenant Code of Conduct][contributor-covenant].\n\n### Open Source Status\n\nWe try to reasonably meet most aspects of the \"OpenSSF scorecard\" from [Open Source Insights](https://deps.dev/pypi/tui-typer-tutor)\n\n## Responsible Disclosure\n\nIf you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com).\n\n## License\n\n[LICENSE]\n\n[changelog]: https://tui-typer-tutor.kyleking.me/docs/CHANGELOG\n[code_tag_summary]: https://tui-typer-tutor.kyleking.me/docs/CODE_TAG_SUMMARY\n[contributor-covenant]: https://www.contributor-covenant.org\n[developer_guide]: https://tui-typer-tutor.kyleking.me/docs/DEVELOPER_GUIDE\n[license]: https://github.com/kyleking/tui-typer-tutor/blob/main/LICENSE\n[style_guide]: https://tui-typer-tutor.kyleking.me/docs/STYLE_GUIDE\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Uncomplicated terminal typing practice.",
"version": "1.1.2",
"project_urls": {
"Bug Tracker": "https://github.com/kyleking/tui-typer-tutor/issues",
"Changelog": "https://github.com/kyleking/tui-typer-tutor/blob/main/docs/docs/CHANGELOG.md",
"Documentation": "https://tui-typer-tutor.kyleking.me",
"Homepage": "https://github.com/kyleking/tui-typer-tutor",
"Repository": "https://github.com/kyleking/tui-typer-tutor"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1de80bca9b699931f657536708df8e5bec76b39bfed52976f32c873a65ae688e",
"md5": "d948de39857a9e1f8023140eb974e49f",
"sha256": "785678e04e4e70be726c829efc09844322ba954d94cacb5331d14f855549d8bf"
},
"downloads": -1,
"filename": "tui_typer_tutor-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d948de39857a9e1f8023140eb974e49f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11.2,<4.0.0",
"size": 14607,
"upload_time": "2023-07-23T22:49:23",
"upload_time_iso_8601": "2023-07-23T22:49:23.664189Z",
"url": "https://files.pythonhosted.org/packages/1d/e8/0bca9b699931f657536708df8e5bec76b39bfed52976f32c873a65ae688e/tui_typer_tutor-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f991d2de9a0623c8407847d85950a65a87bb2d55fa91ec34e8f8dfad25aa361",
"md5": "e8974bd4f2c13d5a2651c47f4ad0fe8d",
"sha256": "f7890fd0655de7dcf71ac48495e820cc7fc83e2c97974ad3c12a368a1acf7fc1"
},
"downloads": -1,
"filename": "tui_typer_tutor-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "e8974bd4f2c13d5a2651c47f4ad0fe8d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11.2,<4.0.0",
"size": 11124,
"upload_time": "2023-07-23T22:49:25",
"upload_time_iso_8601": "2023-07-23T22:49:25.295089Z",
"url": "https://files.pythonhosted.org/packages/6f/99/1d2de9a0623c8407847d85950a65a87bb2d55fa91ec34e8f8dfad25aa361/tui_typer_tutor-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-23 22:49:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kyleking",
"github_project": "tui-typer-tutor",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tui-typer-tutor"
}