# 🛠️ Toolsan Desktop
> Build GUI apps in seconds — zero boilerplate, pure Python!
[](https://pypi.org/project/toolsan-desktop/)
[](https://pypi.org/project/toolsan-desktop/)
[](https://opensource.org/licenses/MIT)
---
## ⚡ One-liner
```python
import toolsan_desktop as td
td.window("Epic App").mainloop()
BOOM. You've got a window.
📦 Install
pip install toolsan-desktop
That's it. Dependencies auto-install. You're welcome.
🚀 Features
🪟 window() — Create a window
win = td.window(
title="My App", # Custom title
fullscreen=False, # Go fullscreen?
geometry="800x600", # Width x Height
bg="#1a1a2e" # Hex or color name
)
🔘 button() — Add a button
def Hello():
print("Hello!")
td.button(
win, # Window
text="PUSH", # Button text
sizex=200, # Width
sizey=60, # Height
bg="#e94560", # Background
indentx=300, # X position
indenty=400, # Y position
com=Hello # Callback
)
🖼️ image() — Show images
td.image(
win, # Window
path="meme.jpg", # Image path
x=100, y=100, # Position
width=300, height=200 # Resize (optional)
)
✍️ dprint() — Typewriter effect
td.dprint(
win, # Window
text="Wake up, Neo...", # Text
delay=0.05, # Speed (seconds/char)
color="#00ff41", # Hack the planet
font=("Courier", 20), # Font & size
x=50, y=50 # Position
)
🔊 speak() — Make it talk
td.speak(
text="I can speak!", # What to say
lang='en', # 'en', 'ru', 'fr', etc.
slow=False # Slow mode? why not
)
🎵 play() — Play audio
td.play("boss_fight.mp3") # MP3, WAV, OGG — it's all good
🎮 Full Example
import toolsan_desktop as td
# Window
win = td.window("Cyber Assistant", bg="#0a0a0a", geometry="700x500")
# Animated title
td.dprint(win, ">>> SYSTEM READY", delay=0.08, font=("Courier", 28), color="#00ff41", x=180, y=80)
# Button that talks
def greet():
td.speak("Hello, commander!")
td.dprint(win, "> Voice module activated", delay=0.02, font=("Courier", 14), color="#00ff41", x=200, y=200)
td.button(win, text="🤖 GREET", sizex=200, sizey=60, bg="#00ff41", indentx=250, indenty=350, com=greet)
# RUN
win.mainloop()
🤯 Why Toolsan Desktop?
· ✅ No boilerplate — 1 line = working window · ✅ Auto-installs deps — pygame, pillow, gtts · ✅ Tkinter power — but 10x simpler · ✅ TTS out of the box — your app talks · ✅ Typewriter text — like in games · ✅ Images & audio — zero hassle · ✅ MIT license — use it anywhere
🧩 Dependencies
Library What it does pygame Audio playback pillow Image handling gtts Text-to-speech tkinter GUI (built-in)
All installed automatically. No manual setup.
📈 Roadmap
· entry() — input fields · checkbox() — toggles · menu() — dropdowns · progress() — loading bars · Drag & drop support
PRs welcome! Let's make this the easiest GUI library ever.
📝 License
MIT — do whatever you want. Just don't blame us if your app becomes sentient.
⭐ Show Love
If this saved you 10 minutes of boilerplate hell — drop a ⭐ on GitHub!
⬆ Back to top
---
Metadata
Release files for toolsan-desktop 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toolsan_desktop-0.0.5.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toolsan_desktop-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.1 kB
Release files / toolsan_desktop-0.0.5.tar.gz
| Download URL | toolsan_desktop-0.0.5.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cad48c9cd21abb334122c00e3bf1c948ddfebd49f09665b7d89ad2ee20e3e547
|
|
BLAKE2b-256 checksum How to use checksums |
519d178319fa6b9a937126601cc6dcd23f988f5c93079db9684c3fe715260e7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / toolsan_desktop-0.0.5-py3-none-any.whl
| Download URL | toolsan_desktop-0.0.5-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69aca4aa121365f57172a767605f491c117738fa1cc55d08d38593f60ba0251e
|
|
BLAKE2b-256 checksum How to use checksums |
76df8e037b25463d4260b8e343a7a471597417741cd408a8aafe0558a22624a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|