Use your web dev skills to design UIs for your Python apps with this simple, Rust-powered webview library.
Project description
Dry: give a UI to your Python app using web tech
Dry is a minimal, no-dependency webview library for Python that lets you use your web development skills to create user interfaces for your Python applications. Built with Rust and leveraging Wry and Tao, Dry is designed to be simple, lightweight, and easy to integrate—no need for extra packages.
Why Choose Dry?
- Familiar Tech: Use HTML, CSS, and JavaScript to design your UIs!
- Simple API: wv = Webview(), set a few things up, wv.run()—that's it!
- Flexible Content: Load via HTTP/HTTPS or render HTML without a server.
- Customizable: Borderless windows with custom titlebars are supported.
- Small Size: Binaries ~800 KB, compressed ~300 KB with PyInstaller/UPX.
Installation
Getting started with Dry is straightforward. Simply use pip
or uv
to install:
pip install dry-webview
uv add dry-webview
Simple, Intuitive Usage
Here's a quick example of how to use Dry to create a simple webview:
from dry import Webview
wv = Webview()
wv.title = "My Python App!"
wv.content = "<h1>Hello, World!</h1>"
wv.run()
For more examples, check out the examples directory.
Current Status
Dry is in its early stages and currently supports Windows. Linux and macOS support are planned. Expect ongoing development, new features, and potential changes as the library evolves.
Roadmap
Feature | Status |
---|---|
Rendering HTML | ✅ Completed |
Loading HTTP/HTTPS | ✅ Completed |
Calling Python from JavaScript | ✅ Completed |
Browser Developer Tools | ✅ Completed |
Custom Titlebars | ✅ Completed |
Custom Icons | ✅ Completed |
PyInstaller Support | ✅ Completed |
Calling JavaScript from Python | ❌ Not Yet |
Touch Support in Borderless Windows | ❌ Not Yet |
Platform Compatibility
Platform | Status |
---|---|
Windows 11 | ✅ Tested |
Linux | ❌ Not Yet |
macOS | ❌ Not Yet |
Python Compatibility
Python Version | Status |
---|---|
CPython 3.11 | ❌ Not Yet |
CPython 3.12 | ✅ Tested |
CPython 3.13 | ❌ Not Yet |
License
Dry is distributed under the MIT License. For more details, see the LICENSE file.
Project details
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 dry_webview-0.2.2.tar.gz
.
File metadata
- Download URL: dry_webview-0.2.2.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e32780053e2239f0e7c5f239ad0d528640e9e1c36620f9abe34ccfbcc9a5d50d |
|
MD5 | 729bca34516de0ba1e144316df542657 |
|
BLAKE2b-256 | 6dc89214f093fd5e33f1d0308f2f37348dc327ab746d52a7a84d8bda37f1f7dd |
File details
Details for the file dry_webview-0.2.2-cp312-none-win_amd64.whl
.
File metadata
- Download URL: dry_webview-0.2.2-cp312-none-win_amd64.whl
- Upload date:
- Size: 406.4 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c5c7ddce01720f2be43125a3b291c416f18af62b883204b0cdee7e82b05bca8 |
|
MD5 | 9217bcfa8be04e7a738b9772c5d3327f |
|
BLAKE2b-256 | f3e984d9fd0098f498d990f23fba12ff44b228539deb1b31b083d4c0a102c7c3 |