Python ANSI

Open-source Python projects categorized as ANSI

Top 10 Python ANSI Projects

  • gdb-dashboard

    Modular visual interface for GDB in Python

    Project mention: Everything You Never Wanted to Know About CMake (Redux) | news.ycombinator.com | 2023-06-25

    Disclaimer: I'm making a competing build system.

    I won't tell you specific build systems, but I will tell you what to look for.

    Look for power. Unlimited power. [1]

    Usually, this means a few things:

    1. The build system uses a general-purpose language, even if the language needs features to be added.

    2. The build system does not reduce the power of the general-purpose language. For example, say it starts with Python but prohibits recursion. In that case, you know it is not unlimited power. Looking at you, Starlark.

    3. The build can be dynamically changed, i.e., the build is not statically determined before it even begins.

    4. Each task has unlimited power. This means that the task can use a general-purpose language, not just run external processes.

    5. And there has to be some thought put it in user experience.

    Why are these important? Well, let's look at why with CMake, which fails all of them.

    For #1, CMake's language started as a limited language for enumerating lists. (Hence, CMakeLists.txt is the file name.) And yet, it's grown to be as general-purpose as possible. Why? Because when you need an if statement, nothing else will do, and when you need a loop, nothing else will do.

    And that brings us to #2: if CMake's language started limited, are there still places where it's limited? I argue yes, and I point to the article where it says that your couldn't dynamically call functions until recently. There are probably other places.

    For #3, CMake's whole model precludes it. CMake generates the build upfront then expects another build system to actually execute it. There is no changing the build without regenerating it. (And even then, CMake did a poor job until the addition of `--fresh`.) A fully dynamic build should be able to add targets and make others targets depend on those new targets dynamically, among other things.

    For #4, obviously CMake limits what tasks can do because Ninja and Make limit tasks to running commands.

    As another example, to implement a LaTeX target, you technically need a while loop to iterate until a fixed point. To do that with Make and Ninja, you have to jump through hoops or use an external script that may not work on all platforms.

    CMake obviously fails #5, and to see how much other build systems fail it, just look for comments pouring hate on those build systems. CMake fails the most, but I haven't seen one that passes yet.

    As an example, CMake barely got a debugger. Wow! Cool! It's been 20 years! My build system will have a debugger in public release #2 (one after the MVP) that will be capable of outputting to multiple TTY's like gdb-dashboard. [2] They should have had this years ago!

    Should other comments suggest specific build systems, like the one that suggested Bazel, judge them by this list. Some will be better than others. None will pass everything, IMO, which is why I'm making my own.

    [1]: https://youtube.com/watch?v=Sg14jNbBb-8

    [2]: https://github.com/cyrus-and/gdb-dashboard

  • pytermgui

    Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!

    Project mention: Using Textual to Build a ChatGPT TUI App | dev.to | 2023-07-21

    Several libraries, such as urwid or PyTermGUI, allow the development of TUI applications in Python. For enhancing the functionality and aesthetics of TUI apps, they offer some fundamental and more sophisticated utilities. But there is one package that is truly exceptional and might even be so amazing that it sparks a TUI renaissance (I really wanted to put "TUI renaissance" somewhere in this article).

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

  • asciichart

    Nice-looking lightweight console ASCII line charts ╭┈╯ for NodeJS, browsers and terminal, no dependencies

  • durdraw

    Versatile ASCII and ANSI Art text editor for drawing in the Linux/Unix/macOS terminal, with animation, 256 and 16 colors, Unicode and CP437, and customizable themes

    Project mention: FLaNK Weekly 08 Jan 2024 | dev.to | 2024-01-08
  • yachalk

    🖍️ Terminal string styling done right

  • gifterm

    View animated .GIF files in a text console. Linux/Mac/Windows

    Project mention: FLaNK Weekly 08 Jan 2024 | dev.to | 2024-01-08
  • terminology

    An intuitive way to color terminal text with python (by juanrgon)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • scroll

    irc bot to play ascii art (by ircart)

    Project mention: scroll : IRC bot to play ASCII/ANSI art in your channel | /r/irc | 2023-06-07
  • pybbsterm

    Terminal compatible with ansi-bbs. Meant to be a prototype, but published because why not.

  • colortag

    Python library for adding ANSI colors to the terminal output using a simple syntax

    Project mention: Colortag: new python library for ANSI colors on terminal with simple syntax | /r/programming | 2023-05-13
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-01-08.

Python ANSI related posts

Index

What are some of the best open-source ANSI projects in Python? This list will help you:

Project Stars
1 gdb-dashboard 10,194
2 pytermgui 1,979
3 asciichart 1,764
4 durdraw 531
5 yachalk 153
6 gifterm 23
7 terminology 12
8 scroll 12
9 pybbsterm 12
10 colortag 5
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com