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

Laravel World Laravel Package

altwaireb/laravel-world

Laravel World provides a complete, ready-to-use database of countries, states, cities, currencies, languages, timezones, and more. It ships with migrations, seeders, models, caching, and multilingual support, so you can add geo data to any Laravel app in minutes.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature delivery: Enables country/state/city selectors, address capture, user profiles, checkout, onboarding, and account settings without building and maintaining a geo reference dataset from scratch.
  • Roadmap and market expansion: Supports decisions about launching in new countries by making it cheaper to add localized address hierarchies, market-specific forms, and region-based reporting.
  • Build vs. buy: Shifts the team from “build a geo data pipeline” to “integrate, validate, and customize.” The package provides the Laravel scaffolding and data; the product team still owns UX, validation rules, market coverage decisions, and fallback behavior.
  • Use cases: Shipping-zone setup, tax/regulatory segmentation, customer analytics by geography, lead routing, store locators, and profile segmentation. It is a reference-data layer, not a geocoding or address-validation engine.
  • Prioritization: Lets the team defer a custom geo-data service and invest instead in higher-value product work such as checkout conversion, localization, and market-specific compliance.
  • Decision framing: Useful for answering “Can we support country/state/city selection in the next release?” and “Do we buy a data/integration package or staff a data-maintenance effort?”
  • Platform upgrade planning: v2.0.0 adds Laravel 13 support while retaining Laravel 10–12, so adoption does not pin the application’s framework upgrade path. This removes a common objection from engineering when scheduling the package into a long-lived release train.
  • Lower infrastructure bar for full datasets: Streaming JSON ingestion (via halaxa/json-machine) makes it practical to seed the complete city-level dataset on smaller hosts, CI runners, and containerized deploy pipelines. This shifts the build-vs-buy calculus toward buying for teams that previously assumed they needed a managed database or a trimmed dataset.

When to Consider This Package

  • You are building a Laravel/PHP application using Eloquent and a relational database.
  • You need country/state/city reference data for forms, profiles, checkout, segmentation, or admin tooling.
  • You want a self-hosted, database-backed dataset rather than a runtime third-party API dependency.
  • Your team does not want to own the ongoing normalization, seeding, and maintenance of basic geographic hierarchies.
  • You can accept the tradeoffs of a smaller open-source package (MIT licensed, modest community) and are willing to review data provenance, coverage, update cadence, and seed size.
  • You are on Laravel 10, 11, 12, or 13 and want a dependency that will not block a near-term framework upgrade.
  • You need to seed large city-level datasets within constrained memory limits (small containers, CI jobs, scheduled refreshes) — the streaming reader in v2.0.0 is directly relevant here.
  • You can handle query performance with indexing, caching, and scoped queries, especially if city-level data is large.

Look elsewhere when:

  • You need geocoding, coordinates, polygons, postal-code precision, address validation, or autocomplete at scale.
  • You require an authoritative dataset with an SLA, real-time updates, or guaranteed completeness for every target market.
  • You need multilingual/localized place names as a first-class requirement.
  • Your application is not Laravel/PHP, or you cannot seed and maintain large relational tables.
  • City-level completeness and freshness are business-critical, or the team cannot tolerate dataset gaps without a fallback provider.
  • You need a vendor-supported product with commercial support and contractual data guarantees.
  • Your organization restricts new transitive dependencies: v2.0.0 introduces halaxa/json-machine, which must clear your dependency/licensing/security review.

How to Pitch It (Stakeholders)

For executives: This is a low-cost, MIT-licensed Laravel package that can accelerate international address and geography features, reducing custom data-maintenance work and time to market. The v2.0.0 release strengthens the case in two ways: it supports Laravel 10 through 13, so it will not force or block a framework upgrade, and it adds memory-efficient streaming ingestion, which lowers the infrastructure cost of loading full city-level data. The tradeoff remains that it is a smaller open-source project, so data coverage and freshness should be validated against target markets. Recommend a short pilot in priority countries with a fallback plan before committing it to a revenue-critical flow.

For engineering: It provides Laravel-native models, migrations, and seed data for countries, states, and cities, which reduces boilerplate and lets the team focus on product logic. v2.0.0 adds streaming JSON ingestion via halaxa/json-machine (tested, with coverage for streaming processing) plus Laravel 13 compatibility tested in CI from 13.38.0, alongside existing 10/11/12 support. Because this is a major version bump with an added dependency, confirm whether any breaking changes or minimum PHP/extension constraints apply before upgrading, and pin the version deliberately. Run a spike to assess seed size, memory profile during seeding with and without streaming, query performance, indexing, caching, update strategy, test coverage, and dataset provenance. Treat it as a reference-data dependency, not a geocoding or address-validation service, and isolate it behind an internal interface so it can be replaced if coverage or maintenance becomes a risk.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource