PHPackages                             survos/geonames-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. survos/geonames-bundle

ActiveSymfony-bundle[Database &amp; ORM](/categories/database)

survos/geonames-bundle
======================

Symfony bundle for fetching packaged GeoNames authority databases.

2.8.1(2w ago)00MITPHPPHP ^8.5

Since Apr 10Pushed 5d agoCompare

[ Source](https://github.com/survos/geonames-bundle)[ Packagist](https://packagist.org/packages/survos/geonames-bundle)[ GitHub Sponsors](https://github.com/kbond)[ RSS](/packages/survos-geonames-bundle/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (24)Versions (75)Used By (0)

Geonames Bundle
===============

[](#geonames-bundle)

`survos/geonames-bundle` is the GeoNames authority-list bundle for packaged SQLite place databases.

The runtime model is intentionally small:

- fetch a published authority database
- store it locally
- query it through a service such as `GeoService`

Runtime Databases
-----------------

[](#runtime-databases)

Initial published databases:

- `geo.sqlite`contains countries and states
- `us.sqlite`contains United States cities

GeoNames provides the canonical ids, so the shared runtime base is `geo.sqlite`, with country-specific city databases layered on top.

Build Workflow
--------------

[](#build-workflow)

Build-time tooling is separate from the public bundle command.

Admin tools:

- `admin/download-geonames.php`
- `admin/build-sqlite.php`

Current build sequence:

1. Download the GeoNames source files.
2. Run `admin/build-sqlite.php`.
3. Parse the downloaded GeoNames files directly and insert them into SQLite with prepared statements.
4. Publish the SQLite artifacts to Hugging Face.

GeoNames Source Files
---------------------

[](#geonames-source-files)

The build command currently depends on:

- `countryInfo.txt`
- `admin1CodesASCII.txt`
- `admin2Codes.txt`
- `allCountries.zip`

These files carry the GeoNames ids needed to keep countries, administrative areas, and cities on the same authority system.

Publishing To Hugging Face
--------------------------

[](#publishing-to-hugging-face)

The published output should include:

- a `README.md` dataset card with YAML front matter
- `geo.sqlite`
- `us.sqlite`

The public bundle command will fetch those published SQLite files rather than rebuilding them locally.

Installing The Bundle
---------------------

[](#installing-the-bundle)

```
composer req survos/geonames-bundle
```

Fetching The Authority
----------------------

[](#fetching-the-authority)

The public Symfony command is:

```
bin/console survos:geo
```

Planned usage:

```
bin/console survos:geo
bin/console survos:geo --country=us
```

The current bundle command is still a stub; the admin commands are the active build path.

Using The Bundle
----------------

[](#using-the-bundle)

The runtime API will stay lookup-oriented.

Example:

```
$geoId = $this->geoService->find('Oslo');
```

We will refine the query methods and return values later. For now, the design center is local lookup against fetched authority data.

See [PLAN.md](/home/tac/g/sites/mono/bu/geonames-bundle/PLAN.md) for the CSV layout and next migration steps.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance98

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

74

Last Release

18d ago

PHP version history (2 changes)2.0.196PHP ^8.4

2.8.0PHP ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/21b39551f92ed4143772c622f9e571589c5a72c96ab3c53fe67489ce0d83e806?d=identicon)[tacman1123](/maintainers/tacman1123)

---

Top Contributors

[![tacman](https://avatars.githubusercontent.com/u/619585?v=4)](https://github.com/tacman "tacman (6 commits)")

---

Tags

symfonysqliteauthoritygeonames

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/survos-geonames-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/survos-geonames-bundle/health.svg)](https://phpackages.com/packages/survos-geonames-bundle)
```

###  Alternatives

[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M519](/packages/shopware-core)[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
