PyTermGUI


NamePyTermGUI JSON
Version 7.7.2 PyPI version JSON
download
home_pageNone
SummaryPython TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
upload_time2024-08-31 21:44:13
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords ansi tui ui framework markup terminal user-interface xterm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--![title](https://github.com/bczsalba/pytermgui/raw/master/assets/title.png)-->

![title](https://github.com/bczsalba/pytermgui/raw/master/assets/readme/screenshot.png)

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

```bash
pip3 install pytermgui
```

<p align=center>
   <a href="https://pypi.org/project/pytermgui">
      <img alt="PyPi project" src="https://img.shields.io/pypi/v/pytermgui?color=brightgreen">
   </a>
    <a href="https://github.com/bczsalba/pytermgui/blob/master/utils/create_badge.py">
      <img alt="Code quality" src="https://raw.githubusercontent.com/bczsalba/pytermgui/master/assets/badges/quality.svg">
   </a>
   <a href="http://ptg.bczsalba.com/">
      <img src="https://img.shields.io/badge/documentation-up%20to%20date-brightgreen">
   </a>
   <a href="https://github.com/bczsalba/pytermgui/actions/workflows/pytest.yml">
      <img src="https://github.com/bczsalba/pytermgui/actions/workflows/pytest.yml/badge.svg">
   </a>
 </p>
 <p align=center>
   <a href="https://discord.gg/g4bqMvpG4U">
      <img src="https://img.shields.io/discord/999374285686706367?label=join%20our%20discord">
   </a>
</p>

## Notice

A much better, more complete version of PTG's core ideas now exists over at [Shade 40](https://github.com/shade40). While PTG is not yet fully obsolete,
those libraries will be the primary focus of development going forward.

<hr>

## Why?

Mostly because terminals are cool, but creating terminal apps has historically been difficult. PyTermGUI aims to provide a simple, readable and modular way to make the app of your dreams!

Terminal apps are (often):

- Easier to install
- Faster & more resource efficient
- Less prone to differences between environments (no IE7 here!)

...than their web or native counterparts.

## How?

We provide a couple of things to make your life easier:

- Sensible abstractions over most terminal standards
- A fully fledged, desktop-inspired window manager system with modals and completely customizable windows
- Mouse support out of the box with **0** configuration
- YAML (or Python) based styling engines
- TIM, our markup language for creating styled terminal text with expressive text, including systems for aliases & macros
- A bunch of things I can't think of right now :slightly_smiling_face:

Additionally, there are a couple of neat tools to make your general Python development easier:

- An inspection utility
- A pretty printer for both the REPL and IPython
- A way to create SVG and HTML screenshots of your terminal

## Latest release

### [7.7.1] - 2024-02-24

### Additions

- Add support for wide characters

### Bugfixes

- Fix `inline` widget referring to `hover` mouse mode


Read the full changelog [here](https://github.com/bczsalba/pytermgui/blob/master/CHANGELOG.md).



[7.7.1]: https://github.com/bczsalba/pytermgui/compare/v7.7.0...v7.7.1
[7.7.0]: https://github.com/bczsalba/pytermgui/compare/v7.6.0...v7.7.0
[7.6.0]: https://github.com/bczsalba/pytermgui/compare/v7.5.0...v7.6.0
[7.5.0]: https://github.com/bczsalba/pytermgui/compare/v7.4.0...v7.5.0
[7.4.0]: https://github.com/bczsalba/pytermgui/compare/v7.3.0...v7.4.0
[7.3.0]: https://github.com/bczsalba/pytermgui/compare/v7.2.0...v7.3.0
[7.2.0]: https://github.com/bczsalba/pytermgui/compare/v7.1.0...v7.2.0
[7.1.0]: https://github.com/bczsalba/pytermgui/compare/v7.0.0...v7.1.0
[7.0.0]: https://github.com/bczsalba/pytermgui/compare/v6.4.0...v7.0.0
[6.4.0]: https://github.com/bczsalba/pytermgui/compare/v6.0.0...v6.4.0
[6.3.0]: https://github.com/bczsalba/pytermgui/compare/v6.2.2...v6.3.0
[6.2.2]: https://github.com/bczsalba/pytermgui/compare/v6.2.1...v6.2.2
[6.2.1]: https://github.com/bczsalba/pytermgui/compare/v6.2.0...v6.2.1
[6.2.0]: https://github.com/bczsalba/pytermgui/compare/v6.1.0...v6.2.0
[6.1.0]: https://github.com/bczsalba/pytermgui/compare/v6.0.0...v6.1.0
[6.0.0]: https://github.com/bczsalba/pytermgui/compare/v5.0.0...v6.0.0
[5.0.0]: https://github.com/bczsalba/pytermgui/compare/v4.3.2...v5.0.0
[4.3.2]: https://github.com/bczsalba/pytermgui/compare/v4.3.1...v4.3.2
[4.3.1]: https://github.com/bczsalba/pytermgui/compare/v4.3.0...v4.3.1
[4.3.0]: https://github.com/bczsalba/pytermgui/compare/v4.2.0...v4.3.0
[4.2.1]: https://github.com/bczsalba/pytermgui/compare/v4.2.0...v4.2.1
[4.2.0]: https://github.com/bczsalba/pytermgui/compare/v4.1.0...v4.2.0
[4.1.0]: https://github.com/bczsalba/pytermgui/compare/v4.0.0...v4.1.0
[4.0.1]: https://github.com/bczsalba/pytermgui/compare/v4.0.0...v4.0.1
[4.0.0]: https://github.com/bczsalba/pytermgui/compare/v3.2.1...v4.0.0

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "PyTermGUI",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ANSI, TUI, UI, framework, markup, terminal, user-interface, xterm",
    "author": null,
    "author_email": "Bal\u00e1zs Cene <bczsalba@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/42/92/c9ff7b78aad65772f920f11f860b271924a4830e225d75200c6c6a16e52d/pytermgui-7.7.2.tar.gz",
    "platform": null,
    "description": "<!--![title](https://github.com/bczsalba/pytermgui/raw/master/assets/title.png)-->\n\n![title](https://github.com/bczsalba/pytermgui/raw/master/assets/readme/screenshot.png)\n\n> Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!\n\n```bash\npip3 install pytermgui\n```\n\n<p align=center>\n   <a href=\"https://pypi.org/project/pytermgui\">\n      <img alt=\"PyPi project\" src=\"https://img.shields.io/pypi/v/pytermgui?color=brightgreen\">\n   </a>\n    <a href=\"https://github.com/bczsalba/pytermgui/blob/master/utils/create_badge.py\">\n      <img alt=\"Code quality\" src=\"https://raw.githubusercontent.com/bczsalba/pytermgui/master/assets/badges/quality.svg\">\n   </a>\n   <a href=\"http://ptg.bczsalba.com/\">\n      <img src=\"https://img.shields.io/badge/documentation-up%20to%20date-brightgreen\">\n   </a>\n   <a href=\"https://github.com/bczsalba/pytermgui/actions/workflows/pytest.yml\">\n      <img src=\"https://github.com/bczsalba/pytermgui/actions/workflows/pytest.yml/badge.svg\">\n   </a>\n </p>\n <p align=center>\n   <a href=\"https://discord.gg/g4bqMvpG4U\">\n      <img src=\"https://img.shields.io/discord/999374285686706367?label=join%20our%20discord\">\n   </a>\n</p>\n\n## Notice\n\nA much better, more complete version of PTG's core ideas now exists over at [Shade 40](https://github.com/shade40). While PTG is not yet fully obsolete,\nthose libraries will be the primary focus of development going forward.\n\n<hr>\n\n## Why?\n\nMostly because terminals are cool, but creating terminal apps has historically been difficult. PyTermGUI aims to provide a simple, readable and modular way to make the app of your dreams!\n\nTerminal apps are (often):\n\n- Easier to install\n- Faster & more resource efficient\n- Less prone to differences between environments (no IE7 here!)\n\n...than their web or native counterparts.\n\n## How?\n\nWe provide a couple of things to make your life easier:\n\n- Sensible abstractions over most terminal standards\n- A fully fledged, desktop-inspired window manager system with modals and completely customizable windows\n- Mouse support out of the box with **0** configuration\n- YAML (or Python) based styling engines\n- TIM, our markup language for creating styled terminal text with expressive text, including systems for aliases & macros\n- A bunch of things I can't think of right now :slightly_smiling_face:\n\nAdditionally, there are a couple of neat tools to make your general Python development easier:\n\n- An inspection utility\n- A pretty printer for both the REPL and IPython\n- A way to create SVG and HTML screenshots of your terminal\n\n## Latest release\n\n### [7.7.1] - 2024-02-24\n\n### Additions\n\n- Add support for wide characters\n\n### Bugfixes\n\n- Fix `inline` widget referring to `hover` mouse mode\n\n\nRead the full changelog [here](https://github.com/bczsalba/pytermgui/blob/master/CHANGELOG.md).\n\n\n\n[7.7.1]: https://github.com/bczsalba/pytermgui/compare/v7.7.0...v7.7.1\n[7.7.0]: https://github.com/bczsalba/pytermgui/compare/v7.6.0...v7.7.0\n[7.6.0]: https://github.com/bczsalba/pytermgui/compare/v7.5.0...v7.6.0\n[7.5.0]: https://github.com/bczsalba/pytermgui/compare/v7.4.0...v7.5.0\n[7.4.0]: https://github.com/bczsalba/pytermgui/compare/v7.3.0...v7.4.0\n[7.3.0]: https://github.com/bczsalba/pytermgui/compare/v7.2.0...v7.3.0\n[7.2.0]: https://github.com/bczsalba/pytermgui/compare/v7.1.0...v7.2.0\n[7.1.0]: https://github.com/bczsalba/pytermgui/compare/v7.0.0...v7.1.0\n[7.0.0]: https://github.com/bczsalba/pytermgui/compare/v6.4.0...v7.0.0\n[6.4.0]: https://github.com/bczsalba/pytermgui/compare/v6.0.0...v6.4.0\n[6.3.0]: https://github.com/bczsalba/pytermgui/compare/v6.2.2...v6.3.0\n[6.2.2]: https://github.com/bczsalba/pytermgui/compare/v6.2.1...v6.2.2\n[6.2.1]: https://github.com/bczsalba/pytermgui/compare/v6.2.0...v6.2.1\n[6.2.0]: https://github.com/bczsalba/pytermgui/compare/v6.1.0...v6.2.0\n[6.1.0]: https://github.com/bczsalba/pytermgui/compare/v6.0.0...v6.1.0\n[6.0.0]: https://github.com/bczsalba/pytermgui/compare/v5.0.0...v6.0.0\n[5.0.0]: https://github.com/bczsalba/pytermgui/compare/v4.3.2...v5.0.0\n[4.3.2]: https://github.com/bczsalba/pytermgui/compare/v4.3.1...v4.3.2\n[4.3.1]: https://github.com/bczsalba/pytermgui/compare/v4.3.0...v4.3.1\n[4.3.0]: https://github.com/bczsalba/pytermgui/compare/v4.2.0...v4.3.0\n[4.2.1]: https://github.com/bczsalba/pytermgui/compare/v4.2.0...v4.2.1\n[4.2.0]: https://github.com/bczsalba/pytermgui/compare/v4.1.0...v4.2.0\n[4.1.0]: https://github.com/bczsalba/pytermgui/compare/v4.0.0...v4.1.0\n[4.0.1]: https://github.com/bczsalba/pytermgui/compare/v4.0.0...v4.0.1\n[4.0.0]: https://github.com/bczsalba/pytermgui/compare/v3.2.1...v4.0.0\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!",
    "version": "7.7.2",
    "project_urls": {
        "documentation": "https://ptg.bczsalba.com",
        "homepage": "https://github.com/bczsalba/PyTermGUI",
        "repository": "https://github.com/bczsalba/PyTermGUI"
    },
    "split_keywords": [
        "ansi",
        " tui",
        " ui",
        " framework",
        " markup",
        " terminal",
        " user-interface",
        " xterm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "13988c2318bfbede1b20c2cf2d9fa3bb5776698cbfbe18b9f958ce189cdb8f99",
                "md5": "f6d972af50f535061a69b93a92af9dff",
                "sha256": "4d1e7610fb1bd437e7673f928b8378a6b10b64c91bdcf7ad45a9e596cc8c461a"
            },
            "downloads": -1,
            "filename": "pytermgui-7.7.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f6d972af50f535061a69b93a92af9dff",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 186899,
            "upload_time": "2024-08-31T21:44:16",
            "upload_time_iso_8601": "2024-08-31T21:44:16.063847Z",
            "url": "https://files.pythonhosted.org/packages/13/98/8c2318bfbede1b20c2cf2d9fa3bb5776698cbfbe18b9f958ce189cdb8f99/pytermgui-7.7.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4292c9ff7b78aad65772f920f11f860b271924a4830e225d75200c6c6a16e52d",
                "md5": "c684005b011900b2fce79105b627987d",
                "sha256": "2bf245ce0f7fe39ca4b37ec58246ef1a8fa5283bfe4a7c7d63ce09ea4bcc4643"
            },
            "downloads": -1,
            "filename": "pytermgui-7.7.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c684005b011900b2fce79105b627987d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 156122,
            "upload_time": "2024-08-31T21:44:13",
            "upload_time_iso_8601": "2024-08-31T21:44:13.668087Z",
            "url": "https://files.pythonhosted.org/packages/42/92/c9ff7b78aad65772f920f11f860b271924a4830e225d75200c6c6a16e52d/pytermgui-7.7.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-31 21:44:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bczsalba",
    "github_project": "PyTermGUI",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pytermgui"
}
        
Elapsed time: 2.15944s