{"id":13405569,"url":"https://github.com/reflex-dev/reflex","last_synced_at":"2026-05-21T03:07:35.834Z","repository":{"id":63444573,"uuid":"557075997","full_name":"reflex-dev/reflex","owner":"reflex-dev","description":"🕸️ Web apps in pure Python 🐍","archived":false,"fork":false,"pushed_at":"2026-05-18T22:51:24.000Z","size":36418,"stargazers_count":28435,"open_issues_count":283,"forks_count":1724,"subscribers_count":183,"default_branch":"main","last_synced_at":"2026-05-18T23:00:31.634Z","etag":null,"topics":["dashboard","data-analysis","data-science","data-visualization","developer-tools","framework","fullstack","gui","open-source","python","webapp"],"latest_commit_sha":null,"homepage":"https://reflex.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reflex-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-10-25T03:08:48.000Z","updated_at":"2026-05-18T22:09:27.000Z","dependencies_parsed_at":"2025-12-06T10:07:18.212Z","dependency_job_id":"0e82f8bd-6320-4d27-8a9b-3d0242a79ec7","html_url":"https://github.com/reflex-dev/reflex","commit_stats":{"total_commits":2001,"total_committers":164,"mean_commits":"12.201219512195122","dds":0.7816091954022988,"last_synced_commit":"3d89d74bdcd5afb85408ebb67a672701579f4efc"},"previous_names":["pynecone-io/reflex","reflex-dev/reflex","pynecone-io/pynecone"],"tags_count":261,"template":false,"template_full_name":null,"purl":"pkg:github/reflex-dev/reflex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reflex-dev%2Freflex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reflex-dev%2Freflex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reflex-dev%2Freflex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reflex-dev%2Freflex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reflex-dev","download_url":"https://codeload.github.com/reflex-dev/reflex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reflex-dev%2Freflex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33286767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"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":["dashboard","data-analysis","data-science","data-visualization","developer-tools","framework","fullstack","gui","open-source","python","webapp"],"created_at":"2024-07-30T19:02:05.640Z","updated_at":"2026-05-21T03:07:35.828Z","avatar_url":"https://github.com/reflex-dev.png","language":"Python","funding_links":[],"categories":["Python","前端开发框架及项目","Web Frameworks","语言资源库","Front-end frameworks","Repos","📈 Dashboards \u0026 BI","🐍 Python Ecosystem (Python 学习与资源)","python","📊 Data \u0026 Analytics"],"sub_categories":["其他_文本生成、文本对话","python","More","Tools","collection"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg\"\u003e\n  \u003cimg alt=\"Reflex Logo\" src=\"https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex.svg\" width=\"300px\"\u003e\n\u003c/picture\u003e\n\n\u003chr\u003e\n\n### **✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨**\n\n[![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)\n![versions](https://img.shields.io/pypi/pyversions/reflex.svg)\n[![Documentation](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)\n[![PyPI Downloads](https://static.pepy.tech/badge/reflex)](https://pepy.tech/projects/reflex)\n[![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da\u0026label=Discord)](https://discord.gg/T5WSbC2YtQ)\n[![Twitter](https://img.shields.io/twitter/follow/getreflex)](https://x.com/getreflex)\n\n\u003c/div\u003e\n\n---\n\n\u003e [!NOTE]\n\u003e Build faster with Reflex:\n\u003e\n\u003e - **[AI Builder](https://build.reflex.dev/)** - Generate full-stack Reflex apps in seconds.\n\u003e - **[Agent Toolkit](https://reflex.dev/docs/ai/integrations/ai-onboarding/)** - Connect MCP and Skills to your coding assistant.\n\u003e - **[App Management](https://reflex.dev/hosting)** - Deploy and manage your Reflex apps.\n\n---\n\n# Introduction\n\nReflex is a library to build full-stack web apps in pure Python.\n\nKey features:\n\n- **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.\n- **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.\n\nSee our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.\n\n## ⚙️ Installation\n\n**Important:** We strongly recommend using a virtual environment to ensure the `reflex` command is available in your PATH.\n\n## 🥳 Create your first app\n\nCreate a project, add Reflex, and start the development server with [uv](https://docs.astral.sh/uv/):\n\n```shell\nmkdir my_app_name\ncd my_app_name\nuv init\n\nuv add reflex\nuv run reflex init\nuv run reflex run\n```\n\nYou should see your app running at http://localhost:3000.\n\nNow you can modify the source code in `my_app_name/my_app_name.py`. Reflex has fast refreshes so you can see your changes instantly when you save your code.\n\n## 🫧 Example App\n\nBuild an image generation app in Python with Reflex: define the UI, manage state in a class, and call an image model from an event handler.\n\n\u003cdiv align=\"center\"\u003e\n\u003cvideo src=\"https://github.com/user-attachments/assets/aaff28ad-8b3c-43bf-967e-439ee34c8a87\" width=\"900\" controls muted poster=\"https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex-image-generation-app.png\"\u003e\n  \u003ca href=\"https://github.com/user-attachments/assets/aaff28ad-8b3c-43bf-967e-439ee34c8a87\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex-image-generation-app.png\" alt=\"Preview of an image generation app built with Reflex\" width=\"900\"\u003e\n  \u003c/a\u003e\n\u003c/video\u003e\n\u003c/div\u003e\n\n```python\nimport reflex as rx\nimport openai\n\nclient = openai.AsyncOpenAI()\n\n\nclass State(rx.State):\n    prompt: str = \"\"\n    image_url: str = \"\"\n    processing: bool = False\n\n    @rx.event\n    def set_prompt(self, value: str):\n        self.prompt = value\n\n    @rx.event\n    async def generate(self):\n        self.processing = True\n        yield\n        response = await client.images.generate(\n            model=\"gpt-image-1.5\",\n            prompt=self.prompt,\n        )\n        self.image_url = f\"data:image/png;base64,{response.data[0].b64_json}\"\n        self.processing = False\n\n\ndef index():\n    return rx.vstack(\n        rx.heading(\"Image Generator\"),\n        rx.input(placeholder=\"Enter a prompt...\", on_change=State.set_prompt),\n        rx.button(\"Generate\", on_click=State.generate, loading=State.processing),\n        rx.image(src=State.image_url),\n    )\n\n\napp = rx.App()\napp.add_page(index, title=\"Reflex:Image Generation\")\n```\n\n## All Thanks To Our Contributors:\n\n\u003ca href=\"https://github.com/reflex-dev/reflex/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=reflex-dev/reflex\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freflex-dev%2Freflex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freflex-dev%2Freflex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freflex-dev%2Freflex/lists"}