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 Web Technologies: Use HTML, CSS, and JavaScript to design interfaces for your Python apps.
  • Concise API: Instantiate a wv = Webview() object, configure a few settings, and call wv.run()—that’s it!
  • Versatile Content: Load content from HTTP/HTTPS sources or render HTML directly, all without a server.
  • Customizable Windows: Supports borderless windows and custom titlebars for a tailored UI experience—native window decorations are also available if you prefer.
  • Small Footprint: The binaries are around 700 KB, which reduce to 200 KB after compression with PyInstaller or 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.0.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

dry_webview-0.2.0-cp312-none-win_amd64.whl (375.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for dry_webview-0.2.0.tar.gz
Algorithm Hash digest
SHA256 19bb9da039f5d6efecab0c58c53be7cd7e5b1772737921b5c330bba719a04fd9
MD5 54052a5652ab6c4ed5460f3ad6a6f3c9
BLAKE2b-256 3346631516b33d0cebe87d8a619a922d79371e8bab0851eca72f02b58dfb689c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dry_webview-0.2.0-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 72f47550a4c3122fff0f6af0b946cd634af7a4f644b88f6ebbc6c4a3598a6274
MD5 00c8bf77006f316e450a04e18e11c4fd
BLAKE2b-256 ff693815f719c302eb5788f629c13d4ed02f28af1457157bb6f961a86985af9e

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