dry-webview


Namedry-webview JSON
Version 0.2.3 PyPI version JSON
download
home_pageNone
SummaryUse your web dev skills to design UIs for your Python apps with this simple, Rust-powered webview library.
upload_time2024-11-08 02:15:07
maintainerNone
docs_urlNone
authorOtávio Barradas
requires_python>=3.12
licenseMIT
keywords webview gui rust ui web python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://www.rust-lang.org/) and leveraging [Wry](https://github.com/tauri-apps/wry) and [Tao](https://github.com/tauri-apps/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:

```bash
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:

```python
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](https://github.com/barradasotavio/dry/tree/master/examples).

## 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](https://github.com/barradasotavio/dry/blob/master/LICENSE) file.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dry-webview",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "webview, gui, rust, ui, web, python",
    "author": "Ot\u00e1vio Barradas",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/4e/7b/a94310e6b309a92fae19746d80f433969fa1d4e8d27743ee7e470d15f0c2/dry_webview-0.2.3.tar.gz",
    "platform": null,
    "description": "# Dry: give a UI to your Python app using web tech\r\n\r\n**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](https://www.rust-lang.org/) and leveraging [Wry](https://github.com/tauri-apps/wry) and [Tao](https://github.com/tauri-apps/tao), Dry is designed to be simple, lightweight, and easy to integrate\u2014no need for extra packages.\r\n\r\n## Why Choose Dry?\r\n\r\n- **Familiar Tech**: Use HTML, CSS, and JavaScript to design your UIs!\r\n- **Simple API**: wv = Webview(), set a few things up, wv.run()\u2014that's it!\r\n- **Flexible Content**: Load via HTTP/HTTPS or render HTML without a server.\r\n- **Customizable**: Borderless windows with custom titlebars are supported.\r\n- **Small Size**: Binaries ~800 KB, compressed ~300 KB with PyInstaller/UPX.\r\n\r\n## Installation\r\n\r\nGetting started with Dry is straightforward. Simply use `pip` or `uv` to install:\r\n\r\n```bash\r\npip install dry-webview\r\nuv add dry-webview\r\n```\r\n\r\n## Simple, Intuitive Usage\r\n\r\nHere's a quick example of how to use Dry to create a simple webview:\r\n\r\n```python\r\nfrom dry import Webview\r\n\r\nwv = Webview()\r\nwv.title = \"My Python App!\"\r\nwv.content = \"<h1>Hello, World!</h1>\"\r\nwv.run()\r\n```\r\n\r\nFor more examples, check out the [examples directory](https://github.com/barradasotavio/dry/tree/master/examples).\r\n\r\n## Current Status\r\n\r\nDry 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.\r\n\r\n## Roadmap\r\n\r\n| Feature                             | Status      |\r\n| ----------------------------------- | ----------- |\r\n| Rendering HTML                      | \u2705 Completed |\r\n| Loading HTTP/HTTPS                  | \u2705 Completed |\r\n| Calling Python from JavaScript      | \u2705 Completed |\r\n| Browser Developer Tools             | \u2705 Completed |\r\n| Custom Titlebars                    | \u2705 Completed |\r\n| Custom Icons                        | \u2705 Completed |\r\n| PyInstaller Support                 | \u2705 Completed |\r\n| Calling JavaScript from Python      | \u274c Not Yet   |\r\n| Touch Support in Borderless Windows | \u274c Not Yet   |\r\n\r\n## Platform Compatibility\r\n\r\n| Platform   | Status    |\r\n| ---------- | --------- |\r\n| Windows 11 | \u2705 Tested  |\r\n| Linux      | \u274c Not Yet |\r\n| macOS      | \u274c Not Yet |\r\n\r\n## Python Compatibility\r\n\r\n| Python Version | Status    |\r\n| -------------- | --------- |\r\n| CPython 3.11   | \u274c Not Yet |\r\n| CPython 3.12   | \u2705 Tested  |\r\n| CPython 3.13   | \u274c Not Yet |\r\n\r\n## License\r\n\r\nDry is distributed under the MIT License. For more details, see the [LICENSE](https://github.com/barradasotavio/dry/blob/master/LICENSE) file.\r\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Use your web dev skills to design UIs for your Python apps with this simple, Rust-powered webview library.",
    "version": "0.2.3",
    "project_urls": {
        "Homepage": "https://github.com/barradasotavio/dry",
        "Repository": "https://github.com/barradasotavio/dry.git"
    },
    "split_keywords": [
        "webview",
        " gui",
        " rust",
        " ui",
        " web",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b7b4f8af96150eddf3238c66e00d2879f15d40ff45441064c4d8262319c28449",
                "md5": "a7ddd05a717c3b3f94e9992729e066b8",
                "sha256": "dbd6e2c225a64643d308a3192b525f53d6ada403c361b819b7993a4f34708b73"
            },
            "downloads": -1,
            "filename": "dry_webview-0.2.3-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a7ddd05a717c3b3f94e9992729e066b8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.12",
            "size": 405955,
            "upload_time": "2024-11-08T02:15:04",
            "upload_time_iso_8601": "2024-11-08T02:15:04.451162Z",
            "url": "https://files.pythonhosted.org/packages/b7/b4/f8af96150eddf3238c66e00d2879f15d40ff45441064c4d8262319c28449/dry_webview-0.2.3-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e7ba94310e6b309a92fae19746d80f433969fa1d4e8d27743ee7e470d15f0c2",
                "md5": "21947db00ca46f4b4195f3ccb4a0e21c",
                "sha256": "1028df374dccaf916e05c03b9eddb8d76dd00d765c1940a6a3d671ce186ac47e"
            },
            "downloads": -1,
            "filename": "dry_webview-0.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "21947db00ca46f4b4195f3ccb4a0e21c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 44653,
            "upload_time": "2024-11-08T02:15:07",
            "upload_time_iso_8601": "2024-11-08T02:15:07.027790Z",
            "url": "https://files.pythonhosted.org/packages/4e/7b/a94310e6b309a92fae19746d80f433969fa1d4e8d27743ee7e470d15f0c2/dry_webview-0.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-08 02:15:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "barradasotavio",
    "github_project": "dry",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "dry-webview"
}
        
Elapsed time: 0.42521s