[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72173":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":16,"starSnapshotCount":16,"syncStatus":45,"lastSyncTime":46,"discoverSource":47},72173,"preswald","StructuredLabs\u002Fpreswald","StructuredLabs","Preswald is a WASM packager for Python-based interactive data apps: bundle full complex data workflows, particularly visualizations, into single files, runnable completely in-browser, using Pyodide, DuckDB, Pandas, and Plotly, Matplotlib, etc. Build dashboards, reports, and notebooks that run offline, load fast, and share like a document.","https:\u002F\u002Fwww.preswald.com\u002F",null,"Python",4285,649,8,58,0,1,4,3,30.44,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"ai","analytics","analytics-engineering","copilot","data","data-applications","data-infrastructure","data-pipelines","data-sdk","data-visualization","gpt","llm","open-source","python","schema-management","vscode","2026-06-12 02:02:59","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002FPreswaldBanner.png\" alt=\"Banner\">\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n    \u003Cem>Create interactive data apps with a full data stack that runs in the browser (no local dependencies!),runs offline, and is shareable in a single file.\n    \u003C\u002Fem>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n    \u003Ca href=\"LICENSE\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg\" alt=\"Apache 2.0 License\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.7%2B-blue.svg\" alt=\"Python Version\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fstructuredlabs-users\u002Fshared_invite\u002Fzt-33zwhyv3l-6Xu4bHL6b6~bI3z9fvlUig\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join%20Community-orange\" alt=\"Slack Community\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fpreswald\u002F\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fpreswald\" alt=\"PyPI Version\">\n    \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fpreswald.com\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLanding%20Page-Visit-blue?style=for-the-badge\" alt=\"Website\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdocs.preswald.com\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-Read-green?style=for-the-badge\" alt=\"Documentation\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpreswald.com\u002Fdashboard\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStudio-Get Started-orange?style=for-the-badge\" alt=\"Studio\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fcal.com\u002Famruthagujjar\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBook%20a%20Demo-Schedule-red?style=for-the-badge\" alt=\"Book a Demo\">\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n## **What is Preswald?**\n\nPreswald is a static-site generator for building interactive data apps in Python. It packages compute, data access, and UI into self-contained data apps that run locally in the browser. Built on a WASM runtime with Pyodide and DuckDB, Preswald enables portable, file-based apps that are fast, reactive, and shareable.\n\nYou can think of Preswald as a lightweight alternative to heavier web app platforms. It provides built-in UI components and reactive state tracking, so you can use it to build dashboards, reports, prototypes, workflows, and notebooks that are reactive, portable, and secure by default.\n\nPreswald is especially useful when:\n\n- You want to bundle logic, UI, and data into a shareable file\n- You need to ship a tool to a stakeholder who shouldn't need to install anything\n- You're working with sensitive data and want full local control\n- You want to give AI systems structured, modifiable tools\n\n## **Key Features**\n\n- Code-based. Write apps in Python, not in notebooks or JS frameworks\n- File-first. One command creates a fully-packaged `.html` app\n- Built for computation. Use Pyodide + DuckDB directly in-browser\n- Composable UI. Use prebuilt components like tables, charts, forms\n- Reactive engine. Only re-run what's needed, powered by a DAG of dependencies\n- Local execution. No server. Runs offline, even with large data\n- AI-ready. Apps are fully inspectable and modifiable by agents\n\n## Export as a Static App\n\n```bash\npreswald export\n```\n\nThis command builds your app into a static site inside `dist\u002F`. The folder contains all the files needed to run your app locally or share it.\n\n* Works offline in any modern browser\n* Bundles your Python code (via Pyodide), data, and DuckDB queries\n* Preserves app UI, logic, and reactive state\n* Shareable as a file folder or embeddable in hosting platforms\n\n\n## **Installation**\n\nhttps:\u002F\u002Fpypi.org\u002Fproject\u002Fpreswald\u002F\n\n```bash\npip install preswald\n\nor \n\nuv pip install preswald\n```\n\n![Demo GIF](assets\u002Fdemo1.gif)\n\n## **Quick Start**\n\n```bash\npip install preswald\npreswald init my_app\ncd my_app\npreswald run\n```\n\nThis will create a folder called `my_app`:\n\n```\nmy_app\u002F\n├── hello.py           # Your app logic\n├── preswald.toml      # App metadata and config\n├── secrets.toml       # Secrets (e.g. API keys)\n├── data\u002Fsample.csv    # Input data files\n├── images\u002Flogo.png    # Custom branding\n```\n\nEdit `hello.py` to build your app.\n\n```python\nfrom preswald import text, table, get_df\n\ntext(\"# Hello Preswald\")\ndf = get_df(\"sample.csv\")\ntable(df)\n...\n```\n\nNow run your app locally with:\n\n```bash\npreswald run\n```\n\nThis command launches a development server, and Preswald will let you know where your app is hosted. Typically, it’s here:\n\n```\n🌐 App running at: http:\u002F\u002Flocalhost:8501\n```\n\nOpen your browser, and voilà—your first Preswald app is live!\n\n\n## **Configuration**\n\nPreswald uses a simple `preswald.toml` file for configuration. This defines the app's metadata, runtime settings, UI branding, and data sources. Here's a sample:\n\n```\n[project]\ntitle = \"Preswald Project\"\nversion = \"0.1.0\"\nport = 8501\nslug = \"preswald-project\"\nentrypoint = \"hello.py\"\n\n[branding]\nname = \"Preswald Project\"\nlogo = \"images\u002Flogo.png\"\nfavicon = \"images\u002Ffavicon.ico\"\nprimaryColor = \"#F89613\"\n\n[logging]\nlevel = \"INFO\"  # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL\nformat = \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\"\n```\n\n## **Use Cases**\n\n- Analyst dashboards. Build data summaries and visualizations. Share as static sites. [Example 1]() [Example 2]() [Example 3]()  \n- Interactive reports. Deliver notebooks and reports that update live based on user input. [Example 1]() [Example 2]() [Example 3]()  \n- Data inspection tools. Explore files, logs, or snapshots with quick, purpose-built UIs.[Example 1]() [Example 2]() [Example 3]()  \n- Offline kits. Package apps for fieldwork or secure \u002F airgap settings. [Example 1]() [Example 2]() [Example 3]()  \n- Experiment panels. Compare runs, track metrics, and present results in standalone interactive apps. [Example 1]() [Example 2]() [Example 3]()  \n\n\u003Cbr>\n\n## **📚 Documentation**\n\nWe’re here to help! Check out our full documentation at [Preswald Docs](https:\u002F\u002Fdocs.preswald.com\u002F).\n\n\u003Cbr>\n\n## **🤝 Contributing**\n\nCheck out [CONTRIBUTING.md](CONTRIBUTING.md).\n\n\u003Cbr>\n\n## **🎉 Join the Community**\n\n- **GitHub Issues**: Found a bug? Let us know [here](https:\u002F\u002Fgithub.com\u002FStructuredLabs\u002Fpreswald\u002Fissues).\n- **Community Forum**: Reach out [here](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fstructuredlabs-users\u002Fshared_invite\u002Fzt-33zwhyv3l-6Xu4bHL6b6~bI3z9fvlUig)\n- **Discussions**: Share your ideas and ask questions in our [discussion forum](https:\u002F\u002Fgithub.com\u002FStructuredLabs\u002Fpreswald\u002Fdiscussions).\n- **Contributors**: Meet the awesome people who make Preswald better [here](https:\u002F\u002Fgithub.com\u002FStructuredLabs\u002Fpreswald\u002Fgraphs\u002Fcontributors).\n\n\u003Cbr>\n\n## **📢 Stay Connected**\n\n\u003Cp>\n    \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fstructuredlabs\u002F\" target=\"_blank\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow%20Us-LinkedIn-blue?style=for-the-badge&logo=linkedin\" alt=\"Follow us on LinkedIn\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fx.com\u002FStructuredLabs\" target=\"_blank\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow%20Us-Twitter-1DA1F2?style=for-the-badge&logo=twitter\" alt=\"Follow us on Twitter\">\n    \u003C\u002Fa>\n\u003C\u002Fp>\n\n## **📄 License**\n\nPreswald is licensed under the [Apache 2.0 License](LICENSE).\n\n## ✨ Contributors\n\nThanks to everyone who has contributed to Preswald 💜\n\n[![](https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=StructuredLabs\u002Fpreswald)](https:\u002F\u002Fgithub.com\u002FStructuredLabs\u002Fpreswald\u002Fgraphs\u002Fcontributors)\n\n","Preswald 是一个用于构建基于 Python 的交互式数据应用的 WASM 打包工具，能够将复杂的数据工作流（特别是可视化）打包成单个文件，在浏览器中完全运行。其核心功能包括使用 Pyodide 和 DuckDB 进行计算，支持 Pandas、Plotly 和 Matplotlib 等库，并提供预构建的 UI 组件和反应式状态跟踪。Preswald 适用于需要将逻辑、UI 和数据打包成可共享文件的场景，特别适合需要向不需要安装任何软件的用户交付工具的情况，以及处理敏感数据并希望保持本地控制的情形。此外，它还非常适合为 AI 系统提供结构化且可修改的工具。",2,"2026-06-11 03:40:40","high_star"]