Name | boudy-toolkit JSON |
Version |
0.1.2
JSON |
| download |
home_page | None |
Summary | A comprehensive toolkit for GUI applications and system utilities |
upload_time | 2025-01-15 09:03:10 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | MIT License Copyright (c) 2025 Boudy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
gui
toolkit
utilities
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Boudy Toolkit
A comprehensive Python toolkit that combines powerful GUI capabilities with system utilities. Built on top of tkinter, this toolkit offers themes, responsive layouts, system utilities, data validation, and advanced widgets out of the box.
## Table of Contents
- [Installation](#installation)
- [GUI Components](#gui-components)
- [System Utilities](#system-utilities)
- [Media Tools](#media-tools)
- [Data Operations](#data-operations)
- [Utility Functions](#utility-functions)
## Installation
```bash
pip install boudy-toolkit
```
## GUI Components
### Basic Application Setup
```python
from boudy_toolkit import initialize, Theme, run
# Initialize with default theme
root = initialize("My App", "800x600", Theme.LIGHT)
# Or use dark theme
root = initialize("Dark App", "800x600", Theme.DARK)
# Start the application
run()
```
### Forms
```python
from boudy_toolkit import create_form
def handle_submit(data):
print(f"Received: {data}")
fields = ["Name", "Email", "Phone"]
form = create_form(
fields=fields,
callback=handle_submit,
title="Registration Form"
)
```
### Data Grid
```python
from boudy_toolkit import create_data_grid
data = [
["John", "john@email.com", "Active"],
["Jane", "jane@email.com", "Inactive"]
]
grid = create_data_grid(
data=data,
headers=["Name", "Email", "Status"],
title="Users List"
)
```
### Charts
```python
from boudy_toolkit import create_chart
# Bar chart
data = [10, 25, 15, 30]
labels = ["Q1", "Q2", "Q3", "Q4"]
chart = create_chart(
data=data,
chart_type="bar",
title="Quarterly Sales",
labels=labels
)
# Pie chart
pie = create_chart(
data=[30, 20, 25, 25],
chart_type="pie",
labels=["Product A", "Product B", "Product C", "Product D"]
)
```
### Menu Bar
```python
from boudy_toolkit import create_menu_bar
def file_open(): print("Opening file...")
def file_save(): print("Saving file...")
def help_about(): print("About dialog")
menu_config = {
"File": [
("Open", file_open),
("Save", file_save),
"-",
("Exit", root.quit)
],
"Help": [
("About", help_about)
]
}
menubar = create_menu_bar(menu_config)
```
### Tabbed Interface
```python
from boudy_toolkit import create_tabbed_interface
def tab1_content(frame):
# Create content for first tab
label = ttk.Label(frame, text="Tab 1 Content")
label.pack()
def tab2_content(frame):
# Create content for second tab
button = ttk.Button(frame, text="Tab 2 Button")
button.pack()
tabs = {
"General": tab1_content,
"Settings": tab2_content
}
tabbed_interface = create_tabbed_interface(tabs)
```
### Dialog Boxes
```python
from boudy_toolkit import create_dialog
# Information dialog
create_dialog("Operation completed!", "info")
# File selection dialog
filename = create_dialog("", "file", "Select File")
# Color picker dialog
color = create_dialog("", "color", "Choose Color")
```
## System Utilities
### System Commands
```python
from boudy_toolkit import cmd, cpu_usage, get_public_ip, ping
# Execute system command
cmd("ipconfig")
# Get CPU usage
print(cpu_usage()) # Output: "CPU Usage: 45.2%"
# Get public IP
print(get_public_ip()) # Output: "203.0.113.1"
# Ping host
print(ping("google.com")) # Output: "google.com is reachable."
```
### File Operations
```python
from boudy_toolkit import write_to_file, compress_file
# Write to file
write_to_file("output.txt", "Hello World!")
# Compress file
compress_file("data.txt", "archive.zip")
```
### Screenshot
```python
from boudy_toolkit import screenshot
# Capture screen
screenshot("my_screenshot.png")
```
### Notifications
```python
from boudy_toolkit import send_desktop_notification
# Send notification
send_desktop_notification(
title="Alert",
message="Task completed successfully!"
)
```
## Media Tools
### QR Code Generation
```python
from boudy_toolkit import qr_code_generator
# Generate QR code
qr_code_generator(
data="https://example.com",
filename="website_qr.png"
)
```
### Image Processing
```python
from boudy_toolkit import resize_image
# Resize image
resize_image(
input_path="original.jpg",
output_path="resized.jpg",
size=(800, 600)
)
```
### Audio Features
```python
from boudy_toolkit import play_sound, text_to_speech
# Play audio file
play_sound("notification.mp3")
# Convert text to speech
text_to_speech("Welcome to the application")
```
## Data Operations
### Database Operations
```python
from boudy_toolkit import Database
# Initialize database
db = Database("app.db")
# Execute query
results = db.execute(
"SELECT * FROM users WHERE active = ?",
params=(True,)
)
```
### Input Validation
```python
from boudy_toolkit import Validator
# Validate email
is_valid = Validator.is_email("user@example.com")
# Validate phone number
is_valid = Validator.is_phone("+1234567890")
# Validate date
is_valid = Validator.is_date("2024-01-15")
```
### File Operations
```python
from boudy_toolkit import file_operations
FileOps = file_operations()
# Save JSON
data = {"name": "John", "age": 30}
FileOps.save_json(data, "user.json")
# Save CSV
data = [["Name", "Age"], ["John", "30"]]
FileOps.save_csv(data, "users.csv")
```
## Utility Functions
### Timers
```python
from boudy_toolkit import countdown_timer, run_timer
# Countdown timer
countdown_timer(60) # 60-second countdown
# Stopwatch
run_timer() # Press Enter to start, Ctrl+C to stop
```
### Async Operations
```python
from boudy_toolkit import AsyncTask
def long_running_task():
# Simulating long operation
time.sleep(5)
return "Completed"
def on_complete(result):
print(f"Task {result}")
task = AsyncTask(long_running_task, on_complete)
task.run()
```
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Raw data
{
"_id": null,
"home_page": null,
"name": "boudy-toolkit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "gui, toolkit, utilities",
"author": null,
"author_email": "Boudy <gamezygamer10@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4f/56/93e52d1dbf508427343fc71f31036c7fdb77a3bc265b08dc1ae8b33575a8/boudy_toolkit-0.1.2.tar.gz",
"platform": null,
"description": "# Boudy Toolkit\r\n\r\nA comprehensive Python toolkit that combines powerful GUI capabilities with system utilities. Built on top of tkinter, this toolkit offers themes, responsive layouts, system utilities, data validation, and advanced widgets out of the box.\r\n\r\n## Table of Contents\r\n- [Installation](#installation)\r\n- [GUI Components](#gui-components)\r\n- [System Utilities](#system-utilities)\r\n- [Media Tools](#media-tools)\r\n- [Data Operations](#data-operations)\r\n- [Utility Functions](#utility-functions)\r\n\r\n## Installation\r\n\r\n```bash\r\npip install boudy-toolkit\r\n```\r\n\r\n## GUI Components\r\n\r\n### Basic Application Setup\r\n```python\r\nfrom boudy_toolkit import initialize, Theme, run\r\n\r\n# Initialize with default theme\r\nroot = initialize(\"My App\", \"800x600\", Theme.LIGHT)\r\n\r\n# Or use dark theme\r\nroot = initialize(\"Dark App\", \"800x600\", Theme.DARK)\r\n\r\n# Start the application\r\nrun()\r\n```\r\n\r\n### Forms\r\n```python\r\nfrom boudy_toolkit import create_form\r\n\r\ndef handle_submit(data):\r\n print(f\"Received: {data}\")\r\n\r\nfields = [\"Name\", \"Email\", \"Phone\"]\r\nform = create_form(\r\n fields=fields,\r\n callback=handle_submit,\r\n title=\"Registration Form\"\r\n)\r\n```\r\n\r\n### Data Grid\r\n```python\r\nfrom boudy_toolkit import create_data_grid\r\n\r\ndata = [\r\n [\"John\", \"john@email.com\", \"Active\"],\r\n [\"Jane\", \"jane@email.com\", \"Inactive\"]\r\n]\r\n\r\ngrid = create_data_grid(\r\n data=data,\r\n headers=[\"Name\", \"Email\", \"Status\"],\r\n title=\"Users List\"\r\n)\r\n```\r\n\r\n### Charts\r\n```python\r\nfrom boudy_toolkit import create_chart\r\n\r\n# Bar chart\r\ndata = [10, 25, 15, 30]\r\nlabels = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"]\r\nchart = create_chart(\r\n data=data,\r\n chart_type=\"bar\",\r\n title=\"Quarterly Sales\",\r\n labels=labels\r\n)\r\n\r\n# Pie chart\r\npie = create_chart(\r\n data=[30, 20, 25, 25],\r\n chart_type=\"pie\",\r\n labels=[\"Product A\", \"Product B\", \"Product C\", \"Product D\"]\r\n)\r\n```\r\n\r\n### Menu Bar\r\n```python\r\nfrom boudy_toolkit import create_menu_bar\r\n\r\ndef file_open(): print(\"Opening file...\")\r\ndef file_save(): print(\"Saving file...\")\r\ndef help_about(): print(\"About dialog\")\r\n\r\nmenu_config = {\r\n \"File\": [\r\n (\"Open\", file_open),\r\n (\"Save\", file_save),\r\n \"-\",\r\n (\"Exit\", root.quit)\r\n ],\r\n \"Help\": [\r\n (\"About\", help_about)\r\n ]\r\n}\r\n\r\nmenubar = create_menu_bar(menu_config)\r\n```\r\n\r\n### Tabbed Interface\r\n```python\r\nfrom boudy_toolkit import create_tabbed_interface\r\n\r\ndef tab1_content(frame):\r\n # Create content for first tab\r\n label = ttk.Label(frame, text=\"Tab 1 Content\")\r\n label.pack()\r\n\r\ndef tab2_content(frame):\r\n # Create content for second tab\r\n button = ttk.Button(frame, text=\"Tab 2 Button\")\r\n button.pack()\r\n\r\ntabs = {\r\n \"General\": tab1_content,\r\n \"Settings\": tab2_content\r\n}\r\n\r\ntabbed_interface = create_tabbed_interface(tabs)\r\n```\r\n\r\n### Dialog Boxes\r\n```python\r\nfrom boudy_toolkit import create_dialog\r\n\r\n# Information dialog\r\ncreate_dialog(\"Operation completed!\", \"info\")\r\n\r\n# File selection dialog\r\nfilename = create_dialog(\"\", \"file\", \"Select File\")\r\n\r\n# Color picker dialog\r\ncolor = create_dialog(\"\", \"color\", \"Choose Color\")\r\n```\r\n\r\n## System Utilities\r\n\r\n### System Commands\r\n```python\r\nfrom boudy_toolkit import cmd, cpu_usage, get_public_ip, ping\r\n\r\n# Execute system command\r\ncmd(\"ipconfig\")\r\n\r\n# Get CPU usage\r\nprint(cpu_usage()) # Output: \"CPU Usage: 45.2%\"\r\n\r\n# Get public IP\r\nprint(get_public_ip()) # Output: \"203.0.113.1\"\r\n\r\n# Ping host\r\nprint(ping(\"google.com\")) # Output: \"google.com is reachable.\"\r\n```\r\n\r\n### File Operations\r\n```python\r\nfrom boudy_toolkit import write_to_file, compress_file\r\n\r\n# Write to file\r\nwrite_to_file(\"output.txt\", \"Hello World!\")\r\n\r\n# Compress file\r\ncompress_file(\"data.txt\", \"archive.zip\")\r\n```\r\n\r\n### Screenshot\r\n```python\r\nfrom boudy_toolkit import screenshot\r\n\r\n# Capture screen\r\nscreenshot(\"my_screenshot.png\")\r\n```\r\n\r\n### Notifications\r\n```python\r\nfrom boudy_toolkit import send_desktop_notification\r\n\r\n# Send notification\r\nsend_desktop_notification(\r\n title=\"Alert\",\r\n message=\"Task completed successfully!\"\r\n)\r\n```\r\n\r\n## Media Tools\r\n\r\n### QR Code Generation\r\n```python\r\nfrom boudy_toolkit import qr_code_generator\r\n\r\n# Generate QR code\r\nqr_code_generator(\r\n data=\"https://example.com\",\r\n filename=\"website_qr.png\"\r\n)\r\n```\r\n\r\n### Image Processing\r\n```python\r\nfrom boudy_toolkit import resize_image\r\n\r\n# Resize image\r\nresize_image(\r\n input_path=\"original.jpg\",\r\n output_path=\"resized.jpg\",\r\n size=(800, 600)\r\n)\r\n```\r\n\r\n### Audio Features\r\n```python\r\nfrom boudy_toolkit import play_sound, text_to_speech\r\n\r\n# Play audio file\r\nplay_sound(\"notification.mp3\")\r\n\r\n# Convert text to speech\r\ntext_to_speech(\"Welcome to the application\")\r\n```\r\n\r\n## Data Operations\r\n\r\n### Database Operations\r\n```python\r\nfrom boudy_toolkit import Database\r\n\r\n# Initialize database\r\ndb = Database(\"app.db\")\r\n\r\n# Execute query\r\nresults = db.execute(\r\n \"SELECT * FROM users WHERE active = ?\",\r\n params=(True,)\r\n)\r\n```\r\n\r\n### Input Validation\r\n```python\r\nfrom boudy_toolkit import Validator\r\n\r\n# Validate email\r\nis_valid = Validator.is_email(\"user@example.com\")\r\n\r\n# Validate phone number\r\nis_valid = Validator.is_phone(\"+1234567890\")\r\n\r\n# Validate date\r\nis_valid = Validator.is_date(\"2024-01-15\")\r\n```\r\n\r\n### File Operations\r\n```python\r\nfrom boudy_toolkit import file_operations\r\n\r\nFileOps = file_operations()\r\n\r\n# Save JSON\r\ndata = {\"name\": \"John\", \"age\": 30}\r\nFileOps.save_json(data, \"user.json\")\r\n\r\n# Save CSV\r\ndata = [[\"Name\", \"Age\"], [\"John\", \"30\"]]\r\nFileOps.save_csv(data, \"users.csv\")\r\n```\r\n\r\n## Utility Functions\r\n\r\n### Timers\r\n```python\r\nfrom boudy_toolkit import countdown_timer, run_timer\r\n\r\n# Countdown timer\r\ncountdown_timer(60) # 60-second countdown\r\n\r\n# Stopwatch\r\nrun_timer() # Press Enter to start, Ctrl+C to stop\r\n```\r\n\r\n### Async Operations\r\n```python\r\nfrom boudy_toolkit import AsyncTask\r\n\r\ndef long_running_task():\r\n # Simulating long operation\r\n time.sleep(5)\r\n return \"Completed\"\r\n\r\ndef on_complete(result):\r\n print(f\"Task {result}\")\r\n\r\ntask = AsyncTask(long_running_task, on_complete)\r\ntask.run()\r\n```\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2025 Boudy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "A comprehensive toolkit for GUI applications and system utilities",
"version": "0.1.2",
"project_urls": null,
"split_keywords": [
"gui",
" toolkit",
" utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "de83c38807e8144ac5a4ed7cc31710de840f1113d6cb38c0fcfb688aecb42601",
"md5": "ab1b272acffc7b78068ae9f828958257",
"sha256": "f7bc2eaadc6c9497f50d7254311ae73584cfd24396d1500a4a0e3b2048744525"
},
"downloads": -1,
"filename": "boudy_toolkit-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ab1b272acffc7b78068ae9f828958257",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10298,
"upload_time": "2025-01-15T09:03:07",
"upload_time_iso_8601": "2025-01-15T09:03:07.650821Z",
"url": "https://files.pythonhosted.org/packages/de/83/c38807e8144ac5a4ed7cc31710de840f1113d6cb38c0fcfb688aecb42601/boudy_toolkit-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f5693e52d1dbf508427343fc71f31036c7fdb77a3bc265b08dc1ae8b33575a8",
"md5": "74d4e058c90bb54b2de2ed1c3cf5c09f",
"sha256": "1e36f75a90834a3878cef65f6548b9b5573791c72e99585e19ca27f0144c27a8"
},
"downloads": -1,
"filename": "boudy_toolkit-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "74d4e058c90bb54b2de2ed1c3cf5c09f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 12189,
"upload_time": "2025-01-15T09:03:10",
"upload_time_iso_8601": "2025-01-15T09:03:10.127069Z",
"url": "https://files.pythonhosted.org/packages/4f/56/93e52d1dbf508427343fc71f31036c7fdb77a3bc265b08dc1ae8b33575a8/boudy_toolkit-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-15 09:03:10",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "boudy-toolkit"
}