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.2.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

dry_webview-0.2.2-cp312-none-win_amd64.whl (406.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

Hashes for dry_webview-0.2.2.tar.gz
Algorithm Hash digest
SHA256 e32780053e2239f0e7c5f239ad0d528640e9e1c36620f9abe34ccfbcc9a5d50d
MD5 729bca34516de0ba1e144316df542657
BLAKE2b-256 6dc89214f093fd5e33f1d0308f2f37348dc327ab746d52a7a84d8bda37f1f7dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dry_webview-0.2.2-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 1c5c7ddce01720f2be43125a3b291c416f18af62b883204b0cdee7e82b05bca8
MD5 9217bcfa8be04e7a738b9772c5d3327f
BLAKE2b-256 f3e984d9fd0098f498d990f23fba12ff44b228539deb1b31b083d4c0a102c7c3

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