Skip to main content

Cython-based Python bindings for dear imgui

Project description

[![completion](https://img.shields.io/badge/completion-66%25%20%28270%20of%20409%29-blue.svg)](https://github.com/swistakm/pyimgui) [![Coverage Status](https://coveralls.io/repos/github/swistakm/pyimgui/badge.svg?branch=master)](https://coveralls.io/github/swistakm/pyimgui?branch=master) [![Documentation Status](https://readthedocs.org/projects/pyimgui/badge/?version=latest)](https://pyimgui.readthedocs.io/en/latest/?badge=latest)

Builds:

# pyimgui

pyimgui is a Cython-based binding for the amazing [dear imgui](https://github.com/ocornut/imgui) C++ library - a Bloat-free Immediate Mode Graphical User Interface.

# installation

pyimgui is available on PyPI so you can easily install it with pip:

pip install imgui

imgui package integrates easily with various graphic backends and Python-based game engines. Each backend requires one or more additional packages. You can install them with imgui using pip’s extras feature:

  • for GLFW3 backend use pip install imgui[glfw]

  • for SDL2 backend use pip install imgui[sdl2]

Package is distributed in form of built wheels so it does not require compilation on most operating systems. For more details about compatibility with diffferent OSes and Python versions see the project ditribution section of this documentation page.

# project status

The imgui package provides support for the majority of core ImGui widgets and functionalities. Some low-level API elements and complex widgets (like plots) may be missing. We are working hard to provide 100% feature mapping of the core ImGui library. The completion badge shows up-to-date status of that goal.

# project distribution

This project has working build pipeline on Appveyor and Travis and builds succesfully for all major operating systems with different architectures:

  • Windows (32bit & 64bit)

  • Linux (32bit & 64bit)

  • OS X (universal build)

Right now we are ready to shipping the built wheels for these three systems (even for Linux using manylinux1 wheels). The build pipeline covers multiple Python versions:

  • py27

  • py33

  • py34

  • py35

  • py36

pyimgui provides documentation with multiple visual examples. Thanks to custom Sphinx extensions we are able to render GUI examples off screen directly from docstring snippets. These examples work also as automated functional tests. Documentation is hosted on [pyimgui.readthedocs.io](https://pyimgui.readthedocs.io/en/latest/index.html).

If none of these wheels work in your environment you can install the imgui package by compiling it directly from sdist distribution using one of following commands:

# will install Cython as extra dependency and compile from Cython sources pip install imgui[Cython] –no-binary imgui

# will compile from pre-generated C++ sources pip install imgui –no-binary imgui

# development tips We have tried hard to make the process of bootstraping this project as simple as possible.

In order to build and install project locally ,ake sure you have created and activated virtual environment using virtualenv or python -m venv (for newer Python releases). Then you can just run:

make build

This command will bootstrap whole environment (pull git submodules, install dev requirements etc.) and build the project. make will automatically install imgui in the development/editable mode. Then you can run some examples found in the doc/examples directory in order to verify if project is working.

For building ducumentation and running tests you will need some additional requirements from doc/requirements-test.txt.

You can run tests with:

py.test

If you have any problems with building or installing the project just ask us for help by creating GitHub issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgui-0.0.1.tar.gz (571.2 kB view hashes)

Uploaded Source

Built Distributions

imgui-0.0.1-cp36-cp36m-win_amd64.whl (768.3 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

imgui-0.0.1-cp36-cp36m-win32.whl (681.4 kB view hashes)

Uploaded CPython 3.6m Windows x86

imgui-0.0.1-cp36-cp36m-manylinux1_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.6m

imgui-0.0.1-cp36-cp36m-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.6m

imgui-0.0.1-cp36-cp36m-macosx_10_11_x86_64.whl (855.6 kB view hashes)

Uploaded CPython 3.6m macOS 10.11+ x86-64

imgui-0.0.1-cp35-cp35m-win_amd64.whl (767.1 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

imgui-0.0.1-cp35-cp35m-win32.whl (680.7 kB view hashes)

Uploaded CPython 3.5m Windows x86

imgui-0.0.1-cp35-cp35m-manylinux1_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.5m

imgui-0.0.1-cp35-cp35m-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.5m

imgui-0.0.1-cp34-cp34m-win_amd64.whl (749.3 kB view hashes)

Uploaded CPython 3.4m Windows x86-64

imgui-0.0.1-cp34-cp34m-win32.whl (674.2 kB view hashes)

Uploaded CPython 3.4m Windows x86

imgui-0.0.1-cp34-cp34m-manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.4m

imgui-0.0.1-cp34-cp34m-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.4m

imgui-0.0.1-cp34-cp34m-macosx_10_11_x86_64.whl (854.8 kB view hashes)

Uploaded CPython 3.4m macOS 10.11+ x86-64

imgui-0.0.1-cp33-cp33m-win_amd64.whl (749.4 kB view hashes)

Uploaded CPython 3.3m Windows x86-64

imgui-0.0.1-cp33-cp33m-win32.whl (674.2 kB view hashes)

Uploaded CPython 3.3m Windows x86

imgui-0.0.1-cp33-cp33m-manylinux1_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.3m

imgui-0.0.1-cp33-cp33m-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.3m

imgui-0.0.1-cp33-cp33m-macosx_10_11_x86_64.whl (830.9 kB view hashes)

Uploaded CPython 3.3m macOS 10.11+ x86-64

imgui-0.0.1-cp27-cp27mu-manylinux1_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 2.7mu

imgui-0.0.1-cp27-cp27mu-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 2.7mu

imgui-0.0.1-cp27-cp27m-win_amd64.whl (750.5 kB view hashes)

Uploaded CPython 2.7m Windows x86-64

imgui-0.0.1-cp27-cp27m-win32.whl (667.5 kB view hashes)

Uploaded CPython 2.7m Windows x86

imgui-0.0.1-cp27-cp27m-manylinux1_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 2.7m

imgui-0.0.1-cp27-cp27m-manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 2.7m

imgui-0.0.1-cp27-cp27m-macosx_10_11_x86_64.whl (851.5 kB view hashes)

Uploaded CPython 2.7m macOS 10.11+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page