{"id":49580348,"url":"https://github.com/mwixy/pulse","last_synced_at":"2026-05-03T19:05:15.204Z","repository":{"id":355451485,"uuid":"1228139481","full_name":"Mwixy/pulse","owner":"Mwixy","description":"A lightweight, block-scoped programming language designed for ultra-fast declarative GUI prototyping and native Python interoperability. Build desktop apps in seconds without import statements.","archived":false,"fork":false,"pushed_at":"2026-05-03T17:52:13.000Z","size":344,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T18:40:44.661Z","etag":null,"topics":["declarative-ui","desktop-app","gui","interpreter","programming","programming-language","pulse","python","python3","scripting-language","tkinter","tkinter-gui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mwixy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"mwixys"}},"created_at":"2026-05-03T16:41:00.000Z","updated_at":"2026-05-03T17:52:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Mwixy/pulse","commit_stats":null,"previous_names":["mwixy/pulse"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Mwixy/pulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mwixy%2Fpulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mwixy%2Fpulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mwixy%2Fpulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mwixy%2Fpulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mwixy","download_url":"https://codeload.github.com/Mwixy/pulse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mwixy%2Fpulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32581051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["declarative-ui","desktop-app","gui","interpreter","programming","programming-language","pulse","python","python3","scripting-language","tkinter","tkinter-gui"],"created_at":"2026-05-03T19:05:14.404Z","updated_at":"2026-05-03T19:05:15.197Z","avatar_url":"https://github.com/Mwixy.png","language":"Python","funding_links":["https://ko-fi.com/mwixys"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"examples/logo1.png\" width=\"150\" alt=\"Pulse Logo\"\u003e\n  \u003cimg src=\"examples/logo.png\" width=\"150\" alt=\"Pulse Script Logo\"\u003e\n  \u003ch1\u003eThe Pulse Programming Language\u003c/h1\u003e\n  \u003cp\u003e\u003ci\u003eA lightweight, block-scoped scripting language designed for ultra-fast GUI prototyping and native Python interoperability.\u003c/i\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## What is Pulse?\n\n**Pulse** (`.pulse`) is a completely new programming language built around a Python interpreter. It abstracts away complex UI frameworks and heavy boilerplate, letting you build functional desktop applications in seconds. \n\n### Why Use Pulse?\n- **Declarative GUI Engine:** Build windows, buttons, text inputs, and images naturally with nested blocks. No complex state management required—just `update(var)` to instantly refresh the screen.\n- **Native Python Interop:** Call *any* Python standard library or third-party package (`requests`, `pyautogui`, `numpy`) directly inside Pulse without any import statements.\n- **Strict Scope Control:** Explicit `let` modifiers ensure predictable variable scopes, preventing accidental global mutations.\n- **Asynchronous Timers:** Built in non-blocking timers (`after` and `every`) make building live clocks or timeouts incredibly simple.\n\n---\n\n## Installation\n\nPulse comes with an incredibly robust, interactive installer for Windows. \n\n1. Simply double-click **`install.bat`** in the root folder.\n2. The installer will verify your Python environment and launch a sleek interactive CLI menu.\n3. Select **`Install`** using your arrow keys. \n\n**What the installer does for you:**\n- Installs the `pulse` command globally to your terminal.\n- Associates `.pulse` file extensions with the Pulse engine.\n- Generates a custom icon for all your `.pulse` scripts using the Pulse logo.\n\n---\n\n## Quick Start\n\nOnce installed, there are two ways to run Pulse scripts:\n\n**1. Double-Clicking (Native Windows Experience)**\nJust double-click any `.pulse` file (like the ones in the `examples/` folder) and it will instantly launch!\n\n**2. From the Terminal**\nRun any file using the newly installed CLI command:\n```powershell\npulse run .\\examples\\gui_input_example.pulse\n```\n\n---\n\n## A Taste of Pulse\n\nHere is an example of a complete desktop application built in less than 20 lines of code:\n\n```pulse\n!! Create a global variable\nlet clicks = 0\n\n!! Define a function\nfunc increment():\n    let(clicks)\n    let clicks = clicks + 1\n    update(clicks) !! Refreshes the UI element dynamically!\nend\n\n!! Create an entire Window in one block\nwindow \"My Pulse App\" width=300 height=200 bg=\"white\":\n    let(clicks)\n    Label clicks font=\"Arial 24 bold\" color=\"blue\" pady=20\n    \n    Button \"Click Me!\"(increment) bg=\"green\" fg=\"white\":\n    end\nend\n```\n\n---\n\n## Complete Documentation\n\nWant to learn more about Pulse?\n\nCheck out the full **[Pulse Programming Language: The Complete Guide](pulse_docs.md)** which details every single syntax rule, GUI element, and feature of the language!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwixy%2Fpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwixy%2Fpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwixy%2Fpulse/lists"}