Skip to content

fyipedia/mountainfyi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mountainfyi

PyPI version Python License: MIT Zero Dependencies

Python API client for mountainfyi.com -- the comprehensive mountain and peak database covering mountains, ranges, climbing routes, and seasonal conditions across all continents. Browse elevation records, summit data, and route details through a free REST API, CLI, or MCP server for AI assistants.

MountainFYI catalogs peaks and ranges worldwide with elevation data, geographic coordinates, climbing routes, and seasonal condition reports -- built for developers, geographers, and outdoor enthusiasts who need structured mountain data.

Explore mountains at mountainfyi.com -- browse peaks by continent, country, or mountain range.

mountainfyi demo -- mountain data API client for Python

Table of Contents

Install

pip install mountainfyi              # Core (zero deps)
pip install "mountainfyi[cli]"       # + Command-line interface
pip install "mountainfyi[mcp]"       # + MCP server for AI assistants
pip install "mountainfyi[api]"       # + HTTP client for mountainfyi.com API
pip install "mountainfyi[all]"       # Everything

Quick Start

from mountainfyi.api import MountainFYI

with MountainFYI() as api:
    # List all mountains in the database
    mountains = api.list_mountains()

    # Get detailed info for a specific peak
    everest = api.get_mountain("mount-everest")

    # Browse mountain ranges
    ranges = api.list_ranges()
    himalayas = api.get_range("himalayas")

    # Search across all mountain content
    results = api.search("K2")

What You Can Do

Explore Mountains and Peaks

Mountains are classified by prominence, isolation, and elevation. The most recognized classification system ranks peaks by absolute elevation above sea level. The Seven Summits -- the highest peak on each continent -- represent one of mountaineering's most coveted achievements.

Metric Description Example
Elevation Height above sea level Everest: 8,849 m
Prominence Rise above the highest saddle connecting to a higher peak Denali: 6,144 m prominence
Isolation Distance to nearest higher peak Kilimanjaro: 5,510 km isolation
Ultra-prominent Peaks with prominence >= 1,500 m ~1,524 peaks worldwide
from mountainfyi.api import MountainFYI

# Retrieve mountain detail with elevation, prominence, and coordinates
with MountainFYI() as api:
    mountain = api.get_mountain("mount-everest")
    print(mountain["name"])        # Mount Everest
    print(mountain["elevation"])   # Elevation in meters

    # Browse mountains by continent
    continents = api.list_continents()
    asia = api.get_continent("asia")

Learn more: Browse Mountains · Glossary · Guides

Browse Mountain Ranges

A mountain range is a series of mountains connected by high ground. Major ranges form along tectonic plate boundaries -- the Himalayas arose from the collision of the Indian and Eurasian plates, while the Andes trace the subduction zone of the Nazca Plate beneath South America.

Range Location Highest Peak Length
Himalayas South Asia Everest (8,849 m) 2,400 km
Andes South America Aconcagua (6,961 m) 7,000 km
Alps Europe Mont Blanc (4,808 m) 1,200 km
Rockies North America Elbert (4,401 m) 4,800 km
Karakoram Central Asia K2 (8,611 m) 500 km
from mountainfyi.api import MountainFYI

# Explore mountain ranges and their peaks
with MountainFYI() as api:
    ranges = api.list_ranges()
    karakoram = api.get_range("karakoram")

    # Browse by geographic region
    regions = api.list_regions()
    south_asia = api.get_region("south-asia")

Learn more: Browse Ranges · Countries · API Docs

Climbing Routes and Conditions

Climbing routes vary from straightforward trekking peaks to technical ascents requiring ice axes, ropes, and high-altitude experience. Seasonal conditions -- snow depth, temperature, wind speed, and avalanche risk -- determine optimal climbing windows for each peak.

Grade Difficulty Description
F (Facile) Easy Walking on paths and easy scrambling
PD (Peu Difficile) Moderate Simple glacier travel, basic rope work
AD (Assez Difficile) Fairly Difficult Steeper ice/rock, crevasse navigation
D (Difficile) Difficult Sustained technical climbing
TD (Tres Difficile) Very Difficult Serious alpinism, objective hazards
ED (Extremement Difficile) Extremely Difficult Elite-level mountaineering
from mountainfyi.api import MountainFYI

# Explore climbing routes and seasonal conditions
with MountainFYI() as api:
    routes = api.list_routes()
    route = api.get_route("everest-south-col")

    # Check seasonal conditions for planning
    conditions = api.list_seasonal_conditions()

Learn more: Routes · FAQs · Guides

Command-Line Interface

pip install "mountainfyi[cli]"

# Search for mountains
mountainfyi search "Matterhorn"

# Output is JSON for easy piping
mountainfyi search "K2" | jq '.results[0].name'

MCP Server (Claude, Cursor, Windsurf)

Add mountain data tools to any AI assistant that supports Model Context Protocol.

pip install "mountainfyi[mcp]"

Add to your claude_desktop_config.json:

{
    "mcpServers": {
        "mountainfyi": {
            "command": "python",
            "args": ["-m", "mountainfyi.mcp_server"]
        }
    }
}

Available tools: search_mountainfyi

REST API Client

from mountainfyi.api import MountainFYI

with MountainFYI() as api:
    # List endpoints
    mountains = api.list_mountains()
    ranges = api.list_ranges()
    continents = api.list_continents()
    countries = api.list_countries()

    # Detail endpoints
    peak = api.get_mountain("mont-blanc")
    route = api.get_route("normal-route")

    # Search
    results = api.search("volcano")

API Reference

Method Description
list_mountains(**params) List all mountains
get_mountain(slug) Get mountain detail
list_ranges(**params) List all mountain ranges
get_range(slug) Get range detail
list_continents(**params) List all continents
get_continent(slug) Get continent detail
list_countries(**params) List all countries
get_country(slug) Get country detail
list_regions(**params) List all regions
get_region(slug) Get region detail
list_routes(**params) List all climbing routes
get_route(slug) Get route detail
list_seasonal_conditions(**params) List seasonal conditions
get_seasonal_condition(slug) Get seasonal condition detail
list_faqs(**params) List all FAQs
get_faq(slug) Get FAQ detail
search(query) Search across all content

Full API documentation at mountainfyi.com/developers/.

Learn More About Mountains

Geo FYI Family

Part of the FYIPedia open-source developer tools ecosystem -- geography, distance, elevation, and natural events.

Package PyPI Description
distancefyi PyPI Haversine distance & travel times -- distancefyi.com
mountainfyi PyPI Mountains, peaks, elevation, climbing routes -- mountainfyi.com
quakefyi PyPI Earthquakes, seismic data, tectonic plates -- quakefyi.com
zipfyi PyPI ZIP/postal codes, geocoding, area lookup -- zipfyi.com

FYIPedia Developer Tools

Package PyPI npm Description
colorfyi PyPI npm Color conversion, WCAG contrast, harmonies -- colorfyi.com
emojifyi PyPI npm Emoji encoding & metadata -- emojifyi.com
symbolfyi PyPI npm Symbol encoding in 11 formats -- symbolfyi.com
unicodefyi PyPI npm Unicode lookup with 17 encodings -- unicodefyi.com
fontfyi PyPI npm Google Fonts metadata & CSS -- fontfyi.com
distancefyi PyPI npm Haversine distance & travel times -- distancefyi.com
timefyi PyPI npm Timezone ops & business hours -- timefyi.com
namefyi PyPI npm Korean romanization & Five Elements -- namefyi.com
unitfyi PyPI npm Unit conversion, 220 units -- unitfyi.com
holidayfyi PyPI npm Holiday dates & Easter calculation -- holidayfyi.com
mountainfyi PyPI -- Mountains, peaks, elevation, climbing routes -- mountainfyi.com
cocktailfyi PyPI -- Cocktail ABV, calories, flavor -- cocktailfyi.com
fyipedia PyPI -- Unified CLI for all FYI tools -- fyipedia.com

License

MIT

About

Mountains, peaks, elevation, climbing routes — Python library & CLI. Zero dependencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages