UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner

Overview

UberGui V4

UberGui is a lightweight multi-threaded, webRender UI module for TouchDesigner projects. The aim is to solve the trifecta of challenges building UI's in TouchDesigner often poses: being fast, feature rich, and visually appealing.

Additionally, UberGui is built as a layer of abstraction directly on top of Custom Parameters, so you can use this in existing projects with little to no additional refactoring.

Fast, Beautiful, with TouchDesigner-centric features.

Performance

UberGui uses the webRender TOP in TD which runs a separate threaded instance of an embedded chromium browser. You can spawn many UG UI's and each will run independently of the main TouchDesigner TOE. Keeping your UI's from bogging down your real-time projects.

Both real time performance when many parameters are animated AND the speed in which a totally new ui is generated is very fast.

ubergui performance animated

ubergui performance slider

Resting performance is very low, just the cost of the web render TOP. NOTE: You can even disable the "Enable Thread" parameter, when you want to fully shut down the cook times of UG, for example when a certain window is not open, or part of the software not visible.

ubergui performance resting

Aesthetic

Since UberGui is built on html/css we have a massive array of pre existing tech and styling options to leverage to build out compelling UIs. For this tool, I've exposed many of these css styling variables to TD, through a custom parameter styles page. You can modify/expose as many others as you'd like very easily with the parameter injection find/replace method.

ubergui colors

You can also change the horizontal alignment of several elements from the styles page.

ubergui colors

Features

UberGui is built to layer directly on top of existing projects that utilize Custom Parameters, and is intended to be a visual and functional extension of that feature set in TouchDesigner.

That said, it does offer many additional ways to manipulate and set numerical values that can speed up workflows and improve the experience greatly. Those features are covered below.

Using UberGui

Initial Setup

The fastest way to get going is to just download the Tox file in this repo, and drag it into your project. If you haven't used UberGui before, I suggest cloning the entire repo or downloading a zip file, and opening the UberGui_V4_Release.toe file to see how to use it with examples.

Input Mode

UberGui supports operation via mouse, and via touchscreen. The default mode is mouse, however you can change the Input Mode parameter shown below to activate Touch mode. If you do this, it's usually recommended to increase the height of parameter rows, and headers so it's easier to interact with them.

ubergui input mode

Page Filtering

UberGui by default is looking for any custom parameter pages on your source object. If you have some custom pages you wish to have visible, and others not - you can use the other page filtering mode in the config page, which will only show pages named with all upper case characters.

ubergui page filtering

Scroll Speed

If scrolling or touch interactions are too fast or too slow, you can change the speed and acceleration below:

ubergui scroll speed


Adjusting Values via Sliders

You can adjust the value of any type of numerical parameter just dragging left and right. The min/max ranges of the parameter will determine the range. Menu parameters can also be treated like a slider.

ubergui slider adjustment


Manual Entry via Field

Double clicking on any field will launch an editable field that you can type values into. Most parameters have this ability, but some do not (like the Menu parameter).

ubergui field entry1

You may also tab to next for quick entry of several values either in a parameter tuple row or simply down the line. Each tab press will launch a field in the next parameter, if it supports a field.

ubergui tab through

You can also left click on any label, to automatically enter field entry mode for it's parameter (if supported).

ubergui field entry 2

You can also type in valid python expressions (in TD math is imported by default for us). These will not be set to the TD expression mode of the parameter, it will simply be evaluated when set.

ubergui field entry expr

You are able to evaluate expressions using many of the common measurement units as well (the assumed default unit cm).

ubergui field entry units


Scroll Wheel

Depending on where your mouse is inside the UI, the scroll wheel will perform one of two functions generally.

When scrolling inside a parameter slider on the right half of the UI, it will adjust the parameter value in increments ( ctrl and shift will scale the increments accordingly )

ubergui slider scroll

When scrolling on the left side of the UI, this will scroll vertically through your UI if there is a scroll bar.

ubergui slider scroll down


Parameter Reset

Right Clicking on any parameter label will reset the value to it's TD parameter set default.

right click reset


Auxiliary UI

Menu and Color parameters have special auxiliary UI that will launch over top of UberGui to make it easier to choose a value. You'll see the triple dot icon to the right when this is the case. (file and folder parameters use this icon as well, but they simply launch TouchDesigner's built in picker.)

ubergui aux ui

You can take advantage of the tool-tips overlay, if you include a table DAT in the source object, that contains descriptions of each parameter.

ubergui tooltips

This is also where you'd specify special functionality for certain types of parameters in the third and fourth columns.

ubergui override config


Touch Screen support

Touch Screens are supported as well, via a parameter called Input Mode, in the Config page. By default it's set to a mouse control scheme, but upon switching to Touch mode, the mouse is disabled in UG and Touch Screen controls become active.

Scrolling is easy, just drag up and down on the left side of UberGui.

ubergui tooltips

When in Touch mode, you always need to single tap an element before trying to interact with it. This is because our ability to "hover" over a UI element is not possible with Touch Screen mode.

ubergui touch hovering

Using a slider is simple, just tap and drag left to right.

ubergui touch sliders

To reset a parameter tuplet to it's default value(s), highlight a label, then long press to reset. NOTE: You can change the global delay for long press in the config page of UG.

ubergui touch reset fields

To enter field mode, long press any element after highlighting it with a tap.

ubergui touch field entry


Support this work

If you find value in this sort of thing, help me dedicating time to making open source code.

Donate Donate

Comments
  • There is some sort of cooking issue on launch that prevents any interaction.

    There is some sort of cooking issue on launch that prevents any interaction.

    On the multi-touch side there are a few problems. There is some sort of cooking issue on launch that prevents any interaction. Diving into the network fixes it, as does force cooking uberGUI with recurse=True. The multitouch is smooth for the left part of the screen, but the scrollbar works opposite to how one might expect it to.

    bug 
    opened by EnviralDesign 5
  • Scrolling Parameter RFEs

    Scrolling Parameter RFEs

    It would be great if part of the Style page a scroll wheel speed modifier were implemented. While I can traverse all the parameters in 'Heavy' in the Parameters Inspector with a single wheel scoll, it takes me 30 full scrolls to do the same thing in UberGUI, and a public multiplier would be helpful in dialing in a user facing interface and making it feel good

    the two finger scroll actually feels pretty good for flicks on a laptop mouse pad, but two finger scroll doesn't work unless you let up off the pad the hovers freak out a bit, which isn't the expected behavior in a browser... that very well may be a limitation of TD tho

    On a touch screen things break a bit. Increasing the Scroll Bar width makes it fairly navigable from a touch ui, but a two finger multi-touch scroll would be amazing. To that end, the ability to adjust the fill weight between the left and right part of the panel, and set the texts H orientation would be fantastic. Right now most elements can be interacted with via touch screen, but they require a double click on a new one, otherwise the parameter gets stuck on a recently interacted with parameter. This can be fixed by using a regular mouse to engage a new parameter. Obviously touchscreen functionality isn't a priority with this UI, but I figured feedback on how its functioning with one could be helpful.

    Thanks again for releasing this, its a great contribution. Looking forward to spending some more time with it

    enhancement 
    opened by drmbt 5
  • RFE: Handle header type pars

    RFE: Handle header type pars

    I think I only have one RFE remaining. Currently "header type" pars are rendered as editable strings. Imho these should get their own (header like) styling. Or, as a quick fix, those could be just rendered as headers.

    enhancement 
    opened by AchimKern 4
  • New stable lselect_mouse error

    New stable lselect_mouse error

    spamming clicks on the left half of the interface returns some errors in converting string to float from the l_select chop. error looks like dis:

    Traceback (most recent call last): File "/project1/container_UG_V4/chopexec_interact_mouse_lselect", line 11, in onOffToOn File "/project1/container_UG_V4/UG4", line 409, in Interact_LeftClick_Down ValueError: could not convert string to float: '0.97666666666666677OklOSVQsWDowLFk6MDwvdGl0bGU%2BCjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPHN0eWxlPgoKOnJvb3QgewogIC0taG92ZXItdHJhbnNpdGlvbi10aW1lOiAwLjFzOwogIC8qLS1wYXJhbWV0ZXItcm93LWhlaWdodDogOyovCn0KCgpodG1sLCBib2R5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLDEzLDEzKTsKICBtYXJnaW46IDBwdDsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKCi5kZWJ1ZyB7CiAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMHB0OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDUwOwogIG9wYWNpdHk6IDAuMDsKfQoKCi5ibGFua2l0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLDEzLDEzKTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9CgoKLyogd2lkdGggKi8KOjotd2Via2l0LXNjcm9sbGJhciB7CiAgd2lkdGg6IDEwcHg7CiAgYmFja2dyb3VuZDogcmdiKDEzLDEzLDEzKTsKfQoKLyogSGFuZGxlICovCjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogIGJhY2tncm91bmQ6IHJnYig3Niw3Niw3Nik7Cn0KCgouc3BhY2VyX3NlY3Rpb24gewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMnB4Owp9Ci5zcGFjZXJfaGVhZGVyIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDJweDsKfQoKCi5oZWFkZXJfY29udGFpbmVyIHsKICBmb250LWZhbWlseTogIkNhbGlicmkiOwogIGZvbnQtc2l6ZTogMTQuMHB0OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIG1hcmdpbi1ib3R0b206IDJweDsKICBwYWRkaW5nLXJpZ2h0OiA0cHQ7CiAgcGFkZGluZy1sZWZ0OiA0cHQ7CiAgbWFyZ2luLXJpZ2h0OiAycHg7CiAgbWFyZ2luLWxlZnQ6IDJweDsKICBoZWlnaHQ6IDMwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1MywxNTMsMTUzKTsKICBjb2xvcjogcmdiKDI2LDI2LDI2KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBsaW5lLWhlaWdodDogMzBweDsKICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KCi53aWRnZXRfY29udGFpbmVyIHsKICBoZWlnaHQ6IDI1cHg7CiAgZGlzcGxheTogZmxleDsKICBtYXJnaW4tcmlnaHQ6IDJweDsKICBtYXJnaW4tbGVmdDogMnB4OwogIG1hcmdpbi1ib3R0b206IDFweDsKfQoKCi53aWRnZXRfbGFiZWwgewogIGZvbnQtZmFtaWx5OiAiVGFob21hIjsKICBmb250LXNpemU6IDkuMHB0OwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgY29sb3I6IHJnYigyMTcsMjE3LDIxNyk7CiAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgcGFkZGluZy1yaWdodDogNHB0OwogIHBhZGRpbmctbGVmdDogNHB0OwogIGxpbmUtaGVpZ2h0OiAyNXB4OwogIG1hcmdpbi1yaWdodDogMXB4OwogIGhlaWdodDogMTAwJTsKICB3aWR0aDogNTAuMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LDI2LDI2KTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24tdGltZSk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsKfQoKCgoud2lkZ2V0X3Rvb2x0aXAgewogIGZvbnQtZmFtaWx5OiAiVGFob21hIjsKICBmb250LXNpemU6IDhwdDsKICBjb2xvcjogcmdiKDIwNCwyMDQsMjYpOwogIG9wYWNpdHk6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiAyNXB4OwogIHdpZHRoOiAxNXB4OwogIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24tdGltZSk7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xNTsKfQoKLndpZGdldF9jb250YWluZXI6aG92ZXIgLndpZGdldF90b29sdGlwIHsKICBvcGFjaXR5OiAwOwp9Cgoud2lkZ2V0X3Rvb2x0aXA6aG92ZXIgewogIGZvbnQtc2l6ZTogMTRwdDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTEsNTEsNTEpOwp9Cgoud2lkZ2V0X2xhYmVsOmhvdmVyIHsKYmFja2dyb3VuZC1jb2xvcjogcmdiKDUxLDUxLDUxKTsKfQoKLndpZGdldF9sYWJlbDphY3RpdmUgewpiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAyLDEwMiwxMDIpOwp9Cgoud2lkZ2V0X2JvZHkgewogIG1hcmdpbjogMHB0OwogIHBhZGRpbmc6IDBwdDsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDUwLjAlOwogIGRpc3BsYXk6IGZsZXg7Cn0KCi53aWRnZXRfaXRlbSB7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LDI2LDI2KTsKICBib3JkZXItd2lkdGg6MHB0OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgdHJhbnNpdGlvbjogdmFyKC0taG92ZXItdHJhbnNpdGlvbi10aW1lKTsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7Cn0KCi53aWRnZXRfSXRlbUNob29zZXIgewogIGZvbnQtZmFtaWx5OiAiVGFob21hIjsKICBmb250LXNpemU6IDkuMHB0OwogIGNvbG9yOiByZ2IoMjE3LDIxNywyMTcpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBsaW5lLWhlaWdodDogMjVweDsKICBwYWRkaW5nOiAwcHQ7CiAgaGVpZ2h0OiAxMDAlOwogIGZsZXg6IDAgMCAyNXB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNiwyNiwyNik7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBib3JkZXItd2lkdGg6MHB0OwogIGJvcmRlci1zdHlsZTogc29saWQ7CiAgYm9yZGVyLWNvbG9yOiByZ2IoMTUzLDc3LDApOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgbWFyZ2luLWxlZnQ6IDFwdDsKICBtYXJnaW4tc'

    bug 
    opened by drmbt 4
  • Certain par styles set to None can't be edited directly in interface

    Certain par styles set to None can't be edited directly in interface

    Certain par types that take a string path, such as Op, OBJ, MAT, SOP. DAT, CHOP, Python, TOP. COMP etc. can't be interacted with until something has been assigned manually via the network editor parameter... once a value has been entered there, it can be double click edited as expected, but if the starting value is 'None', no interaction takes effect. This is easily reproduced by monitoring the 'Heavy' example and engaging the UI for such parameters

    bug 
    opened by drmbt 4
  • More touchscreen issues

    More touchscreen issues

    Hey again this behaves much better, but I'm still having touchscreen issues

    ISSUE 1 open your demo file and scroll down to "Numeric special" touch RGB color pick "..." > dont change anything in the popup picker > try to close it by touching outside. If it closes open the color picker again and try to close it ... At some point (rather sooner than later) I get stuck in the opened popup picker and cant close it. If that happens , the only way to close it is to select a new color (or move the mouse)

    ISSUE 2: open "RGB" picker by touching the blue "..." changeit to red touch outside to close color picker

    touch "RGBA" ".." -> color picker opens with the correct color (orange) but if you click in the big square to pick a new orange tone the hue will jump to the hue of the previou(RGB) par (red)

    bug 
    opened by AchimKern 3
  • RFE: Ignore expr mode params  or fully support those

    RFE: Ignore expr mode params or fully support those

    Right now I can edit a param that is in expression mode, but that will put the param into constant mode. But for the end user of the gui this is not transparent, so he might easily break stuff

    Maybe it would be better to (optionally) ignore parameters that are in expression (or export) mode

    Or to fully support editing parameters that are in expression mode, i.e. to not change them to constant mode

    enhancement 
    opened by AchimKern 3
  • TD network navigation trigger ubergui errors

    TD network navigation trigger ubergui errors

    Hey Lucas,

    finally found time to check it out. Great job!

    Small issue here:

    Open the toe file and press "u" key to get out of project 1 then press "Enter" key

    Traceback (most recent call last): File "/project1/container_UG_V4/keyboardin_hotkeys_callbacks", line 23, in onKey File "/project1/container_UG_V4/UG4", line 1396, in Trigger_Enter File "/project1/container_UG_V4/field/field", line 100, in Set AttributeError: 'NoneType' object has no attribute 'val'

    bug 
    opened by AchimKern 3
  • Field editing binded pars

    Field editing binded pars

    Hi Lucas

    I think this might be the same issue as someone else reported. Editing binded parameters via slider/buttons works perfectly, the issue is when you double click to edit a par, you get the value of the "constant mode" in the field

    Open your demo file, load the custom OP example

    drag the Bind slider to e.g: 0.5

    double click the slider/value to edit the value manually

    -> the field will show 0.0 (and NOT 0.5)

    bug 
    opened by AchimKern 2
  • Menu width doesn't take scrollbar width into account

    Menu width doesn't take scrollbar width into account

    Now that the popup menu scrollbar width can be configured, the dropdown menu extends across the width of the parameter if you increase the scrollbar width

    bug 
    opened by AchimKern 2
  • RFE: Allow Bind mode

    RFE: Allow Bind mode

    Hi Lucas

    I appreciate the read-only mode for parameters in expression mode.

    But imho bind mode should NOT be read-only. In my testing it worked perfectly (I was binding to a dependDict holding parameter presets)

    Could you please re-enable parameters in bind mode (or provide a setting which pars modes will be read-only)

    Also, is there a way to set the text colors for expression, read only and export mode? Thanks!

    enhancement 
    opened by AchimKern 2
  • uberGUI doesn't always update read-only parameters reliably

    uberGUI doesn't always update read-only parameters reliably

    I've noticed that uberGUI doesn't always update read-only parameters reliably. I have a base with string parameters being updated by an extension, and while they dependably update at the base level, and if they are not read-only, when read-only is engaged I'm not seeing the feedback updating in the UG string parameter.

    opened by drmbt 0
  • RFE: radio buttons

    RFE: radio buttons

    Hello Lucas, amazing work with UberGui!

    I know the architecture is to make an abstraction layer over the Custom Parameters of COMP's, and that the Radio button option is not available natively in TD Custom Pars, but.. what do you think? is it something we can hope for?

    For what I see, the menu par type is a good candidate, it generates a list of buttons already in UberGui implementation. What would be nice is to have an option to render that list of buttons directly instead of being "inside" the menu

    cheers, Rui

    enhancement 
    opened by ruigato 6
  • Add ability to break or replace par.mode via UberGui.

    Add ability to break or replace par.mode via UberGui.

    right now if a parameter has an expression, or bind, it cannot be switched back to parmode.CONSTANT.

    Have some macro or UI way to trigger a reset to default. maybe shift+right click, or shift+ctrl+rightclick?

    enhancement 
    opened by EnviralDesign 0
Releases(4.1.0)
  • 4.1.0(Apr 26, 2021)

    • Upgraded to be compatible with TouchDesigner 2021.12380.
    • Fixed bug related to TouchDesigner upgrade, causing Touch input to affect the last dragged parameter.
    • Par selection middle mouse drag n drop callback.
    • Fixed color picker error in touchscreen mode.
    • Some enhancements to how drop down menu's are styled.
    • Fixed bug where enter key was causing stray errors and triggering too often.
    • Color picker "..." element's background now takes on the color of the color parameter.
    • Added read only styling to other par modes, like expression, export, and bind. These can not be edited in UberGui for now.
    Source code(tar.gz)
    Source code(zip)
    UberGui_V4_Release.toe(64.91 KB)
    UGV4.tox(50.88 KB)
  • v4.0.1(Feb 7, 2021)

    • Code refactored largely into extensions in anticipation of Touch mode.
    • Touch Screen mode added for users with Touchscreens.
    • Style parameters added for horizontal alignment of text, and UI vertical split.
    • New option for choosing different methods of page filtering. Default is now all custom pages instead of uppercase names only.
    • Added parameters for adjusting scroll rate, and scroll acceleration, making it possible to speed up scrolling or slow it down.
    Source code(tar.gz)
    Source code(zip)
    UGV4.tox(46.27 KB)
  • v4.0.0(Feb 4, 2021)

Owner
LUCAS M MORGAN
Lighting Designer, Touch Designer programmer, LED fanatic
LUCAS M MORGAN
Bank-Project - A bank ATM simulator recreated in python

Bank-Project A bank ATM simulator recreated in python. NOTE: this repo is a translation of Rasphy2009/Proyecto-Banco Requirements (.py only) 🐍 Python

Rasphy 2 Jan 02, 2022
GUI based app made in python using tkinter

Virtual Keyboard A GUI application made in python using tkinter This is my first ever proper GUI based application project after learning tkinter rece

AbhineetK 10 Dec 10, 2022
⏲️ 📙 Animedoro Timer made using tkinter in python

Animedoro Timer ⏲️ 📙 version- 1️⃣ . 0️⃣ . 0️⃣ Hey ! did you ever feel bad for not concentarting enough? , it's not you're mistake, there is a flaw in

SasiVatsal 8 Oct 18, 2022
Quebra cabeça - Utilizando biblioteca do python: PyQt5

Puzzle 3x3 PyQt5 - Windows Quebra cabeça - Utilizando biblioteca do python: PyQt5 Para testar este quebra cabeça na sua maquina, primeiramente faça o

Matheus Marsal 1 Dec 21, 2021
Key Cast - Cast your key presses and mouse clicks on the screen, while casting your favorite application on the screen. Better than the rest.

Key Cast Screen cast your keyboard and mouse clicks in style Project Homepage » View Demo · Report Bug · Request Feature Table of Contents Introductio

Mehul Singh Teya 13 Dec 23, 2022
HDLG is a modern cross-platform GUI for hdl-dump with Batch installation capabilities.

HDLG is a modern cross-platform GUI for hdl-dump with Batch installation capabilities. Looking for Artwork This project is looking for an Icon an

8 Dec 03, 2022
Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1-column txt file (1 taxonomy id for each file)

codon optimize cds paired with taxids singlefastas gui Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1

Olga Tsiouri 1 Jan 09, 2022
GUI to enable user selection of measurement and station in kHTConnector module.

kHTGui GUI to enable user selection of measurement and station in kHTConnector module. Helper tool for PowerBI users If you're planning to import data

kk 1 Jan 26, 2022
A Minimalistic Backup GUI for your Windows, Mac or Linux

BlobBackup is a minimalistic backup utility for your Windows, Mac or Linux computer. With an excellent engine, extensive storage support, and an easy

Bimba Shrestha 283 Nov 30, 2022
PyEditor - A Simple Text Editor for python

PyEditor work in progress Text Editor for python Installation git clone https://github.com/ArmenG888/PyEditor Install the libraries Linux or mac pip

ArmenG 3 Mar 15, 2022
PyCG: Practical Python Call Graphs

PyCG - Practical Python Call Graphs PyCG generates call graphs for Python code using static analysis. It efficiently supports Higher order functions T

Vitalis Salis 185 Dec 29, 2022
Py3editor - A text editor written in Python and Tkinter

Py3Editor My text editor written in Python and Tkinter! Contains a basic set of

JaydenDev 1 Mar 05, 2022
My Git GUI version made in Python and Tkinter.

Description My Git GUI version made in Python and Tkinter. How to use Basically, create a folder in your computer, open the software, select the path

Matheus Golzio 4 Oct 10, 2021
A Simple GUI application to organize and store accounts/passwords.

PyssView A Simple GUI application to organize and store accounts/passwords. Install/Run (Linux) Via script This way will install a binary version and

Jefferson Richard Dias 1 Nov 24, 2021
Currency calculator with PyQt5

currency-calculator currency calculator with PyQt5

Vusal Akhundzada 2 Mar 08, 2022
Gmail account using brute force attack

Programmed in Python | PySimpleGUI Gmail Hack Python script with PySimpleGUI for hack gmail account using brute force attack If you like it give it

Adrijan 127 Dec 30, 2022
System Tray Icon for PySimpleGUI (the tkinter version). Adds a system tray icon by using pystray and PIL

psgtray Add a System Tray Icon to your tkinter port of PySimpleGUI. Installation via pip Installation is via pip: python -m pip install psgtray or if

PySimpleGUI 38 Dec 30, 2022
GUIOfTemperatureConverterUsingPython - GUI Of Temperature Converter Using Python

Fahrenheit To Celcius GUI Of Temperature Converter Below Video is the Output Of

SUJITHA RASAMSETTY 0 Mar 06, 2022
WhirlEdit, an excellent {code} editor

HELP! If you're experienced, I want you to make an executable for your platform (windows/mac/linux) and help me.. For more info get in touch at whirlp

whmsft 10 Aug 18, 2022
Function-Plotter - GUI Python program that plots functions that are entered by the user

FunctionPlotter GUI Python program that plots functions that are entered by the user. The program takes minimum and maximum value for x and plot it as

Mohamed Magdy 2 Jan 20, 2022