A Python library for extracting place names from text and linking them to geographic locations.
- Project-Based Workflows: Store documents and results in a persistent database for long-term research
- Modular Architecture: Mix and match different recognizers and resolvers, or build your own
- Trainable Models: Fine-tune recognizers and resolvers on your own annotated data
- Custom Gazetteers: Integrate any geographic database through simple YAML configuration
pip install geoparserNote for macOS users: The library requires SQLite extension support. Please see the macOS setup guide for installation instructions using Homebrew Python.
from geoparser import Geoparser
# Initialize with default settings
gp = Geoparser()
# Parse text
text = "Paris is the capital of France."
docs = gp.parse(text)
# Access results
for toponym in docs[0].toponyms:
print(f"{toponym.text} -> {toponym.location.data}")Full documentation is available at docs.geoparser.app
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
The Irchel Geoparser originated as part of my Master's thesis and was further developed with support from the Department of Geography at the University of Zurich and the Public Data Lab of the Digitalization Initiative of the Zurich Higher Education Institutions. I thank Prof. Dr. Ross Purves for the opportunity to continue this work as part of a research project.
This project is licensed under the MIT License - see the LICENSE file for details.
Third-party licenses are listed in THIRD_PARTY_LICENSES.