{"id":19403898,"url":"https://github.com/tejasnayak25/hybexe","last_synced_at":"2026-06-17T11:32:05.926Z","repository":{"id":185777893,"uuid":"674083143","full_name":"tejasnayak25/hybexe","owner":"tejasnayak25","description":"Welcome to HybExe, a powerful framework for creating cross-platform hybrid desktop apps in Python. Built over pywebview, HybExe provides a seamless integration of web technologies.","archived":false,"fork":false,"pushed_at":"2024-03-05T16:29:07.000Z","size":184,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T00:35:07.911Z","etag":null,"topics":["project"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tejasnayak25.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-03T05:26:44.000Z","updated_at":"2024-08-25T12:16:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"a0ae452c-4cc3-4f5f-a625-868b22060265","html_url":"https://github.com/tejasnayak25/hybexe","commit_stats":null,"previous_names":["tj-likes-coding/hybexe","tejasnayak25/hybexe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tejasnayak25/hybexe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tejasnayak25%2Fhybexe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tejasnayak25%2Fhybexe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tejasnayak25%2Fhybexe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tejasnayak25%2Fhybexe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tejasnayak25","download_url":"https://codeload.github.com/tejasnayak25/hybexe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tejasnayak25%2Fhybexe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34447264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["project"],"created_at":"2024-11-10T11:31:37.392Z","updated_at":"2026-06-17T11:32:05.910Z","avatar_url":"https://github.com/tejasnayak25.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HybExe: Hybrid Desktop App Framework For Python\n\nWelcome to HybExe, a powerful framework for creating cross-platform hybrid desktop apps in Python. Built over pywebview, HybExe provides a seamless integration of web technologies with native desktop components. Let's dive into the details of how to use it.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tejasnayak25/hybexe\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/tejasnayak25/hybexe?style=social\" alt=\"GitHub stars\" width=\"100\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tejasnayak25/hybexe/fork\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/tejasnayak25/hybexe?style=social\" alt=\"GitHub forks\" width=\"100\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Prerequisites\n\nBefore you start using HybExe, make sure you have the following prerequisites installed on your system:\n\n- [Python](https://www.python.org/downloads/): Make sure you have Python 3.x installed on your system. You can check by running `python --version` in your terminal or command prompt.\n\n## Setting Up the Environment\n\nTo get started with HybExe, you need to set up a virtual environment and install the required packages within it. Follow these steps:\n\n```bash\n# Clone the GitHub repository\ngit clone https://github.com/tejasnayak25/hybexe.git\n\n# Change into the project directory\ncd hybexe\n\n# Create a virtual environment (Windows)\npython -m venv venv\n\n# Activate the virtual environment (Windows)\nvenv\\Scripts\\activate\n\n# Create a virtual environment (macOS \u0026 Linux)\npython3 -m venv venv\n\n# Activate the virtual environment (macOS \u0026 Linux)\nsource venv/bin/activate\n\n# Install the required packages\npip install -r requirements.txt\n```\n\n## Required Packages\n- [pywebview](https://pywebview.flowrl.com/): A lightweight cross-platform library to create a web-based GUI using native WebView components.\n\n- [pyinstaller](http://www.pyinstaller.org/): For building standalone executables of your hybrid desktop app.\n\n- [plyer](https://plyer.readthedocs.io/): A library for accessing platform-specific features such as notifications.\n\n\n## Example\n\nBelow is a full example of how to use HybExe to create a hybrid desktop app, handle events, and display notifications:\n\n```python\nfrom modules.browser import createWindow\nfrom modules.back import back\nfrom modules.notification import notify\n\n# Event handler function\ndef func(data):\n    back.send(\"Hi\", \"Hello from back!\")\n\n# Register the event handler\nback.on(event=\"Bye\", callback=func)\n\n# Create a browser window\nwindow = createWindow(title=\"Hello World\", url=\"./src/index.html\", resizable=True, draggable=True, text_select=True)\n\n# Notification function (commented out for demonstration)\n# notify(\"Hello There\", \"Cool\", \"\", 10)\n\n# Start function for the window\ndef start():\n    back.send(\"Bye\", \"Cool\")\n\n# Start the window with the start function\nwindow.start(function=start, debug=False)\n```\n\n## Building Standalone Executable\n\nTo create a standalone executable for your hybrid desktop app, you need to make sure to include the `src` and `image` folders in the `datas` array of the `main.spec` file. Open the `main.spec` file and modify the `datas` array to include the necessary folders:\n\n```python\n# main.spec\n\n# ... (Other configurations)\n\na = Analysis(['main.py'],\n             pathex=['path/to/your/app'],\n             binaries=[],\n             datas=[\n                 ('path/to/your/app/src', 'src'),\n                 ('path/to/your/app/image', 'image')\n             ],\n             # ... (Other configurations)\n            )\n\n# ... (Other configurations)\n\n```\n\nAfter updating the `main.spec` file, you can run the following command in the terminal or command prompt to build the standalone executable:\n\n```bash\npyinstaller main.spec --clean\n```\n\nThe `--clean` option will remove any previously generated build files before building.\n\nAfter the build process completes, you will find the standalone executable in the `dist` directory. This executable can be distributed and run on other systems without the need for Python or any dependencies.\n\n## Creating an Installer\n\nTo create an installer for the generated executable using NSIS (Nullsoft Scriptable Install System), follow these steps:\n\n### Prerequisites\n\nBefore you can create the installer, make sure you have NSIS installed on your system. You can download NSIS from their official website: [NSIS Website](https://nsis.sourceforge.io/Download).\n\n### Building the Installer\n\nOnce you have NSIS installed, you can use it to create an installer for your hybrid desktop app. Here's how you can do it:\n\n1. Generate the standalone executable: Follow the steps mentioned earlier to generate the standalone executable using `pyinstaller`.\n\n2. Create an NSIS script: Create a new text file with the extension `.nsi` (e.g., `installer_script.nsi`) and include the following content:\n\n```nsis\n; installer_script.nsi\n\n; Set the name and output directory for the installer\nOutfile \"YourAwesomeAppInstaller.exe\"\n\n; Default section\nSection\n\n; Set the installation directory\nSetOutPath \"$INSTDIR\"\n\n; Copy the files to the installation directory\nFile /r \"path\\to\\your\\app\\dist\\*.*\"\n\n; Create shortcuts if needed\nCreateShortCut \"$DESKTOP\\Your Awesome App.lnk\" \"$INSTDIR\\your_executable_name.exe\"\n\n; Add other installation tasks as needed\n\n; End of section\nSectionEnd\n```\n\nReplace `\"YourAwesomeAppInstaller.exe\"` with the desired name for your installer, and `\"path\\to\\your\\app\\dist\\*.*\"` with the path to the directory containing the generated executable.\n\n3. Compile the NSIS script: Open a terminal or command prompt, navigate to the directory containing your NSIS script, and run the following command:\n\n```bash\nmakensis installer_script.nsi\n```\n\nThis will compile the NSIS script and generate the installer file (`YourAwesomeAppInstaller.exe`).\n\n4. Distribute the installer: Now you have the installer for your hybrid desktop app. You can distribute this installer to your users, allowing them to install and run your app easily on their systems.\n\n## Version Settings\n\nThe version information for your hybrid desktop app is defined in the `version.rc` file. Make sure to update the version number and other details accordingly before building the app.\n\n## Summary\n\nCongratulations! You've learned how to create an installer for your hybrid desktop app using NSIS. This will make it easier for your users to install and run your app on their systems.\n\nExplore the documentation and have fun building amazing cross-platform applications with your new HybExe framework!\n\nIf you encounter any issues or have questions, don't hesitate to reach out to us.\n\nHappy coding and distributing! 😎🚀\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tejasnayak25/hybexe\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/tejasnayak25/hybexe?style=social\" alt=\"GitHub stars\" width=\"100\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/tejasnayak25/hybexe/fork\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/tejasnayak25/hybexe?style=social\" alt=\"GitHub forks\" width=\"100\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftejasnayak25%2Fhybexe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftejasnayak25%2Fhybexe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftejasnayak25%2Fhybexe/lists"}