{"id":22631362,"url":"https://github.com/frankdugan3/pyro","last_synced_at":"2025-04-11T19:56:43.761Z","repository":{"id":159224517,"uuid":"604787478","full_name":"frankdugan3/pyro","owner":"frankdugan3","description":"Component tooling for Phoenix.","archived":false,"fork":false,"pushed_at":"2024-04-23T00:07:41.000Z","size":2378,"stargazers_count":43,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-02T00:44:13.825Z","etag":null,"topics":["component-tooling","elixir-lang","phoenix-framework","phoenix-liveview"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/frankdugan3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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},"funding":{"github":"frankdugan3"}},"created_at":"2023-02-21T19:41:34.000Z","updated_at":"2024-04-28T09:31:58.000Z","dependencies_parsed_at":"2024-12-09T02:08:41.329Z","dependency_job_id":"66dc826b-4f51-41ec-b886-6ea99f81bf31","html_url":"https://github.com/frankdugan3/pyro","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankdugan3%2Fpyro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankdugan3%2Fpyro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankdugan3%2Fpyro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankdugan3%2Fpyro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frankdugan3","download_url":"https://codeload.github.com/frankdugan3/pyro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248473111,"owners_count":21109628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["component-tooling","elixir-lang","phoenix-framework","phoenix-liveview"],"created_at":"2024-12-09T02:08:36.765Z","updated_at":"2025-04-11T19:56:43.751Z","avatar_url":"https://github.com/frankdugan3.png","language":"Elixir","funding_links":["https://github.com/sponsors/frankdugan3"],"categories":[],"sub_categories":[],"readme":"[![hex.pm](https://img.shields.io/hexpm/l/pyro.svg)](https://hex.pm/packages/pyro)\n[![hex.pm](https://img.shields.io/hexpm/v/pyro.svg)](https://hex.pm/packages/pyro)\n[![Documentation](https://img.shields.io/badge/documentation-gray)](https://hexdocs.pm/pyro)\n[![hex.pm](https://img.shields.io/hexpm/dt/pyro.svg)](https://hex.pm/packages/pyro)\n[![github.com](https://img.shields.io/github/last-commit/frankdugan3/pyro.svg)](https://github.com/frankdugan3/pyro)\n\n# Pyro\n\n\u003e Compose extensible components for Phoenix.\n\n\u003e [!WARNING]\n\u003e Pyro is in early development, expect breaking changes.\n\nPyro is a suite of libraries for building UI in Phoenix.\n\n- [Pyro](https://github.com/frankdugan3/pyro) - Compose extensible components for Phoenix.\n- [PyroComponents](https://github.com/frankdugan3/pyro_components) - Extensible Phoenix components, built with Pyro.\n- [AshPyro](https://github.com/frankdugan3/ash_pyro) - Declarative UI for Ash Framework.\n- [AshPyroComponents](https://github.com/frankdugan3/ash_pyro_components) - Automatic rendering of AshPryo DSL.\n\n## About\n\nFor more details on Pyro, check out the [About](https://hexdocs.pm/pyro/about.html) page.\n\n## Installation\n\nTo install Pyro and learn how it works, start at the [Get Started](get-started.html) guide and work your way through the tutorials. They are ordered in a sensible way to explain the various features Pyro offers, and point toward other tools in the Pyro suite when appropriate.\n\n## Development\n\nAs long as Elixir is already installed:\n\n```sh\ngit clone git@github.com:frankdugan3/pyro.git\ncd pyro\nmix setup\n```\n\nFor writing docs, there is a handy watcher script that automatically rebuilds/reloads the docs locally: `./watch_docs.sh`\n\n## Prior Art\n\n- [Surface UI](https://surface-ui.org/): Surface changed the game for LiveView. Many of its improvements have made it upstream.\n- [AshAuthenticationPhoenix](https://github.com/team-alembic/ash_authentication_phoenix): The component override system is pretty awesome, and directly inspired Pyro's override system.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankdugan3%2Fpyro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrankdugan3%2Fpyro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankdugan3%2Fpyro/lists"}