Nurses 2 Versions Save

badass terminal graphics library

v0.34.0

1 month ago

This release adds a BezierCurve type and a coroutine move_along_path that will move a gadget along a sequence of curves. move_along_path also accepts different easings to control movement. Additional changes include:

  • VideoPlayer and BrailleVideoPlayer renamed Video and BrailleVideo, respectively.
  • clear() method added to Text and Graphics and shift() method added to Text.
  • Gadget minimum height/width is now 0 from 1.
  • on_progress parameter of tween() method of Gadget now accepts a callable with a single argument (the argument is the current progress of the tween).
  • Text effects added. A recreation of some effects from https://github.com/ChrisBuilds/terminaltexteffects.

v0.33.0

2 months ago

Introducing the new canvas data type, Cell! Major changes:

  • Char renamed to Cell.
  • Cell has additional fields "fg_color" and "bg_color".
  • colors ndarray of Text and _Root gadgets removed.
  • ColorPair removed.

Additional changes:

  • Theming is now done with a dictionary of hexcodes.
  • GadgetBase is now Gadget.
  • Pane gadget replaces the old Gadget type. Pane also alpha composites.
  • Transparency semantics for text gadgets updated. Can now alpha composite with the background of transparent text.
  • An alpha parameter/attribute has been added to several gadgets to use new compositing.
  • render() method is now private, renamed _render().
  • Resizable behavior removed.
  • The following gadgets no longer inherit from Text, but prefer composition: BoxImage, BrailleImage, BrailleVideoPlayer, ProgressBar, Slider, Sparkline
  • Running code in a separate thread is now optional for Console.
  • MenuItem is now private, renamed _MenuItem.

v0.31.1

5 months ago

Changes in v0.31.1

  • Fixed missing _pos attribute from _Root. This caused errors when getting top, left, right, bottom attributes.
  • Tasks returned by videos and animations don't propagate cancellations. Unwanted behavior could occur if while awaiting these tasks the video was paused or stopped.

v0.31.0

5 months ago

Markdown gadget added! Render markdown in the terminal with graphics, links, tables, lists and task lists! See it in action.

Changes for v0.31.0

  • Markdown gadget added/mistletoe added as a dependency.
  • add_text funcion and add_str, and set_text methods can now accept batgrl-flavored inline markdown if markdown=True.
  • Multi-line paste for console gadget.
  • Doc strings now conform to pydocstyle.
  • Raycaster refactored.
  • Three new Text borders added: near, mcgugan_tall, mcgugan_wide.
  • Cursor save/restore during rendering re-added.
  • VideoPlayer and BrailleVideoPlayer raise FileNotFound if file doesn't exist to prevent cv2 from eating the errors.
  • Render lock is now re-entrant. Gadgets must acquire render lock to resize or reposition.

v0.29.1

6 months ago

New in v0.29.0

  • Gadget, Text, and Graphics (and a few other gadgets) now inherit from GadgetBase. This removes background_char and background_color_pair from many gadgets where these attributes/parameters did nothing.
  • StackLayout added. Stack layouts position their children horizontally or vertically and resize them to use all available space. Child height or width
    proportions can be set with the proportions attribute.
  • add_syntax_highlight added to text gadgets. Pygments added as a dependency.

Additional Changes

  • ColorTheme is now a dataclass (instead of a NamedTuple).
  • ScrollView is themable (again)
  • Character attributes of gadgets, such as Text.default_char or Gadget.background_char can now be set with styled Char.
  • Gadget size and position are locked during rendering for thread safety.
  • Gadgets that inherited scroll view now inherit GadgetBase and have a scroll view.
  • Updated description of transparency for Gadget.
  • Fix several occurrences of improper escapes in strings.
  • Moved Char, style_char, and coerce_char into text_tools.
  • All layouts (except split layout) remove hints from children.

v0.28.0

7 months ago

New in v0.28.0:

  • Console gadget added.
  • Select all and select word key-binds added to text input gadgets.
  • Method signatures added to method stubs in doc strings.
  • Several bug fixes.

v0.27.0

7 months ago

New in v0.27.0

  • Renamed project to batgrl. Badass terminal graphics library. Widgets are now gadgets for flavor.
  • Rendering now uses regions by default, but painter's algorithm can still be used by passing the rendering mode to an App.

v0.25.0

7 months ago

New in v0.25.0

  • nurses_2 is now formatted with Black and isort, and linted with ruff!
  • Sparkline widget added.
  • BarChart widget added.
  • ScrollView smooth(er) scrolling with fractional block characters.
  • Box drawing option for LinePlot.
  • ProgressBar's progress attribute can be set to None for an infinite loading animation.
  • TextPad and Textbox correctly take into account full-width characters as cursor moves or text is added and deleted.
  • TextPad and Textbox now have move-across-word keybinds.
  • ShadowCaster types simplified.
  • Widget behaviors now follow an "-able" naming convention. Several behaviors have been renamed:
    • GrabbableBehavior is now Grabbable
    • GrabMoveBehavior is now Movable
    • GrabResizeBehavior is now Resizable
    • FocusBehavior is now Focusable
    • ScatterBehavior is now MovableChildren
  • TextAnimation's color pair can now be set with the animation_color_pair attribute.
  • Several enum parameters are now literal types.
    • Anchor is now Literal["bottom", "bottom-left", "bottom-right", "center", "left", "right", "top", "top-left", "top-right"]
    • Interpolation is now Literal["nearest", "linear", "cubic", "area", "lanczos"]
    • GridLayout.Orientation is now Literal["lr-tb", "lr-bt", "rl-tb", "rl-bt", "tb-lr", "tb-rl", "bt-lr", "bt-rl"]
    • Border is now Literal["light", "heavy", "double", "curved", "ascii", "outer", "inner", "thick"]
    • Easing is now a literal type.
    • Data table SelectItems and Alignment removed; parameters using these types now use literal types.
  • Datatype of NDArray types now added to type hints, e.g., NDArray[np.uint8].
  • TabbedWidget bug fixes:
    • Previous active tab content now disabled correctly when a new tab is added.
    • Animated underline height fixed.
  • A few minor bug fixes.

v0.20.1

8 months ago

New in v0.20.1:

  • TextAnimation and spinners
  • TabbedWidget
  • DataTable
  • Transparent text widgets don't paint their background color (background colors behind them are visible).

v0.18.8

1 year ago

Create ascii art banners from FIGfont files. Banners are created as arrays that they can be copied into TextWidget canvas arrays.