KeyFlow
KeyFlow is a Python library that provides interactive console printing with a simulated typing effect and customizable text formatting. It allows you to create dynamic and engaging command-line interfaces for your Python applications.
Features
- Simulated typing effect: Display text with a realistic typing animation.
- Customizable formatting: Apply foreground and background colors, underline, bold, and italics to your printed text.
- Error simulation: Introduce random typing errors to make the output more human-like.
- Prompt input: Display prompts and wait for user input with support for various input validation options.
- Integration with PyInputPlus: Option to use PyInputPlus functions for input handling.
- Easy-to-use API: Simple and intuitive functions for printing and input.
Installation
You can install KeyFlow using pip:
pip install keyflow
Usage
kfprint
The kfprint function prints text with a simulated typing effect and supports custom foreground and background colors.
from keyflow import kfprint
kfprint(text, speed=0.2, retype=None, fore_color=None, back_color=None, typing=True, error=0.2, underline=False, bold=False, italics=False)
Parameters
text(str): The text to be printed.speed(float, optional): The typing speed in seconds per character. Default is 0.2.retype(str, optional): Text to be retyped after printing. Default is None.fore_color(str, optional): The foreground color code or name to apply to the text. Default is None.back_color(str, optional): The background color code or name to apply to the text. Default is None.highlight(str, optional): Text to be highlighted with thefore_colorandback_color, works only when typing is set to false. Default is None.typing(bool, optional): Whether to simulate typing effect. Default is True.error(float, optional): The probability of making an error while typing. Default is 0.2.underline(bool, optional): Whether to underline the text. Default is False.bold(bool, optional): Whether to bold the text. Default is False.italics(bool, optional): Whether to italicize the text. Default is False.
kfinput
The kfinput function displays text with a simulated typing effect, waits for user input, and returns the entered value.
from keyflow import kfinput
kfinput(text, speed=0.2, retype=None, fore_color=None, back_color=None, typing=True, use_pyip=None, pyip_params={}, error=0.2, underline=False, bold=False, italics=False)
Parameters
text(str): The text to be displayed as a prompt.speed(float, optional): The typing speed in seconds per character. Default is 0.2.retype(str, optional): Text to be retyped after printing. Default is None.fore_color(str, optional): The foreground color code or name to apply to the text. Default is None.back_color(str, optional): The background color code or name to apply to the text. Default is None.highlight(str, optional): Text to be highlighted with thefore_colorandback_color, works only when typing is set to false. Default is None.typing(bool, optional): Whether to simulate typing effect. Default is True.use_pyip(callable, optional): A pyinputplus function to use for input. Default is None.pyip_params(dict, optional): Additional parameters to pass to theuse_pyipfunction. Default is an empty dictionary.error(float, optional): The probability of making an error while typing. Default is 0.2.underline(bool, optional): Whether to underline the text. Default is False.bold(bool, optional): Whether to bold the text. Default is False.italics(bool, optional): Whether to italicize the text. Default is False.
Note: When typing, you can press the spacebar to pause and resume the typing animation.
License
KeyFlow is released under the MIT License. You are free to use, modify, and distribute this library for both commercial and non-commercial purposes. Please see the LICENSE file for more details.
GitHub Repository
Feel free to explore the repository, submit issues, and contribute to the project.
To clone the repository, run the following command:
git clone https://github.com/aneousion/keyflow
Metadata
Release files for keyflow 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| keyflow-1.1.1.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| keyflow-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 kB
Release files / keyflow-1.1.1.tar.gz
| Download URL | keyflow-1.1.1.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
173b54137c5b239ebd87e74ad02ead25c4c5d7836ac56120bc9a5504ec720985
|
|
BLAKE2b-256 checksum How to use checksums |
2d1957a95217377bdb4e06ee40794c63aca6bb07697ea092f35f4e0d6ef5da2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|
Release files / keyflow-1.1.1-py3-none-any.whl
| Download URL | keyflow-1.1.1-py3-none-any.whl |
|---|---|
| Size | 5.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6faf8f64ce80361c78b37e7360ff56cd8c4f9211416bf0a5f29eb4d3dcf9088a
|
|
BLAKE2b-256 checksum How to use checksums |
9b8e2b6cfdbebed35f118c73d66fca90770b67345957171171fb707bb6b5621c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|