hgui


Namehgui JSON
Version 4.0.2 PyPI version JSON
download
home_pageNone
SummaryPython binding of HorizonGUI a graphical interface in c++ with OpenGl
upload_time2024-06-09 10:49:33
maintainerNone
docs_urlNone
authorHorizon-NTH
requires_python>=3.8
licenseNone
keywords hgui gui library user interface library cross-platform gui horizongui horizon ui library graphical user interface library ui toolkit horizon gui framework horizonui modern ui library customizable ui components gui development kit gui design framework gui widgets horizongui components horizonui toolkit user interface components horizon gui controls horizonui elements responsive ui library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # HorizonGUI

[![Release](https://img.shields.io/badge/Release-v4.0-blueviolet)](https://github.com/Horizon-NTH/HorizonGUI/releases)
[![Language](https://img.shields.io/badge/Language-C%2B%2B-0052cf)](https://en.wikipedia.org/wiki/C++)
[![Licence](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

![HorizonGUI Logo](https://github.com/Horizon-NTH/HorizonGUI/blob/master/assets/HorizonGUI.svg)

## Introduction

**HorizonGUI** is a Graphic User Interface library made in C++ with OpenGL. There are also Python bindings available.

## Installation Instructions

* [C++ library](#c-library)
* [Python binding](#python-binding)

### C++ library

> You can also simply install a pre-built version [here](https://github.com/Horizon-NTH/HorizonGUI/releases).

#### Get Source Code

You first need to clone the repository. Make sure to use [git](https://git-scm.com) and don't forget to
include `--recurse-submodules` when cloning.

```bash
git clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules
```

You will now able to choose between [script](#script-installation) or [manual](#manual-installation) installation

#### Script Installation

Use the [`install.sh`](https://github.com/Horizon-NTH/HorizonGUI/blob/master/install.sh) script to compile the
library. You can also erase build files by adding `-e` / `--erase`.

  ```bash
  ./install.sh -e
  ```

#### Manual Installation

##### Create Build Environment

Ensure you have [CMake](https://cmake.org/) installed. Generate the build environment using CMake:

  ```bash
  cd HorizonGUI
  mkdir build && cd build
  cmake ..
  ```

##### Build

###### CMake

Build directly using CMake:

```bash
cmake --build .
```

This command will create all the lib files you need in `HorizonGUI/lib`.

###### Microsoft Visual Studio

Alternatively, you can use [Microsoft Visual Studio](https://visualstudio.microsoft.com/) to launch the project
and build it. Open the `horizongui.sln` file with Microsoft Visual Studio.

### Python binding

To install the Python bindings, you can install it from [PyPi](https://pypi.org/project/hgui/) using this command:
Don't forget to install the [**scikit-build-core**](https://pypi.org/project/scikit-build-core/) package.

```bash
pip install scikit-build-core hgui
```

Or you can build it from source using those commands:

```bash
git clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules
cd HorizonGUI
pip install ./python
```

> **Note**: Both methods can take some time due to the compilation of the underlying C++ library.

Once the installation is complete, you can import the module into your Python script using the following statement:

```python
import hgui
```

## Documentation

Please refer to the [wiki](https://github.com/Horizon-NTH/HorizonGUI/wiki).

## Dependencies

- **[OpenGL](https://www.opengl.org)** is used for all graphics in the application.
- **[GLFW](https://www.glfw.org)** is used to create windows, contexts, and handle user input.
- **[Glad](https://glad.dav1d.de)** is used to load OpenGL functions.
- **[Freetype](https://freetype.org/index.html)** is used to load fonts and render text.
- **[STB](https://github.com/nothings/stb)** is used to load and save images.
- **[GLM](https://glm.g-truc.net/0.9.9/index.html)** is used for mathematical operations.
- **[OpenAL-Soft](https://github.com/kcat/openal-soft/tree/master)** is used to play sound.
- **[Libsndfile](http://www.mega-nerd.com/libsndfile/)** is used to load audio file.
- **[Pybind11](https://github.com/pybind/pybind11)** is used to create python binding.

## License

HorizonGUI is licensed under the [MIT license](https://github.com/Horizon-NTH/HorizonGUI/blob/master/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "hgui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "hgui, GUI Library, User Interface Library, Cross-platform GUI, HorizonGUI, Horizon UI Library, Graphical User Interface Library, UI Toolkit, Horizon GUI Framework, HorizonUI, Modern UI Library, Customizable UI Components, GUI Development Kit, GUI Design Framework, GUI Widgets, HorizonGUI Components, HorizonUI Toolkit, User Interface Components, Horizon GUI Controls, HorizonUI Elements, Responsive UI Library",
    "author": "Horizon-NTH",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/76/ce/0a4ea72aa22ff313d5ad8655c191431d044fd12e1f79d99bfcddd8fd80a6/hgui-4.0.2.tar.gz",
    "platform": null,
    "description": "# HorizonGUI\n\n[![Release](https://img.shields.io/badge/Release-v4.0-blueviolet)](https://github.com/Horizon-NTH/HorizonGUI/releases)\n[![Language](https://img.shields.io/badge/Language-C%2B%2B-0052cf)](https://en.wikipedia.org/wiki/C++)\n[![Licence](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n![HorizonGUI Logo](https://github.com/Horizon-NTH/HorizonGUI/blob/master/assets/HorizonGUI.svg)\n\n## Introduction\n\n**HorizonGUI** is a Graphic User Interface library made in C++ with OpenGL. There are also Python bindings available.\n\n## Installation Instructions\n\n* [C++ library](#c-library)\n* [Python binding](#python-binding)\n\n### C++ library\n\n> You can also simply install a pre-built version [here](https://github.com/Horizon-NTH/HorizonGUI/releases).\n\n#### Get Source Code\n\nYou first need to clone the repository. Make sure to use [git](https://git-scm.com) and don't forget to\ninclude `--recurse-submodules` when cloning.\n\n```bash\ngit clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules\n```\n\nYou will now able to choose between [script](#script-installation) or [manual](#manual-installation) installation\n\n#### Script Installation\n\nUse the [`install.sh`](https://github.com/Horizon-NTH/HorizonGUI/blob/master/install.sh) script to compile the\nlibrary. You can also erase build files by adding `-e` / `--erase`.\n\n  ```bash\n  ./install.sh -e\n  ```\n\n#### Manual Installation\n\n##### Create Build Environment\n\nEnsure you have [CMake](https://cmake.org/) installed. Generate the build environment using CMake:\n\n  ```bash\n  cd HorizonGUI\n  mkdir build && cd build\n  cmake ..\n  ```\n\n##### Build\n\n###### CMake\n\nBuild directly using CMake:\n\n```bash\ncmake --build .\n```\n\nThis command will create all the lib files you need in `HorizonGUI/lib`.\n\n###### Microsoft Visual Studio\n\nAlternatively, you can use [Microsoft Visual Studio](https://visualstudio.microsoft.com/) to launch the project\nand build it. Open the `horizongui.sln` file with Microsoft Visual Studio.\n\n### Python binding\n\nTo install the Python bindings, you can install it from [PyPi](https://pypi.org/project/hgui/) using this command:\nDon't forget to install the [**scikit-build-core**](https://pypi.org/project/scikit-build-core/) package.\n\n```bash\npip install scikit-build-core hgui\n```\n\nOr you can build it from source using those commands:\n\n```bash\ngit clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules\ncd HorizonGUI\npip install ./python\n```\n\n> **Note**: Both methods can take some time due to the compilation of the underlying C++ library.\n\nOnce the installation is complete, you can import the module into your Python script using the following statement:\n\n```python\nimport hgui\n```\n\n## Documentation\n\nPlease refer to the [wiki](https://github.com/Horizon-NTH/HorizonGUI/wiki).\n\n## Dependencies\n\n- **[OpenGL](https://www.opengl.org)** is used for all graphics in the application.\n- **[GLFW](https://www.glfw.org)** is used to create windows, contexts, and handle user input.\n- **[Glad](https://glad.dav1d.de)** is used to load OpenGL functions.\n- **[Freetype](https://freetype.org/index.html)** is used to load fonts and render text.\n- **[STB](https://github.com/nothings/stb)** is used to load and save images.\n- **[GLM](https://glm.g-truc.net/0.9.9/index.html)** is used for mathematical operations.\n- **[OpenAL-Soft](https://github.com/kcat/openal-soft/tree/master)** is used to play sound.\n- **[Libsndfile](http://www.mega-nerd.com/libsndfile/)** is used to load audio file.\n- **[Pybind11](https://github.com/pybind/pybind11)** is used to create python binding.\n\n## License\n\nHorizonGUI is licensed under the [MIT license](https://github.com/Horizon-NTH/HorizonGUI/blob/master/LICENSE).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python binding of HorizonGUI a graphical interface in c++ with OpenGl",
    "version": "4.0.2",
    "project_urls": {
        "Documentation": "https://github.com/Horizon-NTH/HorizonGUI/wiki",
        "Homepage": "https://github.com/Horizon-NTH/HorizonGUI",
        "Issues": "https://github.com/Horizon-NTH/HorizonGUI/issues",
        "Repository": "https://github.com/Horizon-NTH/HorizonGUI"
    },
    "split_keywords": [
        "hgui",
        " gui library",
        " user interface library",
        " cross-platform gui",
        " horizongui",
        " horizon ui library",
        " graphical user interface library",
        " ui toolkit",
        " horizon gui framework",
        " horizonui",
        " modern ui library",
        " customizable ui components",
        " gui development kit",
        " gui design framework",
        " gui widgets",
        " horizongui components",
        " horizonui toolkit",
        " user interface components",
        " horizon gui controls",
        " horizonui elements",
        " responsive ui library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76ce0a4ea72aa22ff313d5ad8655c191431d044fd12e1f79d99bfcddd8fd80a6",
                "md5": "e0fb23f2c9101beb985f4e28a30ca28e",
                "sha256": "4e99b72c6eee09b9bf2d088304efcc1a9d9fdb21daec51d1e2e32e5c0da1f138"
            },
            "downloads": -1,
            "filename": "hgui-4.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e0fb23f2c9101beb985f4e28a30ca28e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 12591015,
            "upload_time": "2024-06-09T10:49:33",
            "upload_time_iso_8601": "2024-06-09T10:49:33.997847Z",
            "url": "https://files.pythonhosted.org/packages/76/ce/0a4ea72aa22ff313d5ad8655c191431d044fd12e1f79d99bfcddd8fd80a6/hgui-4.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-09 10:49:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Horizon-NTH",
    "github_project": "HorizonGUI",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "hgui"
}
        
Elapsed time: 0.27454s