PyWorldAtlas: offline world geography for Python
Offline world atlas for Python: 248 countries, 11 million places, statistics since 1960, and 3D maps, with zero dependencies. Built for low-cost computers with 512 MB of memory, such as a Raspberry Pi Zero 2 W; the core installs in under a minute on slow 3G.
248 countries · 200,000 places built in · 11 million with packs · statistics since 1960 · airports and World Heritage sites · 248 3D maps · 0 dependencies
Try it in 10 seconds
No install: open the browser playground, type a country or place, take a quiz, or run a ready-made program.
Or install it (Python 3.10 to 3.14, nothing else needed):
python -m pip install pyworldatlas
pyworldatlas --version
pyworldatlas find Everest
A taste
from datetime import date
from pyworldatlas import Atlas
with Atlas() as atlas:
print(atlas.country("Japan").travel.summary) # Plugs A, B · 100 V, 50/60 Hz · drives on the left
print(atlas.search_places("Everest", limit=1)[0]) # Mount Everest, mountain (NP)
print(atlas.sun("Oslo", date(2026, 12, 21)).daylight) # 5 h 54 min
print(atlas.antipode("Madrid").nearest[0].place) # Ossa, mountain (NZ): dig through the Earth
atlas.map("Iceland").show(auto_rotate=True) # 3D map (pyworldatlas get maps)
What's inside
| Countries | 248 profiles: names in local scripts, capitals, languages, currencies, travel basics, climate, highest points, rivers, and borders |
| Places | 200,000 towns, mountains, lakes, and landmarks built in; 11 million with packs; search by local or English name and list what is nearby |
| Learning | Flashcards and quizzes that repeat for a whole class, place quizzes, sun and seasons, and antipodes |
| Optional packs | pyworldatlas get maps (3D maps), statistics (World Bank numbers since 1960), landmarks (airports and World Heritage sites), places-explorer and places-world |
Everything works offline after installation, needs no API key, and is built for low-cost computers and slow connections. Every value is traced to a named source; missing data stays missing.
Start here
- 🧒 Students: the playground, quests, and learning activities
- 🍎 Teachers and classrooms: teaching with PyWorldAtlas, with a 15-minute lesson and printable quizzes
- 💻 Developers: the quickstart, cheat sheet, example programs, and API reference
Trust and neutrality
PyWorldAtlas presents factual geography from public sources, with no political commentary. Country names and codes follow published international standards, and the project takes no position on disputes. See the educational and neutrality policy, data sources, and data quality.
Contributing
Questions, corrections, and focused contributions are welcome: see
CONTRIBUTING.md, the
code of conduct, and SECURITY.md.
python maintain.py check runs the full test, build, and documentation gate.
License
PyWorldAtlas code is available under the MIT License. The data keeps its own terms, and every source is credited:
- Places, cities, and country metadata: GeoNames, CC BY 4.0
- Local names, currencies, and languages: Unicode CLDR, Unicode License v3
- Statistics pack: World Bank World Development Indicators, CC BY 4.0
- Also: CIA World Factbook and Natural Earth (public domain), Wikidata, IANA, NOAA ETOPO 2022, and Beck et al. Köppen-Geiger maps (CC0), OurAirports (public domain), and United Nations M49 and naming documents
Full credits, the changes made, and license texts are in
THIRD_PARTY_NOTICES.md
and licenses/. The package metadata license is
MIT AND CC-BY-4.0 AND Unicode-3.0 AND CC0-1.0.
Metadata
Release files for pyworldatlas 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyworldatlas-0.13.0.tar.gz | 2.7 MB | With provenance | Details for pyworldatlas-0.13.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyworldatlas-0.13.0-py3-none-any.whl | Python 3 | none | any | Details for pyworldatlas-0.13.0-py3-none-any.whl |
Total release size: 5.4 MB
Release files / pyworldatlas-0.13.0.tar.gz
| Download URL | pyworldatlas-0.13.0.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b16ea0fa33d90c7c6b55cffa92879fd62a3ed2b3c68e4ebe08451355c821f8c
|
|
BLAKE2b-256 checksum How to use checksums |
972fe91e95c9689278604af4e2c23a0aa19f784fd60d5ce658ec56322f145c71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logRelease files / pyworldatlas-0.13.0-py3-none-any.whl
| Download URL | pyworldatlas-0.13.0-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ca8b4732910bc3f4c70fbd25bd33b8567ba8f24abc75e37f9c511b34de1bc8f
|
|
BLAKE2b-256 checksum How to use checksums |
3810692dd4bfe7ff8a392d78c785b8fc126c408058a529696d8606745537d4dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logSecurity for pyworldatlas 0.13.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for pyworldatlas-0.13.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.