Tukaan is the new framework that aims to replace Tkinter

Overview

Tukaan

Code style: black

Tukaan is the new, pythonic and colorful (like a keel-billed toucan) framework that aims to replace Tkinter. It has everything (on my computer, not at GitHub) that you need to develop cross-platform GUIs.

WIP

Although all the basic widgets and other classes already exist in my local repo, they are not yet ready to push them to GitHub. I only push things to GitHub that work and can be tried, but they are still in progress, so you shouldn’t use it in any project.

The goal of Tukaan

The goal of Tukaan is to be an easy-to-use, powerful and pythonic alternative to Tkinter.

Tkinter is just a wrapper around Tk, that is so thin, that you can see through it, and even has holes on it. If you have ever used Tkinter, you know, it's kinda dumb. There are a lot of things not implemented in Tkinter, you can only access them with Tcl calls. Tukaan has everything you could need, and maybe even more.

In Tcl almost everything is represented as strings, and Tkinter doesn't convert them to Python objects, so you have to do that yourself. If you mess something up, it won't raise a Python exception, but Tcl a error, which you don't know what's wrong even if you know the Tcl language. Tkinter also looks awful by default. You can change this, if you use the the Ttk extensions. But why should you use extensions to make your GUI not look like it came from the 90's?

With Tukaan this is completely different. With it, the app looks native by default on Windows and on Mac OS as well. Unfortunately this isn't possible on Linux, but it uses a better theme than the Tk default.

Simple example

import tukaan

class MyApp(tukaan.App):
    def __init__(self):
        tukaan.App.__init__(self, title="My nice little Tukaan app")

        self.position = "center"

        self.button = tukaan.Button(self, text="Button")
        self.button.callback = lambda: print("ok")

        self.pack_widgets()
	
    def pack_widgets(self):
        self.button.pack()


def main():
    MyApp().run()

if __name__ == "__main__":
    main() 

Some very nice things in tukaan

Get clipboard content

print(tukaan.Clipboard.get())

# or

print(tukaan.Clipboard.content)

When was the user last active on the computer

print("User last active", tukaan.App().user_last_active, "seconds ago.")

Centering a window on the screen

For some reason it doesn't work sometimes

app = tukaan.App()
app.position = "center"

Color conversions

>> (0, 127, 255) print(color.hsv) >>> (210, 100, 100) print(color.cmyk) >>> (100, 50, 0, 0) ">
color = tukaan.Color("#007fff")
print(color.rgb)
>>> (0, 127, 255)
print(color.hsv)
>>> (210, 100, 100)
print(color.cmyk)
>>> (100, 50, 0, 0)

Screen information

screen = tukaan.Screen()
print(screen.width)
>>> 1920
print(screen.height)
>>> 1080
print(screen.dpi)
>>> 72

Credits

Many thing in Tukaan is based on:

Comments
  • packaging: migrate to a setup.cfg build

    packaging: migrate to a setup.cfg build

    TkDND is quite a big dependency which actually needs to be platform specific to reduce the size of the distribution wheels. I think you should move them to libtukaan.

    The other option is you keep them in tukaan, but then to reduce the distribution size, we need to fallback to setup.py based packaging.

    opened by demberto 23
  • change: use properties & descriptors

    change: use properties & descriptors

    Changed many / almost all getter / setter functions to either properties or descriptors. Using descriptors for a library like this will vastly reduce boilerplate.

    This is a BIG change. I might have unknowingly broken some code, since there were a lot of type errors, but I did check for references majority of the times.

    Tbh, the descriptors are placed a little randomly across modules, as I implemented them wherever required. I think there are just too many modules. The number of modules needs to be reduced and the scope of objects (variables / constants / functions / classes / modules) needs to be better indicated by a _ prefix to imply internal code.

    Apart from this, I personally have faced a lot of issues dealing with private variables for caching and public properties for exposing them. It might have been a different case for you but, imo private variables are best avoided wherever possible.

    opened by demberto 10
  • Add Mica effect, titlebar customization

    Add Mica effect, titlebar customization

    Hi!

    Could someone with Windows 11 build 22000 or above test the following two snippets for me?

    I don't have this build, and installing a new Windows build is kinda pain, so I'd be really grateful, if you someone could test them, and give feedback. Thanks!

    You can just download the 2022-02-16 branch, and run this two code to test it.

    Mica

    This code should add a Mica effect to the window, and remove it after 10 seconds.

    import tukaan
    
    app = tukaan.App(title="Test titlebar and window border customization")
    
    app.set_backdrop_effect("mica")
    
    tukaan.Timeout(10, lambda: app.set_backdrop_effect(None)).start()
    
    app.run()
    
    

    Titlebar bg, fg and window border:

    import tukaan
    
    app = tukaan.App(title="Test titlebar and window border customization")
    
    app.Titlebar.bg_color = tukaan.Color("#ffc568")
    app.Titlebar.fg_color = tukaan.Color("#6667ab")
    app.border_color = tukaan.Color("#007fff")
    
    app.run()
    

    I'm not sure, if I implemented the bg, fg and border color functions correctly, and the colors may be something completely else. Here's how they should look: asdf | color --- | --- titlebar should be this color | ffc568 titlebar text should be this color | 6667ab window border should be this color | 007fff

    help wanted 
    opened by rdbende 10
  • Add audio playback/record/manipulation features

    Add audio playback/record/manipulation features

    Audio in Tukaan

    Tukaan uses the awesome Snack Tk extension internally to play, record and manipulate audio. Unfortunately the Snack project is inactive since 2005, so I had to modify it a bit because it used deprecated, and removed ALSA functions. I also removed MP3/MPEG support, because it would require GPL license, and currently OGG/Vorbis and NIST/Sphere codecs aren't included.

    The Snack backend is implemented as a Git submodule, the repo can be found at github.com/tukaan/Snack

    Supported filetypes: Read: aiff, au, csl, sd, smp, snd, wav, and raw binary Write: aiff, au, csl, smp, snd, wav, and raw binary

    Basics

    from tukaan import Time, Timer
    from tukaan.audio import Filter, Sound
    
    sound = Sound()  # Create an empty sound object
    
    # --- OR ---
    
    sound = Sound(Path("/home/rdbende/Music/Elefánt/Kardhal.wav"))  # Load sound from file
    
    sound.play(Time[3:40])  # Play sound, starting at 3:40
    
    sound.convert("mono", sample_rate=16000)  # Convert sound to mono, 16kHz sample rate
    sound.save("./music.au")  # Save sound in a different format
    
    with Sound() as s:  # Deletes sound when __exit__ing
        s.play(block=True)
    

    Record audio

    sound = Sound()
    
    with sound.record():  # Stops the recording when __exit__ing
        Timer.wait(10)  # Wait for 10 seconds until it is recording
    
    # --- OR ---
    
    sound.start_recording(input="plughw:1")  # Start recording (without context) on the specified input device
    

    Do things with two sounds

    sound_1 = Sound()
    sound_2 = Sound()
    
    sound_1 += sound_2  # Concatenate sound
    
    sound_1 &= sound_2  # Mix sounds
    
    sound_1.insert(Time[2:34], sound_2)  # Insert a sound at 2:34
    

    Slicing a sound

    sound = Sound()
    
    sound[Time[1:23]:Time[4:56]]
    # Returns a SoundSection object (NOT a Sound object with that sound range!)
    # So you can modify the specified section of the original sound object (apply a filter, cut, crop, play and save)
    
    
    sound[Time[1:23]:Time[4:56]].detached
    # Returns a stand-alone Sound object containing the specified range from the original sound object
    
    sound[Time[1:23]:Time[4:56]]  # From 1:23 to 4:56
    sound[88200:Time[4:56]]  # From sample #88200 to to 4:56
    sound[Time[1:23]:...]  # From 1:23 to end of sound
    sound[...:Time[4:56]]  # From start of sound to 4:56
    # I know, you got it ;)
    

    Filters

    sound = Sound()
    
    # Apply filter to the sound
    sound @= Filter.Echo()
    
    # Chaining filters
    sound @= Filter.FadeIn() & Filter.Echo()  # Returns a ComposeFilter
    
    # Apply filter only to the playback
    with Filter.Reverb():
        sound.play()
    

    Available filters: Amplifier, Echo, FadeIn, FadeOut, Formant, Generator, IIR, MixChannels and Reverb

    Time

    Time[17:42:38]  # hours:minutes:seconds
    

    I created a time object too, to easily specify positions in the Sound. I could use datetime.time, but I don't like how it works.

    datetime.time.fromisoformat("01:23:45")
    

    You need separate method to be able to write a time as 1:23:45, and you need to use a string, so I just don't like it. I wanted to be able to write a time as Time(1:23:45). Of course, this is invalid syntax, but you can write Time[1:23:45] which will be interpreted as a slice. Unfortunately I can't make a Date object like this, because Date(2022/3/12) will be interpreted as a division anyways, so 🌻

    # These 3 are all the same
    
    time = tukaan.Time[1:23:45]
    
    time = tukaan.Time(1, 23, 45)
    
    time = tukaan.Time(hours=1, minutes=23, seconds=45)
    
    opened by rdbende 4
  • The first example in the readme fails with

    The first example in the readme fails with "TypeError: grid() got an unexpected keyword argument 'column'"

    The problem is in the following line:

    self.button.layout.grid(row=0, column=0, margin=(1, 2, 3, 4))
    

    There is no column parameter in the Grid.grid method, there is col instead.

    But I wonder, isn't it better to use full names like "column" or "columnspan"?

    opened by insolor 4
  • tukaan.exceptions.TclError: Serif: Unsupported platform windows-x64

    tukaan.exceptions.TclError: Serif: Unsupported platform windows-x64

    I cant run any Tukaan code on windows? Help

    import tukaan
    
    # Create window
    app = tukaan.App("Test TabView widget")
    
    # Create tabview
    tabview = tukaan.TabView(app)
    tabview.grid()
    
    # Create tabs
    tab_1 = tabview.Tab("Tab 1")
    tab_2 = tabview.Tab("Tab 2")
    
    # Add tab contents
    tukaan.Button(tab_1, "Button in tab 1").grid()  # You can display it inline, but then you can't access the object later
    tukaan.Button(tab_2, "Button in tab 2").grid()
    
    app.run()
    
    
    opened by PyHubs 2
  • Allow wildcard imports? 🤔

    Allow wildcard imports? 🤔

    When I create an app with tkinter I normally will start the file with from tkinter import * so it gets rid of the hassle of importing labels and buttons and whatnot. We need to make that compatible and work with Tukaan. Great job on the release by the way!

    further info 
    opened by Moosems 2
  • `tukaan.App` is crazy inefficient

    `tukaan.App` is crazy inefficient

    https://github.com/tukaan/tukaan/blob/fcf7ff97fe14da80d7f0d8b71e74c28d839e24f6/tukaan/app.py#L56-L70

    $ cat test.py
    import tukaan, tkinter, timeit
    
    
    def asdf():
        _ = tukaan.App()
        _.quit()
    
    
    def qwer():
        _ = tkinter.Tk()
        _.quit()
    
    
    print(timeit.timeit(asdf, number=100))
    print(timeit.timeit(qwer, number=100))
    
    $ python3 test.py
    can't invoke "event" command: application has been destroyed
        while executing
    "event generate $w <<ThemeChanged>>"
        (procedure "ttk::ThemeChanged" line 6)
        invoked from within
    "ttk::ThemeChanged"
    [...] * 99
    10.320173018000037  # tukaan
    2.983373939999933   # tkinter
    

    without those lines, tukaan is only between 2.9 and 3.3 seconds

    Times

    • with tukaan I never got below 2.9 (commented out those lines)
    • with tkinter I never got below 2.7
    • (with teek I never got below 3.3)
    opened by rdbende 2
  • AttributeError: partially initialized module 'tukaan' has no attribute 'App' (most likely due to a circular import)

    AttributeError: partially initialized module 'tukaan' has no attribute 'App' (most likely due to a circular import)

    I just follow the example given in ReadMeto try this module at the first time.

    import tukaan
    
    app = tukaan.App("My first Tukaan app")
    
    app.run()
    

    Then I get this error.

    
    (env) D:\Desktop\coding\sandbox>d:/Desktop/coding/discordpy/env/Scripts/python.exe d:/Desktop/coding/sandbox/tukaan.py
    Traceback (most recent call last):
      File "d:\Desktop\coding\sandbox\tukaan.py", line 1, in <module>
        import tukaan
      File "d:\Desktop\coding\sandbox\tukaan.py", line 3, in <module>
        app = tukaan.App("My first Tukaan app")
    AttributeError: partially initialized module 'tukaan' has no attribute 'App' (most likely due to a circular import)
    

    I am new to this module and I have no idea about why would this happens. Sorry for my incoveniences causes.

    opened by lmjaedentai 1
  • Add Windows blur

    Add Windows blur

    New feature to blur the window background on Windows.

    This API is kinda broken in Windows itself, and Microsoft hasn't documented it anywhere.

    Some documentation

    w.enable_bg_blur(tint, tint_opacity, effect)

    arg | type | description | default -- | -- | -- | -- tint | tukaan.Color | Color used to color the background. If None, current window bg color is used. | Current window bg tint_opacity | float | How much to color the background, on a range between 0 and 1. 0 = no color (transparent), 1 = only color (opaque) | 0.2 effect | tukaan.DwmBlurEffect | Sets what effect to use 👇 | DwmBlurEffect.BLUR (blur + tint with opacity)

    DwmBlurEffect (it's an enum) attributes
    
    DwmBlurEffect.DISABLED           -> no effect
    DwmBlurEffect.OPAQUE_COLOR       -> tint only
    DwmBlurEffect.TRANSPARENT_COLOR  -> tint with opacity
    DwmBlurEffect.BLUR               -> blur + tint with opacity
    DwmBlurEffect.ACRYLIC            -> acrylic blur + tint with opacity
    

    w.disable_bg_blur()

    Remove blur effect.

    Example

    import tukaan
    
    with tukaan.App(title="Nice little blur") as app:
        app.enable_bg_blur(tint=tukaan.Color("#6667ab"), tint_opacity=0.4)
        tukaan.Timeout(3, app.disable_bg_blur).start()
    

    Small hack (not really a hack by now)

    How to make acrylic effect?

    For acrylic effect you can use the effect argument, and set it to tukaan.DwmBlurEffect.ACRYLIC. This acrylic effect is available since Windows 10 1803, but it's incredibly laggy on all Windows 10 systems. Works well on Windows 11 though.

    opened by rdbende 1
  • Font management

    Font management

    I have no better idea than what teek does.

    Usually you don't need a named, mutable font object, just an object to specify the widget font, so a tcl namedfont is a total waste of memory. On the other hand it isn't good to have multiple font classes to different tasks.

    opened by rdbende 1
  • Add `Canvas` and `OpenGLCanvas` widgets

    Add `Canvas` and `OpenGLCanvas` widgets

    TODO:

    • Features of the traditional canvas widget: https://www.tcl.tk/man/tcl8.6/TkCmd/canvas.html

    • Features of the TkPath canvas widget https://github.com/avarga/tkpath/blob/master/doc/readme.adoc

    • OpenGL rendering

      • [ ] OpenGlCanvas class
      • [ ] moderngl or pyopengl? Moderngl is faster and more pythonic, but then we have to implement every platform specific stuff manually (context creation, makecurrent and swapbuffer)
    • Implement new dynamic theming engine using tkp::surface

    TODO in TkPath:

    • [ ] Add to libtukaan. Currently I have only a local .so
    • [ ] Some commands cause segfaults randomly. I've put some TODO comments to them
    • [ ] Finish partially or not implemented features

    Done (at least partially):

    These things need to be tested and possibly bugfixed

    • Canvas items
      • [x] Line (connects two points)
      • [x] Vector (has a length and a angle) See comment about these two in items.py
      • [x] Polygonal line
      • [x] Rectangle
      • [x] Square (rectangle subclass)
      • [x] Ellipse
      • [x] Circle (ellipse subclass)
      • [x] Polygon
      • [x] Text
      • [x] Image
      • [x] Path
      • [x] Item group
    • Utility classes
      • [x] Arrowheads
      • [x] Stroke patterns
      • [x] Transformations
      • [x] Pen (to draw object stroke)
      • [x] Brush (to draw object fill)
    • [x] TkPath works on Linux
    opened by rdbende 3
  • `LabeledView` widget

    `LabeledView` widget

    a.k.a labelframe. It could be really similar to the Frame (probably they should even be in the same file), but with a title attribute (a TextProp from _props.py. It should also inherit Frame.

    enhancement good first issue widget 
    opened by rdbende 0
  • `ButtonGroup` widget

    `ButtonGroup` widget

    A group of buttons, similar to RadioGroup. The button labels and callbacks could be specified in a dict, like items={"Text": do_something}.

    The leftmost button should have the Left.TButton style, the rightmost Right.TButton, and all the others Middle.TButton (similar stuff when the orientation is vertical), this way it's possible to do, that only the outer buttons have round corners. (I think my forest theme has this feature, but it might be only in one of my local branches).

    enhancement good first issue widget 
    opened by rdbende 0
  • High DPI support

    High DPI support

    • [ ] High DPI awareness High DPI awareness should be enabled on Windows by default
    • [ ] Scaling
      • [ ] Implement UI scaling
      • [ ] Support SVG based themes
      • [ ] Create SVG based sun valley theme
    good first issue 
    opened by rdbende 2
  • Accessibility

    Accessibility

    • [ ] Screen reader support I'm not sure... https://sourceforge.net/p/tcl/mailman/tcl-core/thread/8c01c04a-7c44-89a6-e2b4-90e919e37f63%40codebykevin.com/#msg36955189
    opened by rdbende 0
Releases(v0.2.0.retrigger)
  • v0.2.0.retrigger(Dec 22, 2022)

  • v0.2.0(Dec 22, 2022)

    Lots of breaking changes.

    What's Changed

    • change: use properties & descriptors by @demberto in https://github.com/tukaan/tukaan/pull/104
    • cleanup by @rdbende in https://github.com/tukaan/tukaan/pull/105
    • Bit of refactor on window stuff by @rdbende in https://github.com/tukaan/tukaan/pull/106
    • Add theming by @rdbende in https://github.com/tukaan/tukaan/pull/108
    • Fix a lotta bugs, add some tests by @rdbende in https://github.com/tukaan/tukaan/pull/110
    • Add filedialogs by @rdbende in https://github.com/tukaan/tukaan/pull/89
    • Check non-pip dependencies in setup.py by @rdbende in https://github.com/tukaan/tukaan/pull/117

    New Contributors

    • @demberto made their first contribution in https://github.com/tukaan/tukaan/pull/104

    Full Changelog: https://github.com/tukaan/tukaan/compare/v0.1.3...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Aug 30, 2022)

    What's Changed

    • Improved tooltips
    • Built-in dependency troubleshooting stuff
    • Update font file stuff and move to libtukaan by @rdbende in https://github.com/tukaan/tukaan/pull/100

    Full Changelog: https://github.com/tukaan/tukaan/compare/v0.1.1...v0.1.2

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Aug 30, 2022)

    What's Changed

    • Improved tooltips
    • Built-in dependency troubleshooting stuff
    • Update font file stuff and move to libtukaan by @rdbende in https://github.com/tukaan/tukaan/pull/100

    Full Changelog: https://github.com/tukaan/tukaan/compare/v0.1.1...v0.1.2

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Jul 3, 2022)

    What's Changed

    • Add ToolTip class by @Moosems in https://github.com/tukaan/tukaan/pull/80
    • Update Serif to work on macOS in 5ce336e

    New Contributors

    • @Moosems made their first contribution in https://github.com/tukaan/tukaan/pull/80 🎉

    Full Changelog: https://github.com/tukaan/tukaan/compare/v0.1.0...v0.1.1

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Jul 2, 2022)

    !! Not backwards-compatible !!

    What's Changed

    • Rewrite quasi everything by @rdbende in https://github.com/tukaan/tukaan/pull/82

    Full Changelog: https://github.com/tukaan/tukaan/compare/v0.0.1.dev1...v0.1.0

    * There's no multiline textbox widget at the moment, however the Entry widget was renamed to TextBox, this might be confusing 😕 The multiline text widget will return, but in a revised form, at least until it is merged into the Tcl/Tk core

    Source code(tar.gz)
    Source code(zip)
  • v0.0.1.dev1(Jun 5, 2022)

  • v0.0.1.dev0(Apr 22, 2022)

    This is the first release of Tukaan! ✨🥳 Tukaan website: https://tukaan.github.io Pypi project link: https://pypi.org/project/tukaan

    Feedback is welcome!

    Source code(tar.gz)
    Source code(zip)
Owner
Tukaan
Tukaan is the new framework that aims to replace Tkinter
Tukaan
This repository contains some projects that I have done using Python + Tkinter.

This repository contains some projects that I have done using Python + Tkinter.

João Victor Vilela dos Santos 1 Nov 10, 2021
Python script with tkinter that allows you to open a local chat room

Server_chat Python script with tkinter that allows you to open a local chat room To begn you'll have to start the server side script and run it. You w

2 Feb 11, 2022
build GUIs from python functions, using magic.

magicgui: build GUIs from functions, using magic. 📖 Docs Installation magicgui uses qtpy to support both pyside2 and pyqt5 backends. However, you mus

napari 0 Nov 11, 2022
Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

Textual is a TUI (Text User Interface) framework for Python inspired by modern web development.

Will McGugan 17.1k Jan 08, 2023
Transparent & click through tkinter window. WINDOWS ONLY

REQUIREMENTS: WINDOWS ONLY pip install pywin32 NOTES: Will not work on top of a fullscreen application, if you are using this to draw on top of a gam

francis 2 Nov 04, 2022
EZ Presence - A GUI-Python app which makes it easy to set a custom Discord Rich Presence. (BETA)

EZ Presence EZ Presence is a GUI-Python app which makes it easy to set any custom Discord Rich Presence. Using the App How to Run Since the app is in

notsniped 2 Mar 01, 2022
Tkinker GUI for a college project.

GuiUtilities Pequeña suite de utileria con Tkinter enfocada en sistemas Linux. Lista de trabajo Crear archivo Copiar archivo a otro dir Editar con un

1hiking 2 Nov 25, 2021
Py address book gui - An address book with graphical user interface developed with Python Tkinter

py_address_book_gui An address book with graphical user interface developed with

Milton 4 Feb 01, 2022
A library for building modern declarative desktop applications in WX.

re-wx is a library for building modern declarative desktop applications. It's built as a management layer on top of WXPython, which means you get all the goodness of a mature, native, cross-platform

Chris 115 Dec 24, 2022
Kivy is an open source Python framework for creating cross-platform multi-touch mobile applications with Natural User Interface.

Kivy is an open source Python framework for creating cross-platform multi-touch mobile applications with Natural User Interface.

Grace Ugochi Nneji 3 Feb 15, 2022
Desktop application for Windows/macOS users to rotate through custom, preset, and searched-for collections of backgrounds with scheduling and additional settings

Background Revolution (In Development, Alpha Release) What? This will be an application for users to customize their windows backgrounds by uploading

Daniel Agapov 1 Nov 02, 2021
PyQt QGraphicsView with selection box. User can move vertical border of the box horizontally.

pyqt-horizontal-selection-square-graphics-view PyQt QGraphicsView with selection box. User can move vertical border of the box horizontally. Requireme

Jung Gyu Yoon 3 Nov 07, 2022
A desktop application developed in Python with PyQt5 to predict demand and help monitor and schedule brewing processes for Barnaby's Brewhouse.

brewhouse-management A desktop application developed in Python with PyQt5 to predict demand and help monitor and schedule brewing processes for Barnab

Isaac Cheng 2 Jul 09, 2022
Primeira interface (simples) desenvolvida em Python utilizando o PySimpleGUI

Interface-Python Sobre o projeto Primeira interface gráfica (simples) desenvolvida em Python utilizando o PySimpleGUI Interface Gráfica Tecnologias ut

Matheus Maia Alvarez 5 Apr 09, 2022
Advanced GUI Discord Account Nuker that is easy to use, with many features.

AccountNukeV3 Showcase Youtube: Features: Remove all friends Block all friends Leave all servers Mass create servers Close all dms Mass dm Fuck Settin

Lodi#0001 24 May 22, 2022
UI to save and load gnome-shell extension templates.

Gnome Extensions Loader GUI to save and load gnome shell extensions and extension settings. This app makes it easier to share your gnome extensions se

EMRECAN ALTINSOY 2 Nov 25, 2022
PyQT5 app for LOLBAS and GTFOBins

LOLBins PyQT app to list all Living Off The Land Binaries and Scripts for Windows from LOLBAS and Unix binaries that can be used to bypass local secur

Hamza Megahed 41 Dec 01, 2022
Bill Cipher is a Python3 Tkinter Application that creates Python remote backdoors, while giving you the option to convert it to an exe.

Bill Cipher is a Python3 Tkinter Application that creates Python remote backdoors, while giving you the option to convert it to an exe. The program also configures a .py server file that works with t

Damian Mostert 2 Apr 12, 2022
A GUI calculator made with tkinter module in python

GUI-Calculator A GUI calculator made with tkinter module in python How to setup the calculator If pygame is not installed, go to terminal and do pip i

Eric Jing 0 Aug 25, 2021
Win32mica: a simple module to add the Mica effect on legacy python windows.

Win32mica (aka PyMica): A simple module to add the Mica effect on legacy python windows The aim of this project is to apply the Mica effect on python

Martí Climent 40 Dec 13, 2022