Skip to main content

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

dry_webview-0.2.3.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

dry_webview-0.2.3-cp312-none-win_amd64.whl (406.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

File details

Details for the file dry_webview-0.2.3.tar.gz.

File metadata

  • Download URL: dry_webview-0.2.3.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for dry_webview-0.2.3.tar.gz
Algorithm Hash digest
SHA256 1028df374dccaf916e05c03b9eddb8d76dd00d765c1940a6a3d671ce186ac47e
MD5 21947db00ca46f4b4195f3ccb4a0e21c
BLAKE2b-256 4e7ba94310e6b309a92fae19746d80f433969fa1d4e8d27743ee7e470d15f0c2

See more details on using hashes here.

File details

Details for the file dry_webview-0.2.3-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for dry_webview-0.2.3-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 dbd6e2c225a64643d308a3192b525f53d6ada403c361b819b7993a4f34708b73
MD5 a7ddd05a717c3b3f94e9992729e066b8
BLAKE2b-256 b7b4f8af96150eddf3238c66e00d2879f15d40ff45441064c4d8262319c28449

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page