Skip to main content

textfx is a Python library for creating dynamic and visually engaging text effects.

Project description

Textfx

PyPI Downloads Python License Repo Size

Textfx is a Python library for creating dynamic and visually engaging text effects. It offers multiple functions to display text with unique animations and styles — perfect for enhancing console-based projects.

Features

  • Typing Effect: Simulates the effect of typing text character by character.
  • Scramble Effect: Displays random characters that gradually transform into the actual text.
  • Wave Text: Makes the text move in a wave-like pattern.
  • Untyping Effect: Gradually erases text character by character.
  • Unscramble Effect: The text gradually scrambles into random characters until it disappears.
  • Unwave Text: The text starts in a wave-like pattern and gradually stabilizes.
  • Loading: Display a loading animation using a customizable animation. New!
  • Color Support: All effects now support colored text using termcolor.

Installation

You can install it with:

pip install textfx

Or clone this repository and use the textfx.py file directly in your project:

git clone https://github.com/iliakarimi/textfx.git
cd textfx
pip install -r requirements.txt

Then, import the required functions in your Python script:

from textfx import typeeffect, scrameffect, wavetext, untypeeffect, unscrameffect, unwavetext, Loading

Usage

Typing Effect

from textfx import typeeffect
typeeffect("Hello, world!", color="cyan", delay=0.1)

Scramble Effect

from textfx import scrameffect
scrameffect("Scrambled Text", color="green", delay=0.1)

Wave Text

from textfx import wavetext
wavetext("Wave Text", color="yellow", delay=0.1)

Untyping Effect

from textfx import untypeeffect
untypeeffect("Erasing Text", color="gray", delay=0.1)

Unscramble Effect

from textfx import unscrameffect
unscrameffect("Glitching Away", color="blue", delay=0.1)

Unwave Text

from textfx import unwavetext
unwavetext("Steadying Waves", color="red", delay=0.1)

Loading

Spinner Loading:

from textfx import Loading

with SpinnerLoading("Processing..."):
    # do something
    time.sleep(5)

You can customize the spinner animation:

SpinnerLoading(animation=".oO@* ")

Or change the text and delay:

SpinnerLoading(message="Waiting", animation="⠋⠙⠸⠴⠦⠇", delay=0.2, end_message="Finished!")

Color Options

All effects support colored text using the color parameter.

You can choose from the following colors:

grey, red, green, yellow, blue, magenta, cyan, white

Example:

typeeffect("This is red text!", color="red", delay=0.1)

💡 Color support may depend on your terminal. Most modern terminals support termcolor outputs.

For more details, see termcolor documentation.

Dependencies

You can install the required dependencies using:

pip install -r requirements.txt

Contributing

Feel free to fork this repository and submit pull requests. Suggestions for new effects and improvements are always welcome!

License

This project is licensed under the MIT License. See the LICENSE file for details.


🎉 Enjoy using Textfx!

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

textfx-2.1.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

textfx-2.1.3-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file textfx-2.1.3.tar.gz.

File metadata

  • Download URL: textfx-2.1.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.6

File hashes

Hashes for textfx-2.1.3.tar.gz
Algorithm Hash digest
SHA256 3937009aa36b919f8b93d0148c6208215907be5053a95b6da4d1a95a9bf8ce7a
MD5 566a77a55a4655e36c18b05c047e3bcf
BLAKE2b-256 b55d499bdadec186a684e52bd972f145aa691d9efc7dc5df263e3d9f7c86a2bc

See more details on using hashes here.

File details

Details for the file textfx-2.1.3-py3-none-any.whl.

File metadata

  • Download URL: textfx-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.6

File hashes

Hashes for textfx-2.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9f321e2aa121849af5219a8a322c983f6e0498f58d3419cedacf90aa4274513f
MD5 0ad763a84fdc793c1629df3036c613b8
BLAKE2b-256 a4ce78412cffd84204b2a7b78ec32ceeb159223efe7d86bc1505e02fbde748bf

See more details on using hashes here.

Supported by

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