Git Product home page Git Product logo

hoffstadt / dearpygui_ext Goto Github PK

View Code? Open in Web Editor NEW
79.0 79.0 13.0 18.69 MB

Dear PyGui Extensions: A collection of useful tools, abstractions, and simplification layers built with/for Dear PyGui users.

Home Page: https://dearpygui-ext.readthedocs.io/en/latest/

License: MIT License

Python 100.00%
cross-platform dearpygui graphics gui imgui linux macos python python-gui tools ui windows

dearpygui_ext's Introduction

Hi! My name is Jonathan Hoffstadt ๐Ÿ‘‹

  • ๐Ÿ”ญ Working on:

    • Pilot Light: My personal lightweight game engine for prototyping
      • Custom 3D engine with Vulkan/Metal backends
      • Custom immediate mode graphics user interface toolkit
      • Custom build system
      • Collection of single file stb-style libraries for C/C++
  • ๐Ÿ›  Maintaining:

    • Dear PyGui: Fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
    • Dear PyGui Extensions: A collection of useful tools, abstractions, and simplification layers built with/for Dear PyGui users.
    • Semper: My personal single-file "stb-style" libraries (need to redo completely)
  • โ˜ ๏ธ Older Projects:

    • DearPy3D: Vulkan 3D engine for Dear PyGui
    • Engineer's Sandbox: A platform for creating and distributing small engineering
    • mvImporter: A small toy PBR renderer used for testing some of my small "stb-style" asset loading libraries
  • ๐Ÿ’ฌ Ask me about anything here

Where to find me

dearpygui_ext's People

Contributors

atlamillias avatar hoffstadt avatar rdoursenaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dearpygui_ext's Issues

pypi packaging

Version of DearPyGui_Ext

Version: 0.9.4
Operating System: Windows 10

My Issue/Question

When performing pip install for latest version 0.9.4 I get below warning and then pip installs 0.9.3 instead

Collecting dearpygui_ext
  Downloading dearpygui_ext-0.9.4.tar.gz (9.4 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
WARNING: Discarding https://files.pythonhosted.org/packages/2e/f5/85f23cea6cdd5d47c8173bc6e0f33a59f6f504965cc174e419a6e40d3a11/dearpygui_ext-0.9.4.tar.gz#sha256=6400411db13a83d6bc3056d365d0caf8cbef311f05fd5ba239d6555b6e739081 (from https://pypi.org/si
mple/dearpygui-ext/) (requires-python:>=3.6). Requested dearpygui_ext from https://files.pythonhosted.org/packages/2e/f5/85f23cea6cdd5d47c8173bc6e0f33a59f6f504965cc174e419a6e40d3a11/dearpygui_ext-0.9.4.tar.gz#sha256=6400411db13a83d6bc3056d365d0caf8cbe
f311f05fd5ba239d6555b6e739081 has inconsistent version: filename has '0.9.4', but metadata has '0.9.3'
  Downloading dearpygui_ext-0.9.3-py3-none-any.whl (7.3 kB)
Installing collected packages: dearpygui-ext
Successfully installed dearpygui-ext-0.9.3

To Reproduce

Just do

pip install dearpygui-ext==0.9.4

and it will end up installing 0.9.3

I assume there is some problem with bumping the python version while you release the library

Logger documentation example

The dearpygui-ext documentation still needs some love. It's here, but it's empty.
https://dearpygui-ext.readthedocs.io/en/latest/index.html

Cothren's example should be added.

import dearpygui.dearpygui as dpg
import dearpygui.demo as demo
from dearpygui_ext.logger import mvLogger

dpg.create_context()
dpg.create_viewport()

log = mvLogger()
log.log("log")
log.log_debug("log debug")
log.log_info("log info")
log.log_warning("log warning")
log.log_error("log error")
log.log_critical("log critical")

demo.show_demo()

with dpg.window(label="tutorial", width=500, height=500, show=False):
    dpg.add_button(label="Press me", callback=lambda:dpg.toggle_viewport_fullscreen())

# main loop
dpg.show_viewport()
dpg.setup_dearpygui()
dpg.start_dearpygui()
dpg.destroy_context()

Data Grid Widget

Feel free to comment additional suggestions.

Background

Although the table API is powerful, it is not the most friendly API for users wanting to quickly display data and requires a lot of manual setup. A higher level API written on top of the table API is desired. Something similar to the 0.6 simple table API but more powerful.

Required Functionality

  • Performant - easily display 100k's of rows
  • Easy
  • Column level control item types
  • Per-column settings
  • Sizing policies
  • Row/column appending
  • Row/column insertion
  • Sorting
  • Row/column deletion
  • Filtering
  • Selections
  • Reordering
  • Other settings

Methods

This will be object oriented and thus will be operated on through various methods. Below are the current public non-obvious methods:

  • insert_column(...) & insert_row(...)
  • append_row(...) & append_column(...)
  • delete_row(...) & delete_column(...)
  • get_cell_value(...) & set_cell_value(...)
  • hide_column(...) & show_column(...)
  • hide_row(...) & show_row(...)
  • get_column(...) & set_column(...)
  • get_row(...) & set_row(...)
  • get_selections(...) & set_selections(...)
  • highlight_row(...) & highlight_column(...) & highlight_cell(...) & undoing these

Selectable text in mvLogger

Is your feature request related to a problem? Please describe.
I use mvLogger a lot to print out interesting things about my application as I'm designing, debugging, etc. However, the text is not selectable nor copyable. It would be much more beneficial if it was.

Describe the solution you'd like
Make the text in the mvLogger not just a rasterized font display, but an actual text control that supports range selections, select all, copy, etc., via standard keyboard shortcuts and a context menu.

Describe alternatives you've considered
If I need the text output currently, I dump the text I want to a log file and then keep a text editor open to that secondary log stream. Not quite as convenient, but it works.

Additional context
n/a

Make the logger horizontally scrollable

Is your feature request related to a problem? Please describe.
I cannot see the entire log sometimes in the logging widget due to the lack of horizontal scrolling.

Describe the solution you'd like
Add a horizontal scroll to the logger.

Describe alternatives you've considered
None

Replace tabs with spaces

Consider spaces:

https://github.com/hoffstadt/DearPyGui_Ext/blob/2dcc147c2f3bb2467f70cfbf7521203fb006f4a5/dearpygui_ext/logger.py#L66C46-L66C46

        if level == 0:
            message = "[TRACE]    " + message
            theme = self.trace_theme
        elif level == 1:
            message = "[DEBUG]    " + message
            theme = self.debug_theme
        elif level == 2:
            message = "[INFO]     " + message
        elif level == 3:
            message = "[WARNING]  " + message
            theme = self.warning_theme
        elif level == 4:
            message = "[ERROR]    " + message
            theme = self.error_theme
        elif level == 5:
            message = "[CRITICAL] " + message
            theme = self.critical_theme

Unable to download 0.9.4

Version

Operating System: Windows 10

My Issue

When i try to download the version 0.9.4, it appears the errors on the cmd and instead download the 0.9.3

To Reproduce

  1. open cmd
  2. write pip install dearpygui-ext==0.9.4

Screenshot

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.