Present - A terminal-based presentation tool with colors and effects.

Related tags

CLI Tools present
Overview

present

Documentation Status image image image Run on Repl.it

A terminal-based presentation tool with colors and effects.

You can also play a codio (pre-recorded code block) on a slide.

present is built on asciimatics, and it works with Python>=3.7.

Check out the gallery to see what everyone is making with present! You can add your slides by simply opening an issue.

Installation

You can simply use pip to install present:

$ pip install present

Usage

$ present sample.md

Some controls:

  • Quit: q
  • Previous slide: b, Left arrow, Page Up
  • Next slide: n, Space bar, Right arrow, Page Down

At the end, you can press r to restart the presentation.

Syntax

Slides follow Markdown syntax. You can check out the sample slides for reference.

Note: Some things aren't supported yet:

  • Effects and colors on the same slide.
  • Effects and code on the same slide.

Separator

Each slide can be separated with a ---.

Slide 1

---

Slide 2

Headers

Level 1 headings become figlets, level 2 headings get underlined with -, and level 3 headings become bold.

# Heading 1

## Heading 2

### Heading 3

Text

This is normal text

This is **bold text**

This is `inline code`

This is a [link](www.google.com)

As Kanye West said:

> We're living the future so
> the present is our past.

Lists

Ordered lists become unordered lists automatically.

- Item 1
    - Item 1a
    - Item 1b
    - Item 1c
- Item 2
    - Item 2a

Images

Image paths are relative to the directory where your slides are kept, and where you invoke present.

![RC](images/recurse.png)

Note: You can use high resolution images and tweak the terminal font size to get the best results.

Code blocks

```
import os

os.getcwd()
```

Codios

Codios are pre-recorded playable code blocks which can be useful for live demos. You can find out how to write one in the codio section of the documentation.

![codio](codio.yml)

Style

Each slide can be styled with foreground / background colors and effects. By default, slides are black on white with no effects. You can add style to a slide by adding a comment at the beginning of the slide (after the slide separator):

Slide 1

---


Slide 2

---


Slide 3

Colors: black, red, green, yellow, blue, magenta, cyan, white.

Effects: fireworks, explosions, stars, matrix, plasma. More coming soon!

Contributing

The Contributor's Guide has detailed information about contributing issues, documentation, code, and tests.

Versioning

present uses Semantic Versioning. For the available versions, see the tags on the GitHub repository.

License

This project is licensed under the Apache License, see the LICENSE file for details.

Comments
  • Support PageUp/Down for switching slides

    Support PageUp/Down for switching slides

    A remote pres controller

    Most remote presentation controllers use PageUp and PageDown to trigger slide changes.

    It should be easy to add support for those keys to switch slides in Present, and claim basic compatibility with those devices!

    enhancement 
    opened by GitSquared 9
  • Error in running it

    Error in running it

    When I am trying to use this package in Mac OS, Its showing this error:

    Traceback (most recent call last):
                                        File "/Users/vasudevgupta/miniconda3/envs/insights/bin/present", line 8, in <module>
                                                                                                                                sys.exit(cli())
                                                                                                                                                 File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/click/core.py", line 829, in __call__
                                                                                       return self.main(*args, **kwargs)
                                                                                                                          File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/click/core.py", line 782, in main
                                                            rv = self.invoke(ctx)
                                                                                   File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
                        return ctx.invoke(self.callback, **ctx.params)
                                                                        File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/click/core.py", line 610, in invoke
            return callback(*args, **kwargs)
                                              File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/present/cli.py", line 20, in cli
                                                                                                                                                                 with Slideshow(slides) as show:
                File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/present/slideshow.py", line 90, in __enter__
                                                                                                                                               self.screen = Screen.open()
                                                                                                                                                                            File "/Users/vasudevgupta/miniconda3/envs/insights/lib/python3.7/site-packages/asciimatics/screen.py", line 1294, in open
                                                                                                                       curses.cbreak()
                                                                                                                                      _curses.error: cbreak() returned ERR
    

    What can be the possible reason??

    Thanks

    question 
    opened by thevasudevgupta 7
  • Error with code blocks

    Error with code blocks

    Thank you for this fun and interesting project.

    I'm hitting an error when using inline code:

    Hello `World`
    

    leads to

    Traceback (most recent call last):
      File "/home/clemisch/.local/lib/python3.6/site-packages/present/markdown.py", line 242, in parse
        Element = eval(element_name)
      File "<string>", line 1, in <module>
    NameError: name 'Codespan' is not defined
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/clemisch/.local/bin/present", line 8, in <module>
        sys.exit(cli())
      File "/home/clemisch/.local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
        return self.main(*args, **kwargs)
      File "/home/clemisch/.local/lib/python3.6/site-packages/click/core.py", line 717, in main
        rv = self.invoke(ctx)
      File "/home/clemisch/.local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/home/clemisch/.local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
        return callback(*args, **kwargs)
      File "/home/clemisch/.local/lib/python3.6/site-packages/present/cli.py", line 18, in cli
        slides = markdown.parse(f.read())
      File "/home/clemisch/.local/lib/python3.6/site-packages/present/markdown.py", line 245, in parse
        f"(Slide {sliden + 1}) {element_name} is not supported"
    ValueError: (Slide 1) Codespan is not supported
    
    opened by clemisch 7
  • Trustless Bridges Presentation

    Trustless Bridges Presentation

    Hi! I recently made a presentation using present and figured it would be nice to get it added to the gallery. The presentation is about trustless blockchain bridges built using the Substrate blockchain building framework. Bridges are a way to connect different blockchains without a trusted central party. The slides can be found here.

    I had a lot of fun making the slides with present - will definitely be using it again in the future!

    Screen-Recording-2020-09-08-at-8

    made-with-present 
    opened by HCastano 5
  • UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 32: illegal multibyte sequence

    UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 32: illegal multibyte sequence

    D:\python\docs\report>present navicat.md Traceback (most recent call last): File "c:\users\administrator\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\administrator\appdata\local\programs\python\python38\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\present.exe_main.py", line 7, in File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\click\core.py", line 829, in call return self.main(*args, **kwargs) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\present\cli.py", line 18, in cli slides = markdown.parse(f.read()) UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 32: illegal multibyte sequence

    bug 
    opened by llvvrui 4
  • Tries to use python3.7 when python3.8 is installed

    Tries to use python3.7 when python3.8 is installed

    I have python 3.8.5 installed on macOS Mojave, it looks like present is trying to use the python 3.7 interpreter even though it isn't present.

    ➜  python --version
    Python 3.8.5
    ➜  pip3 install present
    Collecting present
      Using cached present-0.5.0-py3-none-any.whl (15 kB)
    Requirement already satisfied: pyfiglet>=0.8.post1 in /usr/local/lib/python3.8/site-packages (from present) (0.8.post1)
    Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.7/site-packages (from present) (5.3.1)
    Requirement already satisfied: asciimatics>=1.11.0 in /usr/local/lib/python3.8/site-packages (from present) (1.11.0)
    Requirement already satisfied: Click>=7.0 in /usr/local/lib/python3.7/site-packages (from present) (7.1.1)
    Requirement already satisfied: mistune>=2.0.0a4 in /usr/local/lib/python3.8/site-packages (from present) (2.0.0a4)
    Requirement already satisfied: future in /usr/local/lib/python3.7/site-packages (from asciimatics>=1.11.0->present) (0.18.2)
    Requirement already satisfied: Pillow>=2.7.0 in /usr/local/lib/python3.7/site-packages (from asciimatics>=1.11.0->present) (7.0.0)
    Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/site-packages (from asciimatics>=1.11.0->present) (0.1.8)
    Installing collected packages: present
    Successfully installed present-0.5.0
    ➜  present sample.md
    zsh: /usr/local/bin/present: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory
    ➜  ls /usr/local/opt/python/bin | grep python3
    python3
    python3-config
    python3.8
    python3.8-config
    
    bug 
    opened by rocketeeer 4
  • some kind of crash in current version

    some kind of crash in current version

    Some kind of crash. just installed, but I can't get it to run.

    $ present
    'Traceback (most recent call last):
      File "/usr/local/bin/present", line 6, in <module>
        from present.cli import cli
      File "/usr/local/lib/python2.7/dist-packages/present/cli.py", line 6, in <module>
        from .slideshow import Slideshow
      File "/usr/local/lib/python2.7/dist-packages/present/slideshow.py", line 105
        _effect = eval(f"_{slide.effect}")(self.screen)
                                        ^
    SyntaxError: invalid syntax
    

    i also tried with a test.md file

    Environment

    • OS: [debian ]
    • Terminal emulator: [ guake]
    • Python version: [. 3.7.3]

    Additional context installed with sudo pip install present

    bug 
    opened by kanliot 3
  • Using markdown comments throws NotImplementedError

    Using markdown comments throws NotImplementedError

    Describe the bug Using markdown comment throws NotImplementedError. I suspect this is due to the present using these comments as part of it's syntax (for effects and coloring).

    To Reproduce Add a markdown comment (<!-- comment text here -->) to slides file.

    Expected behavior Either not throwing an NotImplementedError exception or throwing a more descriptive one (e.g. informing that comments not being supported).

    Slides

    # Markdown Comments Test
    
    Text before comment.
    
    <!-- A markdown comment. -->
    
    Text after comment.
    

    Environment

    • OS: Ubuntu 20.04.1 LTS
    • Terminal emulator: kitty
    • Python version: 3.8.2
    • present version: 0.5.1

    Additional context A solution for this could be differentiating between a regular comment and present syntax. For example <!-- effect=explosions --> could be a regular comment and <!-- [present] effect=explosions --> could be present syntax.

    bug 
    opened by TymekDev 2
  • First presentation slide using codio

    First presentation slide using codio

    I teach coding at a middle school. I made this welcome slide for students to see as they join our zoom class.

    Welcome

    Slide markdown and text of .yml file below.


    <!-- fg=green bg=black -->
    # Welcome to Coding
    ![codio](start_class.yml)
    

    speed: 6
    lines:
    - prompt: Mr.H $
      in: pwd
      color: green
    - out: '    home'
      color: green
      bold: True
    - prompt: Mr.H $
      in: cd DATA/coding/
      color: green
    - out: '    cwd = DATA/coding/'
      color: green
      bold: True
    - prompt: Mr.H $
      in: run --start_class
      color: green
    - out: '    Please Login to Canvas'
      color: green
      bold: True
    - out: '    Students are logging in'
      color: green
      bold: True
    - progress: true
      progressChar: █
    
    made-with-present 
    opened by rhelmstedter 2
  • Windows Support

    Windows Support

    >present sample.md
    Traceback (most recent call last):
      File "c:\python38\lib\runpy.py", line 194, in _run_module_as_main      
        return _run_code(code, main_globals, None,
      File "c:\python38\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "C:\Python38\Scripts\present.exe\__main__.py", line 4, in <module>
      File "c:\python38\lib\site-packages\present\cli.py", line 6, in <module>
        from .slideshow import Slideshow
      File "c:\python38\lib\site-packages\present\slideshow.py", line 8, in <module>
        from asciimatics.screen import Screen, _CursesScreen
    ImportError: cannot import name '_CursesScreen' from 'asciimatics.screen' (c:\python38\lib\site-packages\asciimatics\screen.py)
    

    _CursesScreen is only UNIX-compatible. asciimatics also provides the use of _WindowsScreen class can be used instead for Windows-based systems.

    Python's native curses doesn't directly support Windows. We can use this port instead https://pypi.org/project/windows-curses/ for Windows-based systems.

    This allows present to run on Windows!

    bug 
    opened by roopeshvs 2
  • pip3 install present should install all dependencies

    pip3 install present should install all dependencies

    first issue - ModuleNotFoundError: No module named 'dataclasses'

    $ pip3 install present 
    $ present sample.md 
    Traceback (most recent call last):
      File "/home/user/.local/bin/present", line 7, in <module>
        from present.cli import cli
      File "/home/user/.local/lib/python3.6/site-packages/present/cli.py", line 7, in <module>
        from .markdown import Markdown
      File "/home/user/.local/lib/python3.6/site-packages/present/markdown.py", line 6, in <module>
        from dataclasses import dataclass
    ModuleNotFoundError: No module named 'dataclasses'
    

    resolved, obviously with: pip3 install dataclasses, however shouldn't this be listed in the README as a dependency or automatically installed with requirements.txt or some such?

    second issue - ValueError: (Slide 4) BlockQuote is not supported

    $ present sample.md 
    Traceback (most recent call last):
      File "/home/user/.local/lib/python3.6/site-packages/present/markdown.py", line 251, in parse
        Element = eval(element_name)
      File "<string>", line 1, in <module>
    NameError: name 'BlockQuote' is not defined
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/user/.local/bin/present", line 11, in <module>
        sys.exit(cli())
      File "/home/user/.local/lib/python3.6/site-packages/click/core.py", line 829, in __call__
        return self.main(*args, **kwargs)
      File "/home/user/.local/lib/python3.6/site-packages/click/core.py", line 782, in main
        rv = self.invoke(ctx)
      File "/home/user/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/home/user/.local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
        return callback(*args, **kwargs)
      File "/home/user/.local/lib/python3.6/site-packages/present/cli.py", line 18, in cli
        slides = markdown.parse(f.read())
      File "/home/user/.local/lib/python3.6/site-packages/present/markdown.py", line 254, in parse
        f"(Slide {sliden + 1}) {element_name} is not supported"
    ValueError: (Slide 4) BlockQuote is not supported
    
    opened by casutherland 2
  • [MRG] Implements start from slide feature

    [MRG] Implements start from slide feature

    Implements #98 and allows presentation to be started from any slide

    For example,

    present --start 3 examples/sample.md
    

    starts the presentation from the 4th slide onwards

    CLI option naming and whether to use 0-based or 1-based indexing is up to the maintainers.

    opened by aditya95sriram 1
  • Add Math Support

    Add Math Support

    I think it would be very useful to add basic support for latex math symbols (e.g., greek letters).

    jb-leger/flatlatex is a python converter from LaTeX math to human readable text math using unicode characters, which may be usable for this purpose.

    opened by coijanovic 0
  • Error: 'InlineHtml' is not defined. Fresh install of present, unable to get it working with sample.md

    Error: 'InlineHtml' is not defined. Fresh install of present, unable to get it working with sample.md

    Describe the bug After installation, I receive the following error when attempting to perform present sample.md.

    Traceback (most recent call last):
      File "/opt/homebrew/bin/present", line 8, in <module>
        sys.exit(cli())
      File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 829, in __call__
        return self.main(*args, **kwargs)
      File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 782, in main
        rv = self.invoke(ctx)
      File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 610, in invoke
        return callback(*args, **kwargs)
      File "/opt/homebrew/lib/python3.9/site-packages/present/cli.py", line 18, in cli
        show.play()
      File "/opt/homebrew/lib/python3.9/site-packages/present/slideshow.py", line 145, in play
        self.slides = [
      File "/opt/homebrew/lib/python3.9/site-packages/present/slideshow.py", line 146, in <listcomp>
        Slide(self, self.get_effects(slide), slide.fg_color, slide.bg_color)
      File "/opt/homebrew/lib/python3.9/site-packages/present/slideshow.py", line 124, in get_effects
        effects.extend(_base(self.screen, e, row, fg_color, bg_color))
      File "/opt/homebrew/lib/python3.9/site-packages/present/effects.py", line 130, in _base
        Text(element.render()),
      File "/opt/homebrew/lib/python3.9/site-packages/present/slide.py", line 367, in render
        Element = eval(element_name)
      File "<string>", line 1, in <module>
    NameError: name 'InlineHtml' is not defined
    

    I am unable to use the present command on any markdown file, as I get the same error every time.

    Steps to reproduce the bug Steps used to install present:

    1. pip install present seemed to work with no issues

    Steps to reproduce the behavior:

    1. On a MacOS, simply use pip install present, then git clone <repo> and cd /examples, then run present sample.md.
    2. It does not work, and results in the error listed above

    Expected behavior Well, hopefully the default slideshow should run. I'm thinking there is some dependency that is not installed? But I cannot figure out what it is--I am new to python, I apologize.

    Slides I am using the included sample.md file.

    Environment

    • OS: MacOS
    • Terminal: iTerm2
    • Python version: 3.9.9
    • present version: the latest (installed today). I cannot find specific version number as present --version is not an option. Sorry!
    bug 
    opened by dsarathy 0
  • [MRG] Add syntax highlighting to code blocks

    [MRG] Add syntax highlighting to code blocks

    Description

    This PR adds support for syntax highlighting on code blocks using pygments.

    Related issues

    • #101
    • #109

    Screenshots

    Based on this markdown:

    ## Code blocks
    
    ```python
    print("This is a test")
    ```
    
    Foo
    
    ```js
    const myFunc = (name, num) => {
      return [name, num + 4]
    }
    
    console.log(`Data is ${myFunc('John')[0]}`);
    ```
    
    ---
    

    Here is a screenshot of the current output:

    image

    With asciimatics version 1.13.1.dev38+g1fde70e, the bug relating to parenthesis rendering is fixed:

    image

    Next steps

    Here are the next steps just for this PR. I'm not planning on adding support for changing the styling theme - that can come later. I'm planning on refactoring and cleaning up, but feel free to offer any other suggestions.

    • [x] Ensure whitespace has background to match rest of block
    • [x] Stop code from being visually truncated
    • [x] Pad the block with a border of dark background squares
    • [x] Make sure multiple blocks can be rendered on same slide
    • [ ] Update docs/_static/demo.gif to show the new highlighting feature
    • [ ] Update asciimatics version to get bugfix when possible
    opened by bkjohnson 2
  • Add tables support

    Add tables support

    Describe the bug

    It could be good to add tables support.

    Steps to reproduce the bug

    Any presentation with the table:

    
    # A table
    
    | aaaaa | e |  |
    |:-:|-:|-|
    | ee | bbbbb |  |
    | ff | d | cccc |
    

    Expected behavior

    A table

    | aaaaa | e | | |:-:|-:|-| | ee | bbbbb | | | ff | d | cccc |

    bug 
    opened by mdtrooper 3
  • codios with speed 10 fails to clear screen

    codios with speed 10 fails to clear screen

    Describe the bug If you set a codios slide to speed 10, when you go to the next slide, the codios output remains visible.

    Steps to reproduce the bug Steps used to install present:

    1. pip install present

    Steps to reproduce the behavior:

    1. modify a codios example and set speed to 10. E.g.,
    ❯ git diff 
    diff --git a/docs/gallery/back-to-school/codios/async.yml b/docs/gallery/back-to-school/codios/async.yml
    index 10721e0..de42078 100644
    --- a/docs/gallery/back-to-school/codios/async.yml
    +++ b/docs/gallery/back-to-school/codios/async.yml
    @@ -1,4 +1,4 @@
    -speed: 8
    +speed: 10
     lines:
     - prompt: $
       in: project creation using
    

    Expected behavior You would expect that moving to the next slide, the previous codio slide would no longer be visible.

    Screenshots end of codios slide: image

    following slide (artifacts of codios slide still present)

    image

    How it should look: image

    Environment

    • OS: [ubuntu 18.04]
    • Terminal emulator: [Konsole]
    • Python version: [3.7.9]
    • present version: [e.g. 0.6.0]
    bug 
    opened by rdenham 0
Owner
Vinayak Mehta
Working on open source tools
Vinayak Mehta
Command-line tool for looking up colors and palettes.

Colorpedia Colorpedia is a command-line tool for looking up colors, shades and palettes. Supported color models: HEX, RGB, HSL, HSV, CMYK. Requirement

Joohwan Oh 282 Dec 27, 2022
DShell, a tool that combines with discord.py and Jishaku to present to you, shell channels.

Discord shell or dshell for short is a Python package that combines with discord.py and Jishaku to transform an ordinary Discord channel into one capable of running bash commands using a Discord bot.

null 11 Nov 15, 2022
Command line tool to automate transforming the effects of one color profile to another, possibly more standard one.

Finished rendering the frames of that animation, and now the colors look washed out and ugly? This terminal program will solve exactly that.

Eric Xue 1 Jan 26, 2022
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 3, 2023
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie

HTTPie: human-friendly CLI HTTP client for the API era HTTPie (pronounced aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI in

HTTPie 25.4k Dec 30, 2022
PyDropper - pick colors everywhere

PyDropper - pick colors everywhere Downloads Settings PyDropper is an eyedropper

Herman Brunberg 2 Jan 4, 2022
CLabel is a terminal-based cluster labeling tool that allows you to explore text data interactively and label clusters based on reviewing that data.

CLabel is a terminal-based cluster labeling tool that allows you to explore text data interactively and label clusters based on reviewing that

Peter Baumgartner 29 Aug 9, 2022
AlienFX is a CLI and GUI utility to control the lighting effects of your Alienware computer.

AlienFX is a Linux utility to control the lighting effects of your Alienware computer. At present there is a CLI version (alienfx) and a gtk GUI versi

Stephen Harris 218 Dec 26, 2022
A Tempmail Tool for Terminal and Termux.

A Tempmail Tool for Terminal and Termux.

MAO-COMMUNITY 8 Oct 19, 2022
Python commandline tool for remembering linux/terminal commands

ehh Remember linux commands Commandline tool for remembering linux/terminal commands. It stores your favorite commands in ~/ehh.json in your homedir a

null 56 Nov 10, 2022
This a simple tool to query the awesome ippsec.rocks website from your terminal

ippsec-cli This a simple tool to query the awesome ippsec.rocks website from your terminal Installation and usage cd /opt git clone https://github.com

stark0de 5 Nov 26, 2022
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

Zachary 1 Apr 9, 2022
Bear-Shell is a shell based in the terminal or command prompt.

Bear-Shell is a shell based in the terminal or command prompt. You can navigate files, run python files, create files via the BearUtils text editor, and a lot more coming up!

MichaelBear 6 Dec 25, 2021
Bear-Shell is a shell based in the terminal or command prompt.

Bear-Shell is a shell based in the terminal or command prompt. You can navigate files, run python files, create files via the BearUtils text editor, and a lot more coming up!

MichaelBear 6 Dec 25, 2021
Terminal-based keyboard testing

kbdtest kbdtest is a simple Python program that tests keyboard input using an interactive, terminal-based, visual keyboard display. It was originally

Ruunyox 12 Jul 19, 2022
jenkins-tui is a terminal based user interface for Jenkins.

jenkins-tui ?? jenkins-tui is a terminal based user interface for Jenkins. ?? ⚠️ This app is a prototype and in very early stages of development. Ther

Craig Gumbley 22 Oct 24, 2022
term2048 is a terminal-based version of 2048.

term2048 is a terminal-based version of 2048.

Baptiste Fontaine 798 Nov 21, 2022
A simple terminal-based localhost chat application written in python

Chat House A simple terminal-based localhost chat application written in python How to Use? Clone the repo git clone https://github.com/heksadecimal/c

Heks 10 Nov 9, 2021
A terminal utility to sort image files based on their characteristics.

About A terminal utility to sort image files based on their characteristics. Motivation This program was developed after I've realized that I had too

José Ferreira 1 Dec 10, 2022