Rain
Quick Start
from terminaltexteffects.effects.effect_rain import Rain
effect = Rain("YourTextHere")
with effect.terminal_output() as terminal:
for frame in effect:
terminal.print(frame)
Rain characters from the top of the canvas.
Classes:
Name | Description |
---|---|
Rain |
Rain characters from the top of the canvas. |
RainConfig |
Configuration for the Rain effect. |
RainIterator |
Iterator for the Rain effect. Does not normally need to be called directly. |
Rain
Bases: BaseEffect[RainConfig]
Rain characters from the top of the canvas.
Attributes:
Name | Type | Description |
---|---|---|
effect_config |
PourConfig
|
Configuration for the effect. |
terminal_config |
TerminalConfig
|
Configuration for the terminal. |
Source code in terminaltexteffects/effects/effect_rain.py
__init__(input_data)
Initialize the effect with the provided input data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
input_data |
str
|
The input data to use for the effect. |
required |
RainConfig
dataclass
Bases: ArgsDataClass
Configuration for the Rain effect.
Attributes:
Name | Type | Description |
---|---|---|
rain_colors |
tuple[Color, ...]
|
Tuple of colors for the rain drops. Colors are randomly chosen from the tuple. |
movement_speed |
tuple[float, float]
|
Falling speed range of the rain drops. Valid values are n > 0. |
rain_symbols |
tuple[str, ...] | str
|
Tuple of symbols to use for the rain drops. Symbols are randomly chosen from the tuple. |
final_gradient_stops |
tuple[Color, ...]
|
Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color. |
final_gradient_steps |
tuple[int, ...] | int
|
Tuple of the number of gradient steps to use. More steps will create a smoother and longer gradient animation. Valid values are n > 0. |
final_gradient_direction |
Direction
|
Direction of the final gradient. |
easing |
EasingFunction
|
Easing function to use for character movement. |
Source code in terminaltexteffects/effects/effect_rain.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
|
final_gradient_direction: Gradient.Direction = ArgField(cmd_name='--final-gradient-direction', type_parser=argvalidators.GradientDirection.type_parser, default=Gradient.Direction.DIAGONAL, metavar=argvalidators.GradientDirection.METAVAR, help='Direction of the final gradient.')
class-attribute
instance-attribute
Gradient.Direction : Direction of the final gradient.
final_gradient_steps: tuple[int, ...] | int = ArgField(cmd_name='--final-gradient-steps', type_parser=argvalidators.PositiveInt.type_parser, nargs='+', default=12, metavar=argvalidators.PositiveInt.METAVAR, help='Space separated, unquoted, list of the number of gradient steps to use. More steps will create a smoother and longer gradient animation.')
class-attribute
instance-attribute
tuple[int, ...] | int : Int or Tuple of ints for the number of gradient steps to use. More steps will create a smoother and longer gradient animation.
final_gradient_stops: tuple[Color, ...] = ArgField(cmd_name='--final-gradient-stops', type_parser=argvalidators.ColorArg.type_parser, nargs='+', default=(Color('488bff'), Color('b2e7de'), Color('57eaf7')), metavar=argvalidators.ColorArg.METAVAR, help='Space separated, unquoted, list of colors for the character gradient (applied from bottom to top). If only one color is provided, the characters will be displayed in that color.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the final color gradient. If only one color is provided, the characters will be displayed in that color.
movement_easing: easing.EasingFunction = ArgField(cmd_name=['--movement-easing'], default=easing.in_quart, type_parser=argvalidators.Ease.type_parser, metavar=argvalidators.Ease.METAVAR, help='Easing function to use for character movement.')
class-attribute
instance-attribute
easing.EasingFunction : Easing function to use for character movement.
movement_speed: tuple[float, float] = ArgField(cmd_name='--movement-speed', type_parser=argvalidators.PositiveFloatRange.type_parser, default=(0.1, 0.2), metavar=argvalidators.PositiveFloatRange.METAVAR, help='Falling speed range of the rain drops.')
class-attribute
instance-attribute
tuple[float, float] : Falling speed range of the rain drops.
rain_colors: tuple[Color, ...] = ArgField(cmd_name=['--rain-colors'], type_parser=argvalidators.ColorArg.type_parser, metavar=argvalidators.ColorArg.METAVAR, nargs='+', default=(Color('00315C'), Color('004C8F'), Color('0075DB'), Color('3F91D9'), Color('78B9F2'), Color('9AC8F5'), Color('B8D8F8'), Color('E3EFFC')), help='List of colors for the rain drops. Colors are randomly chosen from the list.')
class-attribute
instance-attribute
tuple[Color, ...] : Tuple of colors for the rain drops. Colors are randomly chosen from the tuple.
rain_symbols: tuple[str, ...] = ArgField(cmd_name='--rain-symbols', type_parser=argvalidators.Symbol.type_parser, nargs='+', default=('o', '.', ',', '*', '|'), metavar=argvalidators.Symbol.METAVAR, help='Space separated list of symbols to use for the rain drops. Symbols are randomly chosen from the list.')
class-attribute
instance-attribute
tuple[str, ...] : Tuple of symbols to use for the rain drops. Symbols are randomly chosen from the tuple.