ubo-gui


Nameubo-gui JSON
Version 0.13.10 PyPI version JSON
download
home_pageNone
SummaryGUI sdk for Ubo Pod
upload_time2024-12-02 09:47:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseApache-2.0
keywords components kivy ubo widgets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Ubo GUI

GUI sdk for [Ubo Pod](https://github.com/ubopod)

## 📋 Requirements

- [Ubo Pod](https://github.com/ubopod)
- [headless-kivy-pi](https://github.com/ubopod/headless-kivy-pi)

## 📦 Installation

You can install it using this handle: headless-kivy-pi@git+<https://github.com/ubopod/ubo-gui.git>

```sh
# pip:
pip install headless-kivy-pi@git+https://github.com/ubopod/ubo-gui.git
```

## 🛠 Usage

Checkout [Ubo App](https://github.com/ubopod/ubo-app) to see a sample implementation.

## 🤝 Contributing

You need to have [uv](https://github.com/astral-sh/uv) installed on your machine.

To install the required dependencies, run the following command in the root directory of the project:

```sh
uv sync
```

You can run linter over whole codebase by running this command:

```sh
uv run poe lint
```

### Subscriptions

The subscriptions are divided into three groups:

- Screen subscriptions are those assigned to a particular stack item, but their handlers doesn't change anything in the `StackItem` itself.
  The handler just changes something on the rendered screen and if that stack item is not visible, the handler doesn't need to be called.
  Therefore these subscriptions are cleared when the current screen is changed.
  Samples:
  - `items` of the currently visible menu
  - `title` of the currently visible screen
- Menu subscriptions are those assigned to a particular menu. Like screen subscriptions, they are cleared when the current screen is changed. They also get cleared when the menu is scrolled.
  Samples:
  - `heading` of a headed menu
  - `sub_heading` of a headed menu
  - `placeholder` of a menu
- Stack item subscriptions are those assigned to a particular stack item. They are cleared when the stack item is popped. They stay alive as long as the stack item is in the stack, even if it is in the background.
  In other words, unlike the other two, they are not cleared when, for example, a sub-menu or an application is opened on top of the current stack item.
  Samples:
  - `menu` of an item

### ⚠️ Important Note

Make sure to run `uv run poe download_font` to download Material Symbols font.

## 🔒 License

This project is released under the Apache-2.0 License. See the [LICENSE](./LICENSE)
file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ubo-gui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Sassan Haradji <me@sassanh.com>",
    "keywords": "components, kivy, ubo, widgets",
    "author": null,
    "author_email": "Sassan Haradji <me@sassanh.com>",
    "download_url": "https://files.pythonhosted.org/packages/8d/75/3a3bf3606f10c5da781638c7bbf123e1d7ec6b7ca986945695021f31b54b/ubo_gui-0.13.10.tar.gz",
    "platform": null,
    "description": "# Ubo GUI\n\nGUI sdk for [Ubo Pod](https://github.com/ubopod)\n\n## \ud83d\udccb Requirements\n\n- [Ubo Pod](https://github.com/ubopod)\n- [headless-kivy-pi](https://github.com/ubopod/headless-kivy-pi)\n\n## \ud83d\udce6 Installation\n\nYou can install it using this handle: headless-kivy-pi@git+<https://github.com/ubopod/ubo-gui.git>\n\n```sh\n# pip:\npip install headless-kivy-pi@git+https://github.com/ubopod/ubo-gui.git\n```\n\n## \ud83d\udee0 Usage\n\nCheckout [Ubo App](https://github.com/ubopod/ubo-app) to see a sample implementation.\n\n## \ud83e\udd1d Contributing\n\nYou need to have [uv](https://github.com/astral-sh/uv) installed on your machine.\n\nTo install the required dependencies, run the following command in the root directory of the project:\n\n```sh\nuv sync\n```\n\nYou can run linter over whole codebase by running this command:\n\n```sh\nuv run poe lint\n```\n\n### Subscriptions\n\nThe subscriptions are divided into three groups:\n\n- Screen subscriptions are those assigned to a particular stack item, but their handlers doesn't change anything in the `StackItem` itself.\n  The handler just changes something on the rendered screen and if that stack item is not visible, the handler doesn't need to be called.\n  Therefore these subscriptions are cleared when the current screen is changed.\n  Samples:\n  - `items` of the currently visible menu\n  - `title` of the currently visible screen\n- Menu subscriptions are those assigned to a particular menu. Like screen subscriptions, they are cleared when the current screen is changed. They also get cleared when the menu is scrolled.\n  Samples:\n  - `heading` of a headed menu\n  - `sub_heading` of a headed menu\n  - `placeholder` of a menu\n- Stack item subscriptions are those assigned to a particular stack item. They are cleared when the stack item is popped. They stay alive as long as the stack item is in the stack, even if it is in the background.\n  In other words, unlike the other two, they are not cleared when, for example, a sub-menu or an application is opened on top of the current stack item.\n  Samples:\n  - `menu` of an item\n\n### \u26a0\ufe0f Important Note\n\nMake sure to run `uv run poe download_font` to download Material Symbols font.\n\n## \ud83d\udd12 License\n\nThis project is released under the Apache-2.0 License. See the [LICENSE](./LICENSE)\nfile for more details.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "GUI sdk for Ubo Pod",
    "version": "0.13.10",
    "project_urls": {
        "changelog": "https://github.com/ubopod/ubo-gu//blob/main/CHANGELOG.md",
        "documentation": "https://github.com/ubopod/ubo-gui/",
        "homepage": "https://github.com/ubopod/ubo-gui/",
        "repository": "https://github.com/ubopod/ubo-gui/"
    },
    "split_keywords": [
        "components",
        " kivy",
        " ubo",
        " widgets"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c69cd3023381f48b819d8ec4d36cae9155510e35510a0d6f656753f0d446e82f",
                "md5": "1ff9e3b21f2db460c3a5a6d79ab2b0c8",
                "sha256": "536af69b671892211683a56a0ad21f9b359a1699755e9ad7b18ce433a2732fff"
            },
            "downloads": -1,
            "filename": "ubo_gui-0.13.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1ff9e3b21f2db460c3a5a6d79ab2b0c8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 8602521,
            "upload_time": "2024-12-02T09:47:11",
            "upload_time_iso_8601": "2024-12-02T09:47:11.461203Z",
            "url": "https://files.pythonhosted.org/packages/c6/9c/d3023381f48b819d8ec4d36cae9155510e35510a0d6f656753f0d446e82f/ubo_gui-0.13.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d753a3bf3606f10c5da781638c7bbf123e1d7ec6b7ca986945695021f31b54b",
                "md5": "8bccd1df6a87d2f643a133cdf8f18f07",
                "sha256": "10790f4d075de23d012106cc3a9a6aee24b280416892a18e13f7020ef0d0d6e9"
            },
            "downloads": -1,
            "filename": "ubo_gui-0.13.10.tar.gz",
            "has_sig": false,
            "md5_digest": "8bccd1df6a87d2f643a133cdf8f18f07",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 8579328,
            "upload_time": "2024-12-02T09:47:14",
            "upload_time_iso_8601": "2024-12-02T09:47:14.540316Z",
            "url": "https://files.pythonhosted.org/packages/8d/75/3a3bf3606f10c5da781638c7bbf123e1d7ec6b7ca986945695021f31b54b/ubo_gui-0.13.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-02 09:47:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ubopod",
    "github_project": "ubo-gu",
    "github_not_found": true,
    "lcname": "ubo-gui"
}
        
Elapsed time: 5.04824s