Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Turso Http Laravel Package

darkterminal/turso-http

A lightweight PHP and Laravel client for the Turso HTTP API. Run SQL queries against your Turso/libSQL databases over plain HTTP, with no native extensions or PDO drivers required. Simple configuration, clean results, and a great fit for serverless and edge deployments.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Serverless and edge deployment architecture: Turso is distributed SQLite over libSQL, and turso-http lets PHP/Laravel talk to it over plain HTTP. This unlocks running Laravel on platforms where persistent TCP connections to a database are awkward or unavailable (AWS Lambda via Bref, Vercel, Cloudflare-adjacent runtimes, container platforms that scale to zero). That is a deployment topology decision, not just a library choice, and it should be evaluated at the architecture level.
  • Database build-vs-buy: Choosing Turso over self-managed MySQL/Postgres or a heavier managed Postgres (RDS, Neon, Supabase) is a cost/ops trade-off. This package is the smallest piece of that decision — it removes the need for a native libsql PHP extension or custom socket handling, lowering integration cost to roughly "composer require + config + query".
  • Roadmap: multi-region / read-latency features: If the roadmap includes latency-sensitive reads for geographically dispersed users, embedded-replica or edge-replicated SQLite is a real option to prototype cheaply. This library makes a spike feasible in days rather than weeks.
  • Feature fit for read-heavy, low-write workloads: Content sites, catalog/browse experiences, internal tools, MVPs, and analytics dashboards are good candidates. High-write or heavy-transaction features are not, and that should shape which features get prioritized onto this stack.
  • Cost and vendor-concentration reviews: Moving to a serverless DB pattern changes the cost curve (per-request/per-storage vs. provisioned instance) and concentrates risk in a younger vendor. Both belong in the quarterly infra review.
  • Build-vs-buy on the integration itself: Writing an HTTP client for Turso is not hard but is not free (auth tokens, error handling, retries, connection semantics). At 49 stars this is not a "buy" in the procurement sense — it is "adopt an MIT-licensed open-source dependency" and the real decision is whether to depend on it or vendor/fork the thin client into your own codebase.

When to Consider This Package

Consider it when:

  • You are deploying Laravel to a serverless/FaaS runtime, or to a platform where outbound long-lived DB connections are unreliable.
  • Your workload is read-dominant with modest write volume, and SQLite semantics (single-writer, no stored procedures, limited concurrency) are acceptable.
  • You want to prototype Turso quickly in a PHP codebase without adding a native extension to your build/deploy image — a genuine CI and local-dev simplification.
  • You are building an MVP or internal tool where speed of delivery and low fixed cost beat operational maturity.
  • You already standardize on Laravel and want the integration to look like normal Laravel config rather than a bespoke data layer.

Look elsewhere when:

  • Maturity is a hard requirement. 49 stars means a small maintainer pool, limited battle-testing, and thin community support for edge cases. For revenue-critical systems, budget for reading the source and pinning a version, or fork it.
  • You need high write throughput or multi-statement transactional guarantees across services — Turso's model and this HTTP transport are not the right fit.
  • You need first-class ORM/migration support. Verify Eloquent compatibility, schema migrations, and connection pooling behavior before committing; do not assume parity with mysql/pgsql drivers.
  • Your platform permits native extensions and persistent connections. Then the official libSQL client or a conventional managed Postgres is likely simpler and better supported — the HTTP layer buys you nothing.
  • Compliance or vendor-risk rules require a supported commercial relationship. An MIT package with a single primary maintainer is not a support contract, regardless of the vendor behind Turso.
  • You need fine-grained observability (query-level tracing, slow-query logs) out of the box; expect to build this yourself.

Adoption gate (recommended before any production use): pin the version, read the client source (~small surface), write a load test against real Turso with your actual read/write ratio, and identify a fork owner on the team. Treat it as a "thin dependency you own" rather than a "library you consume."

How to Pitch It (Stakeholders)

For executives — the business case: We can run parts of our Laravel stack on serverless infrastructure and connect to a distributed, SQLite-compatible database over HTTPS, without standing up or patching a database server. That means lower fixed infrastructure cost for low-traffic and spiky workloads, faster environment provisioning (no DB instance to wait on), and data served from regions closer to users. The integration cost is small — an MIT-licensed PHP package wires it into our existing Laravel config. The decision is strategic (where our data lives and what we pay for idle capacity), not a library purchase. The honest caveat: the tooling ecosystem is young, so I'd propose a bounded pilot on a non-critical, read-heavy surface first, with a fork-and-own fallback, before we commit any revenue-critical path.

For engineering — the technical case: darkterminal/turso-http is a small HTTP client for Turso's API. No native extension to compile, no connection pool to manage, works in FaaS runtimes where TCP-to-DB is painful. Integration is composer + config + query, so the spike is cheap. What we owe ourselves before production: confirm Eloquent and migration behavior, verify transactional semantics for our write paths, add retries/timeouts and observability ourselves (the package is thin here), pin the version, and designate an internal owner for the client code. If those checks pass, we get a much simpler deploy story; if they don't, the exit cost is low because the dependency is small and permissively licensed.

Recommendation: time-boxed pilot on one read-heavy Laravel service; measure latency and cost against the current managed Postgres; decide with data, not enthusiasm.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console