diff --git a/docs/assets/deck.svg b/docs/assets/deck.svg index 6383d8e..736c84b 100644 --- a/docs/assets/deck.svg +++ b/docs/assets/deck.svg @@ -36,8 +36,8 @@ .spieldocs-r2 { fill: #c5c8c6 } .spieldocs-r3 { fill: #e1e1e1 } .spieldocs-r4 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; } -.spieldocs-r5 { fill: #fdfdc5 } -.spieldocs-r6 { fill: #1984e9 } +.spieldocs-r5 { fill: #68a0b3;font-weight: bold } +.spieldocs-r6 { fill: #608ab1;text-decoration: underline; } .spieldocs-r7 { fill: #398280 } .spieldocs-r8 { fill: #e1e1e1;font-style: italic; } .spieldocs-r9 { fill: #745ca9 } @@ -334,48 +334,48 @@ - + - ╭─────────── 1 | What is Spiel? ────────────╮╭────────── 2 | Decks and Slides ───────────╮╭─────────── 3 | Dynamic Content ───────────╮ -││││ -What isWhy use││Decks are made of Slides││Slides can have dynamic -Spiel?Spiel?││││content! -││       Here's the code for Deck and        ││ -Spiel is a           It's fun!       ││Slide!                   ││      Since slides are created using        -││││      normal Python code, any output        -ContributiInspiration││         The source code is pulled         ││       you can imagine producing via        -ngs││       directly from the definitions       ││       Python can make it into your         -││          via inspect.getsource.           ││                  slides.                   -        Please              Brandon        ││┌──────────────────┐┌───────────────────┐││ -╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯ -╭────────────── 4 | Triggers ───────────────╮╭────────── 5 | Triggers: Reveals ──────────╮╭──────── 6 | Triggers: Animations ─────────╮ + ╭─────────── 1 | What is Spiel? ────────────╮╭────────── 2 | Decks and Slides ───────────╮╭─────────── 3 | Dynamic Content ───────────╮ + +What isWhy useDecks are made of SlidesSlides can have dynamic +Spiel?Spiel?content! +Here's the code for Deck and +Spiel is aIt's fun!Slide!Since slides are created using +normal Python code,any output +ContributiInspirationThe source code is pulledyou can imagine producing via +ngsdirectly from the definitionsPython can make it into your +via inspect.getsource.slides. +PleaseBrandon┌──────────────────┐┌───────────────────┐ +╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯ +╭────────────── 4 | Triggers ───────────────╮╭────────── 5 | Triggers: Reveals ──────────╮╭──────── 6 | Triggers: Animations ─────────╮ TriggersTriggers: RevealsTriggers: Animations -       Triggers are a mechanism for                Triggers can be useful even                 Here's an example of how           -        making dynamic content that                 without considering their                triggers can be used to build        -         depends on relative time.                 tracking of relative time.                  more complex animations.           +Triggers are a mechanism forTriggers can be useful evenHere's an example of how +making dynamic content thatwithout considering theirtriggers can be used to build +depends on relative time.tracking of relative time.more complex animations. -          Triggers can be used to                  We can track the number of                   The position and facing           -       implement effects like fades,                times the slide has been                  direction of the bullet are         -      motion, and other "animations".             triggered to gradually reveal              calculated deterministically         -                 content.                          based on the time since the         +Triggers can be used toWe can track the number ofThe position and facing +implement effects like fades,times the slide has beendirection of the bullet are +motion, and other "animations".triggered to graduallyrevealcalculated deterministically +content.based on the time since the ╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯ -╭──────────────── 7 | Views ────────────────╮╭────────── 8 | Displaying Images ──────────╮╭───────────── 9 | Watch Mode ──────────────╮ -││                     ┏━━━━━━━━━━━━━━━━━━━┓ ││ -Deck View││Images       ┃┃ ││Developing a Deck -││                     ┃┃ ││ -         Try pressing d to go into         ││Spiel can      ┃┃ ││Spiel will reload your deck as        -         "deck" view. You can move         ││       display       ┃┃ ││      you edit it to make development       -        between slides in deck view        ││      images...      ┃┃ ││                  easier.                   -      using your arrow keys (right ,      ││       sort of!      ┃┃ ││ -        left , up , and down ).         ││                     ┃┃ ││          The reload is triggered           -││        Spiel        ┃┃ ││       whenever any files under the         -        Press enter or escape to go        ││       includes      ┃┃ ││        path passed to the --watch -        back to "slide" view (this         ││       an Image      ┗━━━━ tree.jpg ━━━━━┛ ││         argument of spiel present -╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯ +╭──────────────── 7 | Views ────────────────╮╭────────── 8 | Displaying Images ──────────╮╭───────────── 9 | Watch Mode ──────────────╮ +┏━━━━━━━━━━━━━━━━━━━┓ +Deck ViewImagesDeveloping a Deck + +Try pressing d to go intoSpiel canSpiel will reload your deck as +"deck" view.You can movedisplayyou edit it to make development +between slides in deck viewimages...easier. +using your arrow keys (right ,sort of! +left , up , and down ).The reload is triggered +Spielwhenever any files under the +Press enter or escape to goincludespath passed to the--watch +back to "slide" view (thisan Image┗━━━━ tree.jpg ━━━━━┛argument of spiel present +╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯ ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -Spiel Demo Deck | Triggers: Reveals                                                                   2022-12-17 03:31 PM   [05 / 11] +Spiel Demo Deck | Triggers: Reveals                                                                  2022-12-17 03:31 PM   [05 / 11] diff --git a/docs/assets/demo.svg b/docs/assets/demo.svg index 2ed0e71..a82284e 100644 --- a/docs/assets/demo.svg +++ b/docs/assets/demo.svg @@ -35,8 +35,8 @@ .spieldocs-r1 { fill: #e1e1e1 } .spieldocs-r2 { fill: #c5c8c6 } .spieldocs-r3 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; } -.spieldocs-r4 { fill: #1984e9 } -.spieldocs-r5 { fill: #fdfdc5 } +.spieldocs-r4 { fill: #608ab1;text-decoration: underline; } +.spieldocs-r5 { fill: #68a0b3;font-weight: bold } .spieldocs-r6 { fill: #939393 } .spieldocs-r7 { fill: #e1e1e1;font-weight: bold } @@ -157,34 +157,34 @@ - + What is Spiel?Why use Spiel? -Spiel is a framework for building and presenting                                     It's fun!                             -       richly-styled presentations in your terminal using                                                                          -                             Python.                                                        It's weird!                            +Spiel is a framework for building and presentingIt's fun! +richly-styled presentations in your terminal using +Python.It's weird! -      Spiel uses Rich to render slide content. Anything you                                  Why not?                              -     can display with Rich, you can display with Spiel (plus                                                                       -                       some other things)!                                             Maybe you shouldn't.                        +Spiel uses Rich to render slide content.Anything youWhy not? +can display with Rich, you can display with Spiel (plus +some other things)!Maybe you shouldn't. -     Use your right  and left  arrows keys to go forwards              Honestly, it's unclear whether it's a good idea.          -      and backwards through the deck. Press ctrl-c to exit.                                                                        -                                                                                    There's always Powerpoint!                     -        Press ? at any time to see the help screen, which                                                                          -       describes all of the built-in actions you can take.                                                                         +Use your right  and left  arrows keys to go forwardsHonestly, it's unclear whether it's a good idea. +and backwards through the deck.Press ctrl-c to exit. +There's always Powerpoint! +Press ? at any time to see the help screen, which +describes all of the built-in actions you can take. ContributingInspirations -              Please report bugs via GitHub Issues.                    Brandon Rhodes' PyCon 2017 and North Bay Python 2017 -                                                                                              talks.                               -      If you have ideas about how Spiel can be improved, or                                                                        -     you have a cool deck to show off, please post to GitHub            David Beazley's Lambda Calculus from the Ground Up -Discussions.                                                tutorial at PyCon 2019.                      +Please report bugs via GitHub Issues.Brandon Rhodes' PyCon 2017 and North Bay Python 2017 +talks. +If you have ideas about how Spiel can be improved,or +you have a cool deck to show off,please post to GitHubDavid Beazley's Lambda Calculus from the Ground Up +Discussions.tutorial at PyCon 2019. -                                                                                  LaTeX's Beamer document class.                   +LaTeX's Beamer document class. @@ -193,7 +193,7 @@ ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -Spiel Demo Deck | What is Spiel?                                                                 2022-12-17 03:31 PM   [01 / 11] +Spiel Demo Deck | What is Spiel?                                                                2022-12-17 03:31 PM   [01 / 11] diff --git a/docs/assets/help.svg b/docs/assets/help.svg index 0efd549..1b502fb 100644 --- a/docs/assets/help.svg +++ b/docs/assets/help.svg @@ -32,8 +32,8 @@ font-family: arial; } - .spieldocs-r1 { fill: #e1e1e1 } -.spieldocs-r2 { fill: #c5c8c6 } + .spieldocs-r1 { fill: #c5c8c6 } +.spieldocs-r2 { fill: #e1e1e1 } .spieldocs-r3 { fill: #e1e1e1;font-style: italic; } .spieldocs-r4 { fill: #e1e1e1;font-weight: bold } .spieldocs-r5 { fill: #939393 } @@ -155,43 +155,43 @@ - + - -               All Views                 - ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓  - ┃ Key            Description          ┃  - ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩  - │ d             │ Go to the Deck view. │  - │ question_mark │ Go to the Help view. │  - │ i             │ Switch to the REPL.  │  - │ p             │ Take a screenshot.   │  - └───────────────┴──────────────────────┘  - - -              Slide View                                       Deck View                           - ┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓  ┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓  - ┃ Key    Description                ┃  ┃ Key           Description                               ┃  - ┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩  ┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩  - │ right │ Go to next slide.          │  │ right        │ Go to next slide.                         │  - │ left  │ Go to previous slide.      │  │ left         │ Go to previous slide.                     │  - │ t     │ Trigger the current slide. │  │ down         │ Go to next row of slides.                 │  - │ r     │ Reset trigger state.       │  │ up           │ Go to previous row of slides.             │  - └───────┴────────────────────────────┘  │ escape,enter │ Go to Slide view with the selected slide. │  - └──────────────┴───────────────────────────────────────────┘  - - -                   Help View                    - ┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓  - ┃ Key           Description                  ┃  - ┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩  - │ escape,enter │ Return to the previous view. │  - └──────────────┴──────────────────────────────┘  - - - -────────────────────────────────────────────────────────────────────────────────────────────────────────────── -Spiel Demo Deck | What is Spiel?                                             2022-12-17 03:31 PM   [01 / 11] + +               All Views                 +┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓ +Key          Description          +┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩ +d            Go to the Deck view. +question_markGo to the Help view. +i            Switch to the REPL.  +p            Take a screenshot.   +└───────────────┴──────────────────────┘ + + +              Slide View                                       Deck View                           +┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Key  Description               Key         Description                               +┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +rightGo to next slide.         right       Go to next slide.                         +left Go to previous slide.     left        Go to previous slide.                     +t    Trigger the current slide.down        Go to next row of slides.                 +r    Reset trigger state.      up          Go to previous row of slides.             +└───────┴────────────────────────────┘escape,enterGo to Slide view with the selected slide. +└──────────────┴───────────────────────────────────────────┘ + + +                   Help View                    +┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Key         Description                  +┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +escape,enterReturn to the previous view. +└──────────────┴──────────────────────────────┘ + + + +────────────────────────────────────────────────────────────────────────────────────────────────────────────── +Spiel Demo Deck | What is Spiel?                                            2022-12-17 03:31 PM   [01 / 11] diff --git a/docs/assets/quickstart_basic.svg b/docs/assets/quickstart_basic.svg index 0003d6a..82e8a13 100644 --- a/docs/assets/quickstart_basic.svg +++ b/docs/assets/quickstart_basic.svg @@ -109,7 +109,7 @@ - + Your content here! @@ -130,7 +130,7 @@ ────────────────────────────────────────────────────────────────────── -Your Deck Name | Slide 1 Title         2022-12-17 03:31 PM   [1 / 1] +Your Deck Name | Slide 1 Title        2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/quickstart_code.svg b/docs/assets/quickstart_code.svg index 5d82451..8878c4c 100644 --- a/docs/assets/quickstart_code.svg +++ b/docs/assets/quickstart_code.svg @@ -35,8 +35,8 @@ .spieldocs-r1 { fill: #e1e1e1 } .spieldocs-r2 { fill: #c5c8c6 } .spieldocs-r3 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; } -.spieldocs-r4 { fill: #fdfdc5 } -.spieldocs-r5 { fill: #1984e9 } +.spieldocs-r4 { fill: #68a0b3;font-weight: bold } +.spieldocs-r5 { fill: #608ab1;text-decoration: underline; } .spieldocs-r6 { fill: #939393 } .spieldocs-r7 { fill: #e3e3dd;font-weight: bold } .spieldocs-r8 { fill: #656660 } @@ -194,53 +194,53 @@ - + Decks are made of Slides -                                                    Here's the code for Deck and Slide!                                                      +Here's the code for Deck and Slide! -                               The source code is pulled directly from the definitions via inspect.getsource.                                +The source code is pulled directly from the definitions via inspect.getsource. -                                          (Rich supports syntax highlighting, so Spiel does too!)                                            +(Rich supports syntax highlighting, so Spiel does too!) -┌────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────────────────────────────────┐ -10 @dataclass││17 @dataclass -11 classDeck(Sequence[Slide]):││18 classSlide: -12 """││19 """ -13     Represents a "deck" of "slides": a presentation.││20     Represents a single slide in the presentation. -14     """││21     """ -15 ││22  -16     name: str││23     title: str ="" -17 """The name of the `Deck`/presentation, which will be dis││24 """The title of the `Slide`, which will be displayed in t -18 ││25  -19     _slides: list[Slide] = field(default_factory=list)││26     content: Content =lambda: Text() -20 ││27 """ -21 defslide(││28     A callable that is invoked by Spiel to display the slide' -22         self,││29  -23         title: str ="",││30     The function may optionally take arguments with these nam -24         bindings: Mapping[str, Callable[...None]] |None=││31  -25     ) -> Callable[[Content], Content]:││32     - `trigger`: The current [`Trigger`][spiel.Triggers] stat -26 """││33     """ -27         A decorator that creates a new slide in the deck,││34  -28         with the decorated function as the `Slide`'s `content││35     bindings: Mapping[str, Callable[...None]] = field(defau -29 ││36  -30         Args:││37 defrender(self, triggers: Triggers) -> RenderableType: -31             title: The title to display for the slide.││38         signature = inspect.signature(self.content) -32             bindings: A mapping of││39  -33                 [keys](https://textual.textualize.io/guide/in││40         kwargs: dict[str, object] = {} -34                 to callables to be executed when those keys a││41 if TRIGGERS in signature.parameters: -35                 when on this slide.││42             kwargs[TRIGGERS] = triggers -36         """││43  -37 ││44 return self.content(**kwargs) -38 defslideify(content: Content) -> Content:│└────────────────────────────────────────────────────────────────────┘ -39             self.add_slides( -40                 Slide( -41                     title=title, -42                     content=content, +┌────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────────────────────────────────┐ +10 @dataclass17 @dataclass +11 classDeck(Sequence[Slide]):18 classSlide: +12 """19 """ +13     Represents a "deck" of "slides": a presentation.20     Represents a single slide in the presentation. +14     """21     """ +15 22  +16 name:str23 title:str="" +17 """The name of the `Deck`/presentation, which will be dis24 """The title of the `Slide`, which will be displayed in t +18 25  +19 _slides:list[Slide]=field(default_factory=list)26 content:Content=lambda:Text() +20 27 """ +21 defslide(28     A callable that is invoked by Spiel to display the slide' +22 self,29  +23 title:str="",30     The function may optionally take arguments with these nam +24 bindings:Mapping[str,Callable[...,None]]|None=31  +25 )->Callable[[Content],Content]:32     - `trigger`: The current [`Trigger`][spiel.Triggers] stat +26 """33     """ +27         A decorator that creates a new slide in the deck,34  +28         with the decorated function as the `Slide`'s `content35 bindings:Mapping[str,Callable[...,None]]=field(defau +29 36  +30         Args:37 defrender(self,triggers:Triggers)->RenderableType: +31             title: The title to display for the slide.38 signature=inspect.signature(self.content) +32             bindings: A mapping of39  +33                 [keys](https://textual.textualize.io/guide/in40 kwargs:dict[str,object]={} +34                 to callables to be executed when those keys a41 ifTRIGGERSinsignature.parameters: +35                 when on this slide.42 kwargs[TRIGGERS]=triggers +36         """43  +37 44 returnself.content(**kwargs) +38 defslideify(content:Content)->Content:└────────────────────────────────────────────────────────────────────┘ +39 self.add_slides( +40 Slide( +41 title=title, +42 content=content, ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -Spiel Demo Deck | Decks and Slides                                                                        2022-12-17 03:31 PM   [02 / 11] +Spiel Demo Deck | Decks and Slides                                                                       2022-12-17 03:31 PM   [02 / 11] diff --git a/docs/assets/slide_loop_1.svg b/docs/assets/slide_loop_1.svg index ff898d1..e3e9d6e 100644 --- a/docs/assets/slide_loop_1.svg +++ b/docs/assets/slide_loop_1.svg @@ -95,7 +95,7 @@ - + @@ -111,7 +111,7 @@ ──────────────────────────────────────────────────────────── -Deck Name | First Slide      2022-12-17 03:31 PM   [1 / 3] +Deck Name | First Slide     2022-12-17 03:31 PM   [1 / 3] diff --git a/docs/assets/slide_loop_2.svg b/docs/assets/slide_loop_2.svg index 688f1e1..30964e7 100644 --- a/docs/assets/slide_loop_2.svg +++ b/docs/assets/slide_loop_2.svg @@ -95,7 +95,7 @@ - + @@ -111,7 +111,7 @@ ──────────────────────────────────────────────────────────── -Deck Name | Second Slide     2022-12-17 03:31 PM   [2 / 3] +Deck Name | Second Slide    2022-12-17 03:31 PM   [2 / 3] diff --git a/docs/assets/slide_loop_3.svg b/docs/assets/slide_loop_3.svg index f383791..6e2607c 100644 --- a/docs/assets/slide_loop_3.svg +++ b/docs/assets/slide_loop_3.svg @@ -95,7 +95,7 @@ - + @@ -111,7 +111,7 @@ ──────────────────────────────────────────────────────────── -Deck Name | Third Slide      2022-12-17 03:31 PM   [3 / 3] +Deck Name | Third Slide     2022-12-17 03:31 PM   [3 / 3] diff --git a/docs/assets/slide_via_decorator.svg b/docs/assets/slide_via_decorator.svg index 66b3f0b..1a6b2f4 100644 --- a/docs/assets/slide_via_decorator.svg +++ b/docs/assets/slide_via_decorator.svg @@ -97,7 +97,7 @@ - + @@ -105,7 +105,7 @@ -Yourcontenthere!                      +Yourcontenthere! @@ -113,7 +113,7 @@ ──────────────────────────────────────────────────────────── -Deck Name | Slide Title      2022-12-17 03:31 PM   [1 / 1] +Deck Name | Slide Title     2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_animation_1.svg b/docs/assets/triggers_animation_1.svg index fbef508..7b0d60c 100644 --- a/docs/assets/triggers_animation_1.svg +++ b/docs/assets/triggers_animation_1.svg @@ -94,23 +94,23 @@ - + -              spaces_before_bang=0 | spaces_after_bang=5               -                              ╭────────╮                               -                              │ !      │                               -                              ╰────────╯                               +spaces_before_bang=0 | spaces_after_bang=5 +╭────────╮ +!      +╰────────╯ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Animating Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Animating Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_animation_2.svg b/docs/assets/triggers_animation_2.svg index d93f615..792f8a7 100644 --- a/docs/assets/triggers_animation_2.svg +++ b/docs/assets/triggers_animation_2.svg @@ -94,23 +94,23 @@ - + -              spaces_before_bang=1 | spaces_after_bang=4               -                              ╭────────╮                               -                              │  !     │                               -                              ╰────────╯                               +spaces_before_bang=1 | spaces_after_bang=4 +╭────────╮ + !     +╰────────╯ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Animating Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Animating Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_animation_3.svg b/docs/assets/triggers_animation_3.svg index fc0c85d..1e39cd7 100644 --- a/docs/assets/triggers_animation_3.svg +++ b/docs/assets/triggers_animation_3.svg @@ -94,23 +94,23 @@ - + -              spaces_before_bang=3 | spaces_after_bang=2               -                              ╭────────╮                               -                              │    !   │                               -                              ╰────────╯                               +spaces_before_bang=3 | spaces_after_bang=2 +╭────────╮ +   !   +╰────────╯ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Animating Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Animating Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_animation_4.svg b/docs/assets/triggers_animation_4.svg index 82862b9..176a730 100644 --- a/docs/assets/triggers_animation_4.svg +++ b/docs/assets/triggers_animation_4.svg @@ -94,23 +94,23 @@ - + -              spaces_before_bang=5 | spaces_after_bang=0               -                              ╭────────╮                               -                              │      ! │                               -                              ╰────────╯                               +spaces_before_bang=5 | spaces_after_bang=0 +╭────────╮ +     ! +╰────────╯ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Animating Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Animating Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_reveal_1.svg b/docs/assets/triggers_reveal_1.svg index 09152aa..0c31c4e 100644 --- a/docs/assets/triggers_reveal_1.svg +++ b/docs/assets/triggers_reveal_1.svg @@ -96,9 +96,9 @@ - + -                 This slide has been triggered 1 time.                  + This slide has been triggered 1 time. First line. @@ -112,7 +112,7 @@ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Revealing Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Revealing Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_reveal_2.svg b/docs/assets/triggers_reveal_2.svg index d232d89..d4178b5 100644 --- a/docs/assets/triggers_reveal_2.svg +++ b/docs/assets/triggers_reveal_2.svg @@ -97,9 +97,9 @@ - + -                 This slide has been triggered 2 times.                 + This slide has been triggered 2 times. First line. @@ -113,7 +113,7 @@ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Revealing Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Revealing Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/assets/triggers_reveal_3.svg b/docs/assets/triggers_reveal_3.svg index 6e904ad..cae0381 100644 --- a/docs/assets/triggers_reveal_3.svg +++ b/docs/assets/triggers_reveal_3.svg @@ -98,9 +98,9 @@ - + -                 This slide has been triggered 3 times.                 + This slide has been triggered 3 times. First line. @@ -114,7 +114,7 @@ ────────────────────────────────────────────────────────────────────── -Trigger Examples | Revealing Content   2022-12-17 03:31 PM   [1 / 1] +Trigger Examples | Revealing Content  2022-12-17 03:31 PM   [1 / 1] diff --git a/docs/changelog.md b/docs/changelog.md index a7337db..e3cc6f5 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,6 +4,14 @@ *Unreleased* +## `0.4.6` + +Released `2023-01-19` + +### Changed + +- [#208](https://github.com/JoshKarpel/spiel/pull/208) Unpinned `textual==0.4.0` and allowed `textual>=0.10.0`, which includes [textual#1558](https://github.com/Textualize/textual/pull/1558). + ## `0.4.5` Released `2023-01-16` diff --git a/docs/generate_screenshots.py b/docs/generate_screenshots.py index 50beba4..96a40c2 100755 --- a/docs/generate_screenshots.py +++ b/docs/generate_screenshots.py @@ -44,7 +44,7 @@ def take_reproducible_screenshot(app: App[object]) -> str: return console.export_svg(title=app.title, unique_id="spieldocs") -async def auto_pilot(pilot: Pilot, name: str, keys: Iterable[str]) -> None: +async def auto_pilot(pilot: Pilot[object], name: str, keys: Iterable[str]) -> None: await pilot.press(*intersperse("wait:50", keys), "wait:100") (ASSETS_DIR / name).with_suffix(".svg").write_text(take_reproducible_screenshot(pilot.app)) diff --git a/poetry.lock b/poetry.lock index bba1da6..7ecc0ab 100644 --- a/poetry.lock +++ b/poetry.lock @@ -242,21 +242,6 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[[package]] -name = "commonmark" -version = "0.9.1" -description = "Python parser for the CommonMark Markdown spec" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, - {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, -] - -[package.extras] -test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] - [[package]] name = "coverage" version = "7.0.5" @@ -486,14 +471,14 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "griffe" -version = "0.25.3" +version = "0.25.4" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "griffe-0.25.3-py3-none-any.whl", hash = "sha256:c98e8471a4fc7675a7989f45563a9f7ccbfdfb1713725526d69dec1bbdcda74a"}, - {file = "griffe-0.25.3.tar.gz", hash = "sha256:a71f156851649b3f0bdad6eb6bf7d7ac70e720a30da9f2d5a60e042480e92c03"}, + {file = "griffe-0.25.4-py3-none-any.whl", hash = "sha256:919f935a358b31074d16e324e26b041883c60a8cf10504655e394afc3a7caad8"}, + {file = "griffe-0.25.4.tar.gz", hash = "sha256:f190edf8ef58d43c856d2d6761ec324a043ff60deb8c14359263571e8b91fe68"}, ] [package.dependencies] @@ -627,54 +612,101 @@ files = [ [package.extras] testing = ["coverage", "pyyaml"] +[[package]] +name = "markdown-it-py" +version = "2.1.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "markdown-it-py-2.1.0.tar.gz", hash = "sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da"}, + {file = "markdown_it_py-2.1.0-py3-none-any.whl", hash = "sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark (>=3.2,<4.0)"] +code-style = ["pre-commit (==2.6)"] +compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.3.6,<3.4.0)", "mistletoe (>=0.8.1,<0.9.0)", "mistune (>=2.0.2,<2.1.0)", "panflute (>=2.1.3,<2.2.0)"] +linkify = ["linkify-it-py (>=1.0,<2.0)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" -version = "2.1.1" +version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, - {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, + {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] [[package]] @@ -735,14 +767,14 @@ mkdocs = ">=1.1" [[package]] name = "mkdocs-material" -version = "9.0.5" +version = "9.0.6" description = "Documentation that simply works" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocs_material-9.0.5-py3-none-any.whl", hash = "sha256:53194bf8ae7dfb527fef2892a6ee291d3efc7b57d010b04dbb818b4ee88074a5"}, - {file = "mkdocs_material-9.0.5.tar.gz", hash = "sha256:bbfed71788223b4c548a6e637cb7a9ee5b6ad6593c6d5b04e57c9c4d2c39d76b"}, + {file = "mkdocs_material-9.0.6-py3-none-any.whl", hash = "sha256:4a71195ddc100dddf07d4b23b53373f36c5f0f1010fa4ea301ca7a8e949dd9e7"}, + {file = "mkdocs_material-9.0.6.tar.gz", hash = "sha256:6065b573e38746dc267d7fc84252be31b73da955b2ce553687806b6030e51ee0"}, ] [package.dependencies] @@ -770,14 +802,14 @@ files = [ [[package]] name = "mkdocstrings" -version = "0.19.1" +version = "0.20.0" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocstrings-0.19.1-py3-none-any.whl", hash = "sha256:32a38d88f67f65b264184ea71290f9332db750d189dea4200cbbe408d304c261"}, - {file = "mkdocstrings-0.19.1.tar.gz", hash = "sha256:d1037cacb4b522c1e8c164ed5d00d724a82e49dcee0af80db8fb67b384faeef9"}, + {file = "mkdocstrings-0.20.0-py3-none-any.whl", hash = "sha256:f17fc2c4f760ec302b069075ef9e31045aa6372ca91d2f35ded3adba8e25a472"}, + {file = "mkdocstrings-0.20.0.tar.gz", hash = "sha256:c757f4f646d4f939491d6bc9256bfe33e36c5f8026392f49eaa351d241c838e5"}, ] [package.dependencies] @@ -1552,18 +1584,18 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "12.6.0" +version = "13.2.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "main" optional = false -python-versions = ">=3.6.3,<4.0.0" +python-versions = ">=3.7.0" files = [ - {file = "rich-12.6.0-py3-none-any.whl", hash = "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e"}, - {file = "rich-12.6.0.tar.gz", hash = "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0"}, + {file = "rich-13.2.0-py3-none-any.whl", hash = "sha256:7c963f0d03819221e9ac561e1bc866e3f95a02248c1234daa48954e6d381c003"}, + {file = "rich-13.2.0.tar.gz", hash = "sha256:f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5"}, ] [package.dependencies] -commonmark = ">=0.9.0,<0.10.0" +markdown-it-py = ">=2.1.0,<3.0.0" pygments = ">=2.6.0,<3.0.0" [package.extras] @@ -1624,14 +1656,14 @@ files = [ [[package]] name = "textual" -version = "0.4.0" +version = "0.10.0" description = "Modern Text User Interface framework" category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "textual-0.4.0-py3-none-any.whl", hash = "sha256:10aac2d244ef4a5aef89a38f9088382a5ce6914cec953d40a9527d729c300f53"}, - {file = "textual-0.4.0.tar.gz", hash = "sha256:53c836c978a8d8460efc4f097fc4748a3d68060b4c77d8fa80fdf6cca9a8198c"}, + {file = "textual-0.10.0-py3-none-any.whl", hash = "sha256:d4c9215595d348bb35f27e9865572cd64c3d15448ff4578a33038c94e3fe6761"}, + {file = "textual-0.10.0.tar.gz", hash = "sha256:7b4e7fdc67e9101b6c9799be3f400d6812ebffc2fa760fe50b08450fbcc75bfe"}, ] [package.dependencies] @@ -1640,7 +1672,7 @@ click = {version = ">=8.1.2", optional = true, markers = "extra == \"dev\""} importlib-metadata = ">=4.11.3,<5.0.0" msgpack = {version = ">=1.0.3", optional = true, markers = "extra == \"dev\""} nanoid = ">=2.0.0" -rich = ">=12.6.0,<13.0.0" +rich = ">12.6.0" [package.extras] dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"] @@ -1907,4 +1939,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools" [metadata] lock-version = "2.0" python-versions = ">=3.10,<4" -content-hash = "32aa9da5bad39b65c0fed5734eeb75bc169becc660517755faa80bc6c88f4d9a" +content-hash = "4042da5d4785d3b5d52ce5e870731325d0c8e0ddebe43fad297c37cfdeb196d6" diff --git a/pyproject.toml b/pyproject.toml index 637b345..c3f72a2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "spiel" -version = "0.4.5" +version = "0.4.6" description = "A framework for building and presenting richly-styled presentations in your terminal using Python." readme="README.md" homepage="https://github.com/JoshKarpel/spiel" @@ -39,10 +39,10 @@ include = ["py.typed", "demo/*", "spiel.css"] [tool.poetry.dependencies] python = ">=3.10,<4" -rich = ">=12" +rich = ">=13.2" typer = ">=0.6" pillow = ">=8" -textual = "==0.4.0" +textual = ">=0.10.0" watchfiles = ">=0.18" more-itertools = ">=9" @@ -55,7 +55,7 @@ mypy = ">=0.991" pytest-mypy = ">=0.10" pytest-mock = ">=3" hypothesis = ">=6" -textual = {extras = ["dev"], version = "==0.4.0"} +textual = {extras = ["dev"], version = ">=0.10.0"} mkdocs = ">=1.4" mkdocs-material = ">=9" mkdocstrings = {extras = ["python"], version = ">=0.19.0"}