{"id":15525161,"url":"https://github.com/antonioribeiro/countries","last_synced_at":"2025-05-12T13:20:20.087Z","repository":{"id":17012686,"uuid":"81001471","full_name":"antonioribeiro/countries","owner":"antonioribeiro","description":"Laravel countries and currencies","archived":false,"fork":false,"pushed_at":"2024-10-28T13:16:19.000Z","size":79867,"stargazers_count":1870,"open_issues_count":73,"forks_count":289,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-05-01T01:04:08.705Z","etag":null,"topics":["countries","hacktoberfest-accepted","languages","laravel","laravel-countries","php","states","timezones"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antonioribeiro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2017-02-05T15:24:37.000Z","updated_at":"2025-04-25T14:36:31.000Z","dependencies_parsed_at":"2024-10-28T14:46:43.738Z","dependency_job_id":"b3f448b9-bc73-4859-adf9-97e232e3a3e6","html_url":"https://github.com/antonioribeiro/countries","commit_stats":{"total_commits":265,"total_committers":25,"mean_commits":10.6,"dds":"0.13584905660377355","last_synced_commit":"b98fe53cd899917efbddca92080e5982c5336a98"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antonioribeiro%2Fcountries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antonioribeiro%2Fcountries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antonioribeiro%2Fcountries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antonioribeiro%2Fcountries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antonioribeiro","download_url":"https://codeload.github.com/antonioribeiro/countries/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251987027,"owners_count":21675955,"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":["countries","hacktoberfest-accepted","languages","laravel","laravel-countries","php","states","timezones"],"created_at":"2024-10-02T10:55:14.747Z","updated_at":"2025-05-12T13:20:20.064Z","avatar_url":"https://github.com/antonioribeiro.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    Countries\n\u003c/h1\u003e\n\n![World Map](docs/world-map-political-of-the-2013-nations-online-project-best.jpg)\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://packagist.org/packages/pragmarx/countries\"\u003e\u003cimg alt=\"Latest Stable Version\" src=\"https://img.shields.io/packagist/v/pragmarx/countries.svg?style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"/antonioribeiro/countries/blob/master/LICENSE.md\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://scrutinizer-yaml.com/g/antonioribeiro/countries/?branch=master\"\u003e\u003cimg alt=\"Code Quality\" src=\"https://img.shields.io/scrutinizer/g/antonioribeiro/countries.svg?style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://scrutinizer-yaml.com/g/antonioribeiro/countries/?branch=master\"\u003e\u003cimg alt=\"Build\" src=\"https://img.shields.io/scrutinizer/build/g/antonioribeiro/countries.svg?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://scrutinizer-yaml.com/g/antonioribeiro/countries/?branch=master\"\u003e\u003cimg alt=\"Coverage\" src=\"https://img.shields.io/scrutinizer/coverage/g/antonioribeiro/countries.svg?style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://travis-ci.org/antonioribeiro/countries\"\u003e\u003cimg alt=\"PHP\" src=\"https://img.shields.io/badge/PHP-7.0%20%7C%207.1%20%7C%207.2%20%7C%207.3-green.svg?style=flat\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://packagist.org/packages/pragmarx/countries\"\u003e\u003cimg alt=\"Downloads\" src=\"https://img.shields.io/packagist/dt/pragmarx/countries.svg?style=flat-square\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://styleci.io/repos/74829244\"\u003e\u003cimg alt=\"StyleCI\" src=\"https://styleci.io/repos/74829244/shield\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n### What does it gives you?\n\nThis package has all sorts of information about countries:\n\n| info            | items |\n------------------|-------:|\n| taxes           | 32    |\n| geometry maps   | 248   |\n| topology maps   | 248   |\n| currencies      | 256   |\n| countries       | 266   |\n| timezones       | 423   |\n| borders         | 649   |\n| flags           | 1,570  |\n| states          | 4,526  |\n| cities          | 7,376  |\n| timezones times | 81,153 |\n\n### Geology and topology maps\n\nAmongst many other information you'll be able to plot country maps:\n\n![Switzerland](docs/switzerland-geo.png)\n\n## Requirements\n\n- PHP 7.0+\n\n## Installing\n\nUse Composer to install it:\n\n```\ncomposer require pragmarx/countries\n```\n\n## Instantiating\n\n```php\nuse PragmaRX\\Countries\\Package\\Countries;\n\n$countries = new Countries();\n\necho $countries-\u003ewhere('cca2', 'IT')-\u003efirst()-\u003ehydrateCurrencies()-\u003ecurrencies-\u003eEUR-\u003ecoins-\u003efrequent-\u003efirst();\n\n// or calling it statically\n\necho Countries::where('cca2', 'IT')-\u003efirst()-\u003ehydrateCurrencies()-\u003ecurrencies-\u003eEUR-\u003ecoins-\u003efrequent-\u003efirst();\n```\n\nShould both return\n\n```\n€1\n```\n\nOverloading the default configuration:\n\n```php\nuse PragmaRX\\Countries\\Package\\Services\\Config;\n\n$countries = new Countries(new Config([\n    'hydrate' =\u003e [\n        'elements' =\u003e [\n            'currencies' =\u003e true,\n            'flag' =\u003e true,\n            'timezones' =\u003e true,\n        ],\n    ],\n]));\n```\n\n#\n\n## Usage\n\nThis package is not tied to Laravel and doesn't require it to be installed (we have a [bridge](https://github.com/antonioribeiro/countries-laravel) for this purpose), but it has [Laravel Collections](https://laravel.com/docs/5.6/collections) in its core, all methods in Collections are available, this way you can do things like filter, map, reduce, search, sort, reject, and a lot more. It, actually, uses [Coollection](https://github.com/antonioribeiro/coollection), which is Laravel Collections with a fluent syntax, allowing us to have access to array keys (and values) as object properties.\n\nTo get all countries in the data base you just have to:\n\n```php\nuse PragmaRX\\Countries\\Package\\Countries;\n\n$countries = new Countries();\n\n$all = $countries-\u003eall();\n```\n\nTo get a json you:\n\n```php\nreturn $countries-\u003etoJson();\n```\n\nFilter by keys and values:\n\n```php\n$countries-\u003ewhere('name.common', 'Brazil');\n```\n\nWill find Brazil by its common name, which is a\n\n```\n#items: array:22 [▼\n  \"name\" =\u003e array:3 [▼\n    \"common\" =\u003e \"Brazil\"\n    \"official\" =\u003e \"Federative Republic of Brazil\"\n    \"native\" =\u003e array:1 [▼\n      \"por\" =\u003e array:2 [▼\n        \"official\" =\u003e \"República Federativa do Brasil\"\n        \"common\" =\u003e \"Brasil\"\n      ]\n    ]\n  ]\n```\n\nOr alternatively you can filter like this\n\n```php\n$countries-\u003ewhereNameCommon('Brazil');\n```\n\nAnd, you can go deepeer\n\n```php\n$countries-\u003ewhere('name.native.por.common', 'Brasil');\n```\n\nOr search by the country top level domain\n\n```php\n$countries-\u003ewhere('tld.0', '.ch');\n```\n\nTo get\n\n```\n\"name\" =\u003e array:3 [▼\n  \"common\" =\u003e \"Switzerland\"\n  \"official\" =\u003e \"Swiss Confederation\"\n  \"native\" =\u003e array:4 [▶]\n]\n\"tld\" =\u003e array:1 [▼\n  0 =\u003e \".ch\"\n]\n```\nAnd use things like pluck\n\n```php\n$countries-\u003ewhere('cca3', 'USA')-\u003efirst()-\u003ehydrateStates()-\u003estates-\u003epluck('name', 'postal')-\u003etoArray();\n```\n\nTo get\n\n```php\n\"MA\" =\u003e \"Massachusetts\"\n\"MN\" =\u003e \"Minnesota\"\n\"MT\" =\u003e \"Montana\"\n\"ND\" =\u003e \"North Dakota\"\n...\n```\n\nThe package uses a modified Collection which allows you to access properties and methods as objects:\n\n```php\n$countries-\u003ewhere('cca3', 'FRA')\n         -\u003efirst()\n         -\u003eborders\n         -\u003efirst()\n         -\u003ename\n         -\u003eofficial;\n```\n\nShould give\n\n```\nPrincipality of Andorra\n```\n\nBorders hydration is disabled by default, but you can have your borders hydrated easily by calling the hydrate method:\n\n```php\n$countries-\u003ewhere('name.common', 'United Kingdom')\n         -\u003ehydrate('borders')\n         -\u003efirst()\n         -\u003eborders\n         -\u003ereverse()\n         -\u003efirst()\n         -\u003ename\n         -\u003ecommon;\n```\n\nShould return\n\n```\nIreland\n````\n\n### Hydration\n\nTo improve performance, hydration, which is enabled by default, can be disable on most country properties, and this is how you manually hydrate properties:\n\n```php\n$countries-\u003ewhere('name.common', 'United States')-\u003efirst()-\u003ehydrate('timezones')-\u003etimezones-\u003efirst()-\u003ezone_name;\n\n$countries-\u003ewhere('name.common', 'United States')-\u003efirst()-\u003ehydrate('timezones')-\u003etimezones-\u003efirst()-\u003ezone_name;\n```\n\nThose are some of the hydratable properties:\n\n- Borders\n- Cities\n- Currencies\n- Flag\n- Geometry\n- Languages\n- States\n- Taxes\n- Timezone\n- Topology\n\n### Extra where rules\nSome properties are stored differently and we therefore need special rules for accessing them, these properties are\n- `ISO639_3` =\u003e The 3 letter language code.\n- `ISO4217`  =\u003e The 3 letter currency code.\n\nYou can of course access them like other properties\n```php\n$countries-\u003ewhereISO639_3('por')-\u003ecount();\n$countries-\u003ewhere('ISO639_3', 'por')-\u003ecount();\n```\n\n### Mapping\nSometimes you would like to access a property by a different name, this can be done in settings, this way\n```php\n'maps' =\u003e [\n    'lca3' =\u003e 'ISO639_3'\n]\n```\nHere we bind the language 3 letter short code ISO format to `lca3`, which is short for `language code alpha 3-letter`.\nSo now we can access the property by\n```php\n$countries-\u003ewhereLca3('por');\n```\nOr\n```php\n$countries-\u003ewhere('lca3', 'por');\n```\n\n## Some other examples from **Laravel News** and some other contributors\n\n#### Generate a list of all countries with code, using native name and common\n\n```php\napp(PragmaRX\\Countries\\Package\\Countries::class)\n-\u003eall()\n-\u003emap(function ($country) {\n    $commonName = $country-\u003ename-\u003ecommon;\n\n    $languages = $country-\u003elanguages ?? collect();\n\n    $language = $languages-\u003ekeys()-\u003efirst() ?? null;\n\n    $nativeNames = $country-\u003ename-\u003enative ?? null;\n\n    if (\n        filled($language) \u0026\u0026\n            filled($nativeNames) \u0026\u0026\n            filled($nativeNames[$language]) ?? null\n    ) {\n        $native = $nativeNames[$language]['common'] ?? null;\n    }\n\n    if (blank($native ?? null) \u0026\u0026 filled($nativeNames)) {\n        $native = $nativeNames-\u003efirst()['common'] ?? null;\n    }\n\n    $native = $native ?? $commonName;\n\n    if ($native !== $commonName \u0026\u0026 filled($native)) {\n        $native = \"$native ($commonName)\";\n    }\n\n    return [$country-\u003ecca2 =\u003e $native];\n})\n-\u003evalues()\n-\u003etoArray();\n```\n\nShould give you 267 (or so) countries like:\n\n```\n\"AW\" =\u003e \"Aruba\"\n\"AF\" =\u003e \"افغانستان (Afghanistan)\"\n\"AO\" =\u003e \"Angola\"\n\"AI\" =\u003e \"Anguilla\"\n\"AX\" =\u003e \"Åland (Åland Islands)\"\n\"AL\" =\u003e \"Shqipëria (Albania)\"\n\"AD\" =\u003e \"Andorra\"\n\"AE\" =\u003e \"دولة الإمارات العربية المتحدة (United Arab Emirates)\"\n\"AR\" =\u003e \"Argentina\"\n\"AM\" =\u003e \"Հայաստան (Armenia)\"\n\"AS\" =\u003e \"American Samoa\"\n\"AQ\" =\u003e \"Antarctica\"\n\"TF\" =\u003e \"Terres australes et antarctiques françaises (French Southern and Antarctic Lands)\"\n\"AG\" =\u003e \"Antigua and Barbuda\"\n\"AU\" =\u003e \"Australia\"\n\"AT\" =\u003e \"Österreich (Austria)\"\n\"AZ\" =\u003e \"Azərbaycan (Azerbaijan)\"\n\"BI\" =\u003e \"Burundi\"\n\"BE\" =\u003e \"Belgien (Belgium)\"\n\"BJ\" =\u003e \"Bénin (Benin)\"\n\"BF\" =\u003e \"Burkina Faso\"\n\"BD\" =\u003e \"বাংলাদেশ (Bangladesh)\"\n\"BG\" =\u003e \"България (Bulgaria)\"\n\"BH\" =\u003e \"‏البحرين (Bahrain)\"\n\"BS\" =\u003e \"Bahamas\"\n\"BA\" =\u003e \"Bosna i Hercegovina (Bosnia and Herzegovina)\"\n\"BL\" =\u003e \"Saint-Barthélemy (Saint Barthélemy)\"\n\"SH\" =\u003e \"Saint Helena, Ascension and Tristan da Cunha\"\n\"BY\" =\u003e \"Белару́сь (Belarus)\"\n\"BZ\" =\u003e \"Belize\"\n\"BM\" =\u003e \"Bermuda\"\n\"BO\" =\u003e \"Wuliwya (Bolivia)\"\n\"BQ\" =\u003e \"Caribisch Nederland (Caribbean Netherlands)\"\n\"BR\" =\u003e \"Brasil (Brazil)\"\n\"BB\" =\u003e \"Barbados\"\n\"BN\" =\u003e \"Negara Brunei Darussalam (Brunei)\"\n\"BT\" =\u003e \"འབྲུག་ཡུལ་ (Bhutan)\"\n\"BV\" =\u003e \"Bouvetøya (Bouvet Island)\"\n\"BW\" =\u003e \"Botswana\"\n\"CF\" =\u003e \"République centrafricaine (Central African Republic)\"\n\"CA\" =\u003e \"Canada\"\n\"CC\" =\u003e \"Cocos (Keeling) Islands\"\n\"CH\" =\u003e \"Suisse (Switzerland)\"\n\"CL\" =\u003e \"Chile\"\n\"CN\" =\u003e \"中国 (China)\"\n\"CI\" =\u003e \"Côte d'Ivoire (Ivory Coast)\"\n\"CM\" =\u003e \"Cameroon\"\n\"CD\" =\u003e \"RD Congo (DR Congo)\"\n\"CG\" =\u003e \"République du Congo (Republic of the Congo)\"\n\"CK\" =\u003e \"Cook Islands\"\n\"CO\" =\u003e \"Colombia\"\n\"KM\" =\u003e \"القمر‎ (Comoros)\"\n\"CV\" =\u003e \"Cabo Verde (Cape Verde)\"\n...\n```\n\n#### Generate a list of countries\n\n```php\n$countries-\u003eall()-\u003epluck('name.common')-\u003etoArray();\n```\n\nreturns\n\n```php\n[\n    \"Aruba\",\n    \"Afghanistan\",\n    \"Angola\",\n    \"Anguilla\",\n    \"Åland Islands\",\n    ....\n```\n\n#### Generate a list of currencies\n\n```php\n$countries-\u003eall()-\u003epluck('currencies')-\u003etoArray();\n```\n\nreturns\n\n```php\n[\n  [\n    \"AWG\",\n  ],\n  [\n    \"AFN\",\n  ],\n  [\n    \"AOA\",\n  ],\n  [\n    \"XCD\",\n  ],\n  [\n    \"EUR\",\n  ],\n  ....\n```\n\n#### Get the currency symbol\n\n```php\n$countries-\u003ewhere('name.common', 'Brazil')-\u003efirst()-\u003ehydrate('currencies')-\u003ecurrencies-\u003eBRL-\u003eunits-\u003emajor-\u003esymbol;\n```\n\n#### Generate a list of States\n\n```php\n$countries-\u003ewhere('name.common', 'United States')\n    -\u003efirst()\n    -\u003ehydrateStates()\n    -\u003estates\n    -\u003esortBy('name')\n    -\u003epluck('name', 'postal');\n```\n\nreturns\n\n```php\n[\n    \"AL\": \"Alabama\",\n    \"AK\": \"Alaska\",\n    \"AZ\": \"Arizona\",\n    \"AR\": \"Arkansas\",\n    \"CA\": \"California\",\n    ....\n    ....\n```\n\n#### Hydrate and get a cities\n\n```php\n$countries-\u003ewhere('cca3', 'FRA')\n    -\u003efirst()\n    -\u003ehydrate('cities')\n    -\u003ecities\n    -\u003eparis\n    -\u003etimezone;\n```\n\nShould return\n\n```text\nEurope/Paris\n```\n\n#### Get a countries currencies\n\n```php\n$countries-\u003ewhere('name.common', 'United States')-\u003efirst()-\u003ecurrencies;\n```\n\nreturns\n\n```php\n[{\n    \"alternativeSigns\": [],\n    \"ISO4217Code\": \"USD\",\n    \"ISO4217Number\": \"840\",\n    \"sign\": \"$\",\n    \"subunits\": 100,\n    \"title\": \"U.S. dollar\",\n    ....\n```\n\n#### Get all currencies\n\n```php\n$countries-\u003ecurrencies();\n```\n\nreturns\n\n```php\n[\n    0 =\u003e \"AED\"\n    1 =\u003e \"AFN\"\n    2 =\u003e \"ALL\"\n    3 =\u003e \"AMD\"\n    4 =\u003e \"ANG\"\n    5 =\u003e \"AOA\"\n    6 =\u003e \"ARS\"\n    7 =\u003e \"AUD\"\n    8 =\u003e \"AWG\"\n    9 =\u003e \"AZN\"\n    10 =\u003e \"BAM\"\n    ....\n```\n\n#### Get the timezone for a State\n\n```php\nreturn $countries-\u003ewhere('name.common', 'United States')-\u003efirst()-\u003etimezone-\u003eNC;\n```\n\nreturns\n\n```php\nAmerica/New_York\n```\n\n#### Get all timezones for a country\n\n```php\n$countries-\u003ewhere('name.common', 'Brazil')\n  -\u003efirst()\n  -\u003ehydrateTimezones()\n  -\u003etimezones\n  -\u003emap(function ($timezone) {\n      return $timezone-\u003ezone_name;\n  })-\u003evalues()\n  -\u003eunique()\n  -\u003etoArray();\n```\n\n#### Get all times for a timezone\n\n```php\nreturn $countries-\u003ewhere('name.common', 'United States Virgin Islands')-\u003efirst()-\u003ehydrate('timezones_times')-\u003etimezones-\u003efirst()-\u003etimes;\n```\n\nreturns\n\n```php\n\"times\" =\u003e [\n    \"abbreviation\" =\u003e \"LMT\"\n    \"dst\" =\u003e \"0\"\n    \"gmt_offset\" =\u003e \"-14764\"\n    \"time_start\" =\u003e \"-1825098837\"\n    \"zone_id\" =\u003e \"415\"\n    1 =\u003e [\n        \"abbreviation\" =\u003e \"AST\"\n        \"dst\" =\u003e \"0\"\n        \"gmt_offset\" =\u003e \"-14400\"\n        \"time_start\" =\u003e \"-1825098836\"\n        \"zone_id\" =\u003e \"415\"\n    ]\n]\n```\n\n## Flags\n\nCountries provides many different flag sources, including SVG flags. This is how you use one of the available sources:\n\n### Install [flag-icon](https://github.com/lipis/flag-icon-css)\n\n```\nnpm install --save-dev flag-icon-css\n```\n\n### Import it to your project\n\n```\n@import '~flag-icon-css/sass/flag-icon.scss';\n```\n\n### Use Countries to get the flag span\n\n```\n$unitedStatesFlag =\n    $this-\u003ecountries-\u003ewhere('cca3', 'USA')\n    -\u003efirst()\n    -\u003eflag\n    -\u003eflag_icon;\n```\n\n### Render it in your blade template\n\n```\n{!! $unitedStatesFlag !!}\n```\n\n## Publishing assets\n\nYou can publish configuration by doing:\n```\nphp artisan vendor:publish --provider=PragmaRX\\\\Countries\\\\ServiceProvider\n```\n\n## Data\n\n### Sources\n\nThis package uses some other open source packages and, until we don't build a better documentation, you can find some more info about data on [mledoze/countries](https://github.com/mledoze/countries/blob/master/README.md) and how to use it on this fantastic [Laravel News article](https://laravel-news.com/countries-and-currencies).\n\nPlease check the [copyright](#copyright) section for a complete list of packages used by this one.\n\n### Updating\n\n#### **WARNING** \n\nNo data files (JSON, images, icons...) on this project can be updated manually. **We will close all pull requests requiring manual updates** to those files will be closed, because the update script will delete them anyway.\n\nIf you find something wrong with data, you, please, have to ask the package managers (listed data sources and on the copyright section) to fix them, and then you can yourself run the update script to properly update them on this repository.\n\n#### update.php\n\nThis package comes with the `update.php` script, which you MUST use to update the data files. It will download all info from all packages and automatically build the `.json` (and some others like `.svg` too). This is how you do it:\n\n``` bash\ncd vendor/pragmarx/countries\ncomposer install\nphp update.php\n```\n\nAnd wait for a *very long time** (sometimes it looks like stuck but it's not) until it finishes rebuilding everything, then it's just a matter of staging, commit, push all regenerated files, and draft a new PR.\n\n## Cache\n\nSince this data is not supposed to change, calls are automatically cached.\nIf you want to change this behaviour, you can edit `config/countries.php` file once it's published.\n\n## Framework bridges\n\n- [Laravel](https://github.com/antonioribeiro/countries-laravel)\n\n## Sample files\n\n- [sample-partial.json](src/data/sample-partial.json): example of a country with no borders hydrated.\n- [sample-full.json](src/data/sample-full.json): example of a fully hydrated country.\n\n## Author\n\n[Antonio Carlos Ribeiro](http://twitter.com/iantonioribeiro)\n[All contributors](https://github.com/antonioribeiro/countries-laravel/graphs/contributors)\n\n## Copyright\n\nTo build the countries database and relations, this package make use of those sources and packages:\n\n- [mledoze/countries](https://github.com/mledoze/countries)\n- [Natural Earth Vector](https://github.com/nvkelso/natural-earth-vector)\n- [rinvex/country](https://github.com/rinvex/country)\n- [commerceguys/tax](https://github.com/commerceguys/tax)\n- [timezonedb](https://timezonedb.com/)\n- [wiredmax/world-currencies](https://github.com/wiredmax/world-currencies)\n\n## License\n\nCountries is licensed under the BSD 3-Clause License - see the `LICENSE` file for details\n\n## Contributing\n\nPull requests and issues are more than welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonioribeiro%2Fcountries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantonioribeiro%2Fcountries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonioribeiro%2Fcountries/lists"}