Native Mac OS UI elements with python
Project description
aquaui
Display native dialogs, alerts, notifications, color pickers, and more with Python
💥 This library is still a work in progress.
Useful links
Features
- Display dialogs
- Dialog prompts
- Icon support
- Alerts
- Choice dialogs
- Notifications
- Customize title, subtitle, and informational text
- Customize icon
- Schedulable
- Callbacks (button pressed, reply text) – relevant stackoverflow answer
- Fallback (AppleScript) notifications
- Color picker
- File/folder picker
Documentation
Find the documentation in the docs/
folder
Examples
See the examples/
directory. Feel free to make a pull request to add more examples.
Show a dialog with the buttons "Go" (default) and "No" (to cancel) with the caution icon:
from aquaui import Dialog, Buttons, Icon
buttons = Buttons(["Go", "No"], default_button="Go", cancel_button="No")
result = Dialog("Hello!").with_buttons(buttons).with_icon(Icon.CAUTION).show()
Execute functions based on the button clicked:
from aquaui import Dialog, Buttons
button_one = "One"
button_two = "Two"
buttons = Buttons([button_one, button_two])
result = Dialog("Press a button").with_buttons(buttons).show()
if result.button_returned == button_one:
print("Button One was pressed")
elif result.button_returned == button_two:
print("Button Two was pressed")
Display a choice dialog with the options "Netflix" and "Prime Video"
from aquaui import Choice
provider = Choice("Choose the streaming platform").with_choices(["Netflix", "Prime Video"]).show()
print(provider)
If this example interests you, check out my other library Flixpy.
Display a notification:
Warning: please read the documentation before using notifications. There are additional dependencies to install.
from aquaui.notification.native_notification import Notification
notification = (
Notification("Hello!")
.with_subtitle("This is the subtitle!")
.with_informative_text("Isn't this informative?")
.with_identity_image("assets/folder.png") # the image on the right of the notification
.send()
)
Schedule a notification:
from aquaui.notification.native_notification import Notification
notification = Notification("Your pizza is here!").with_delay(15).send()
# 15 seconds delay
Build setup
Clone or fork the repository, then run
poetry shell
poetry install
pre-commit install
Make changes, then run tests with
pytest tests
Ensure that all tests pass.
Recommended editor settings
{
"python.formatting.provider": "black",
"editor.formatOnSave": true,
"[python]": {
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.tabSize": 4
},
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false,
"python.pythonPath": "/Users/yourusername/.../aquaui-UIHDsdfS-py3.7"
}
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aquaui-0.0.1.post2.tar.gz
.
File metadata
- Download URL: aquaui-0.0.1.post2.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.7.6 Darwin/20.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 417fe82e6d4e9212e738e483bbd5a3e883bf4b264c0c3b582289b6b865f48b80 |
|
MD5 | 4371560be49eb5feb00c69894d95e818 |
|
BLAKE2b-256 | eaf93b8219f0f604eb04865b5e3e5d59f1e1e934737beb4ead48a043886435f5 |
File details
Details for the file aquaui-0.0.1.post2-py3-none-any.whl
.
File metadata
- Download URL: aquaui-0.0.1.post2-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.7.6 Darwin/20.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a16d452d31161bd9c2186f4e0d1333636126f6669094922f485b97d3fbe5cc |
|
MD5 | 373871fdbf6976b93f7e38cfa01a79c0 |
|
BLAKE2b-256 | b9ee76a4df50ff67428d40a0d67dcbe8298a40d15de13d5ecaeb672da03bf045 |