{"id":47712615,"url":"https://github.com/oxhq/canio","last_synced_at":"2026-04-02T18:40:34.471Z","repository":{"id":347902297,"uuid":"1193493310","full_name":"oxhq/canio","owner":"oxhq","description":"Browser-grade PDF and document rendering for Laravel powered by Stagehand","archived":false,"fork":false,"pushed_at":"2026-03-30T03:33:59.000Z","size":1034,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T03:49:00.672Z","etag":null,"topics":["browser-rendering","chromium","laravel","pdf","stagehand"],"latest_commit_sha":null,"homepage":"https://oxhq.github.io/canio/","language":"PHP","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/oxhq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/roadmap/v1.0.1.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-27T09:33:33.000Z","updated_at":"2026-03-30T03:34:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/oxhq/canio","commit_stats":null,"previous_names":["oxhq/canio"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/oxhq/canio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxhq%2Fcanio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxhq%2Fcanio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxhq%2Fcanio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxhq%2Fcanio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxhq","download_url":"https://codeload.github.com/oxhq/canio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxhq%2Fcanio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31313150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["browser-rendering","chromium","laravel","pdf","stagehand"],"created_at":"2026-04-02T18:40:33.744Z","updated_at":"2026-04-02T18:40:34.459Z","avatar_url":"https://github.com/oxhq.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Canio\n\nCanio is the Laravel PDF package for browser-grade documents.\n\nIt exists for the cases where classic HTML-to-PDF engines stop being enough: browser-real layout, JavaScript that must finish before capture, explicit readiness, debug artifacts, and operational rendering flows.\n\nIf the only requirement is the lowest possible uncached latency on a simple static document, smaller engines such as Dompdf or mPDF can still be faster. That is not the category Canio is optimized for.\n\n## Why Canio\n\nUse Canio when your Laravel app needs one or more of these:\n\n- real Chromium layout instead of approximation\n- JavaScript execution before the PDF is captured\n- an explicit readiness contract through `window.__CANIO_READY__`\n- persisted artifacts such as HTML source, DOM snapshot, screenshot, console log, or network log\n- async rendering, retries, dead letters, replay, and runtime operations\n\n## Quick Start\n\n```bash\ncomposer require oxhq/canio\nphp artisan canio:install\n```\n\n```php\nuse Oxhq\\Canio\\Facades\\Canio;\n\nreturn Canio::view('pdf.invoice', ['invoice' =\u003e $invoice])\n    -\u003eprofile('invoice')\n    -\u003etitle('Invoice #123')\n    -\u003estream('invoice.pdf');\n```\n\nBy default, Canio runs in `embedded` mode:\n\n- the Laravel package installs the matching Stagehand runtime when needed\n- the first render auto-starts the local runtime\n- the public API stays Laravel-native: `view()`, `html()`, `url()`\n\nFull installation, runtime modes, and package API live in [packages/laravel/README.md](packages/laravel/README.md).\n\nPublic docs and install guide: [oxhq.github.io/canio](https://oxhq.github.io/canio/)\n\n## Product Positioning\n\nThe claim this repository supports is narrow on purpose:\n\n`Canio is the Laravel package for browser-real, high-fidelity PDFs.`\n\nThe benchmark harnesses in this repo currently support that claim:\n\n- Canio is the most faithful renderer on the checked-in invoice fixture\n- Canio beats Browsershot and Snappy on useful performance in that browser-grade lane\n- Canio executes runtime JavaScript correctly in the probe harness\n- Dompdf and mPDF still win on raw uncached latency for simple static renders\n\nPublic benchmark summary: [docs/benchmark-summary.md](docs/benchmark-summary.md)  \nReproducible harnesses: [benchmarks/README.md](benchmarks/README.md)\n\n## Cloud\n\nCanio OSS works standalone.\n\nCloud is an optional paid layer on top of the package. It is not part of the required install path and it is not the core OSS story. The public package should stand on its own without any cloud dependency.\n\n## Repository Layout\n\n```text\n/packages/laravel      Laravel-facing public package\n/runtime/stagehand     Go runtime used by embedded and remote modes\n/resources/profiles    Official document profiles\n/benchmarks            Reproducible fidelity, fairness, and JS-capability harnesses\n/examples              Local example app and demo stubs\n/docs                  Development, architecture, and benchmark notes\n/docker                Container and deployment assets\n```\n\n## Documentation\n\n- Public docs: [oxhq.github.io/canio](https://oxhq.github.io/canio/)\n- Package install and usage: [packages/laravel/README.md](packages/laravel/README.md)\n- Launch announcement: [docs/announcements/v1.0.0.md](docs/announcements/v1.0.0.md)\n- Latest release notes: [docs/releases/v1.0.1.md](docs/releases/v1.0.1.md)\n- Public benchmark summary: [docs/benchmark-summary.md](docs/benchmark-summary.md)\n- Production deployment guide: [docs/deployment.md](docs/deployment.md)\n- Contributor setup: [docs/development.md](docs/development.md)\n- Example app: [examples/laravel-app/README.md](examples/laravel-app/README.md)\n- Architecture notes: [docs/architecture.md](docs/architecture.md)\n- Render contract: [docs/render-contract.md](docs/render-contract.md)\n\n## Status\n\nThe current stable release line for the Laravel package is `v1.0.1`.\n\nThat means:\n\n- public install path is `composer require oxhq/canio`\n- Stagehand release assets remain published from this monorepo\n- the monorepo stays the source of truth\n- the Laravel package may be mirrored into a split repository for Packagist distribution, but the product source remains here\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxhq%2Fcanio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxhq%2Fcanio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxhq%2Fcanio/lists"}