Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Mountaineer

Mountaineer Logo

Python Version Test status

Move fast. Climb mountains. Don't break things.

Mountaineer 🏔️ is a framework to easily build webapps in Python and React. If you've used either of these languages before for development, we think you'll be right at home.

Main Features

Each framework has its own unique features and tradeoffs. Mountaineer focuses on developer productivity above all else, with production speed a close second.

  • 📝 Typehints up and down the stack: frontend, backend, and database
  • 🎙️ Trivially easy client<->server communication, data binding, and function calling
  • 🌎 Optimized server rendering for better accessibility and SEO
  • 🏹 Static analysis of web pages for strong validation: link validity, data access, etc.
  • 🤩 Skip the API or Node.js server just to serve frontend clients

Getting Started

New Project

To get started as quickly as possible, we bundle a project generator that sets up a simple project after a quick Q&A. Make sure you have pipx installed.

$ pipx run create-mountaineer-app

Mountaineer projects all follow a similar structure. After running this CLI you should see a new folder called my_webapp, with folders like the following:

my_webapp
  /controllers
    /home.py
  /models
    /mymodel.py
  /views
    /app
      /home
        /page.tsx
      /layout.tsx
    /package.json
    /tsconfig.json
  /app.py
  /cli.py
pyproject.toml

Every service file is nested under the my_webapp root package. Views are defined in a disk-based hierarchy (views) where nested routes are in nested folders. This folder acts as your React project and is where you can define requirements and build parameters in package.json and tsconfig.json. Controllers are defined nearby in a flat folder (controllers) where each route is a separate file. Everything else is just standard Python code for you to modify as needed.

Development

If you're starting a new application from scratch, you'll typically want to create your new database tables. Make sure you have postgres running. We bundle a docker compose file for convenience with create-mountaineer-app.

docker compose up -d
uv run createdb

Of course you can also use an existing database instance, simply configure it in the .env file in the project root.

Mountaineer relies on watching your project for changes and doing progressive compilation. We provide a few CLI commands to help with this.

While doing development work, you'll usually want to preview the frontend and automatically build dependent files. You can do this with:

$ uv run mountaineer-dev

Found 4 Python libraries for warm reload: click, fastapi, mountaineer, pydantic
Started Python backend in 2.05s
Local http://127.0.0.1:5006

Navigate to http://127.0.0.1:5006 to see your new webapp running.

Or, if you just want to watch the source tree for changes without hosting the server. Watching will allow your frontend to pick up API definitions from your backend controllers:

$ uv run mountaineer-watch

Both native commands are installed with Mountaineer and discover the project automatically.

Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mountaineer-0.20.0.dev3.tar.gz (890.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mountaineer-0.20.0.dev3-cp310-abi3-win_amd64.whl (15.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

mountaineer-0.20.0.dev3-cp310-abi3-macosx_11_0_arm64.whl (16.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

mountaineer-0.20.0.dev3-cp310-abi3-macosx_10_12_x86_64.whl (17.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file mountaineer-0.20.0.dev3.tar.gz.

File metadata

  • Download URL: mountaineer-0.20.0.dev3.tar.gz
  • Upload date:
  • Size: 890.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mountaineer-0.20.0.dev3.tar.gz
Algorithm Hash digest
SHA256 9829bf309c75e129779e62a5295d1aa98b4c6220f431ee49d55c4bda9a4c27e6
MD5 93942435baed8bb991370367db97ef9c
BLAKE2b-256 b86e55cb5603a4038b585e37d68caefca47bbb829e18e3a65621da324453f9f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3.tar.gz:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mountaineer-0.20.0.dev3-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5a46d7dc6b0b417100c4d7628c48dffd11d6698233201cc351f0cbeb999c40f2
MD5 9fd8f7f87fb996434bec0aa37994c5e3
BLAKE2b-256 1cae540839b2f723eff146d6a400bad0db7414285180647b3ac5d5aa5fd07e5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3-cp310-abi3-win_amd64.whl:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 730808611a95bd9927723414ac9d5626638058833510e8063112b4506bb656e6
MD5 9596d06bdc84845aad408f188b0b03f2
BLAKE2b-256 221c5a7df916f1bc19467adcba866333a23f7f75ea380b51d123e70b499541c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1fdc118cf48357e7ff840bcf554b6b83433e7c5a709f3b6c683ebf72856de1a
MD5 1d4698e28439024c1c13f4da51c3c0b3
BLAKE2b-256 7d00961328ff46892ac254637c37c1bfb7ab7b081f1fd00cbf7c9acb4c0c4d44

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mountaineer-0.20.0.dev3-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a54018006b3900c10470b16dfc8f925886362fbbfd2bcc1ab9c2b5e87e43f9ab
MD5 0886c48ffff878039d3c7c0e936a6dcc
BLAKE2b-256 ef364a62622ca3ace4b43b8f0257746556e402442e09ab3d9c7c3bc964854904

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mountaineer-0.20.0.dev3-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev3-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0ab61e04fd9105dae48642be8772e42181a3cc596f3fd82f1be304e97654cfc2
MD5 8c813a0b250a3a063514a3b3d33daa3d
BLAKE2b-256 c0877717cd22d8ce93ff6de69ce8e4b79eb57a5445241e6935ca355f77435883

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev3-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: test.yml on piercefreeman/mountaineer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.20.0.dev3 This release

6 files

0.12.3

6 files

0.12.2

6 files

0.12.1

6 files

0.12.0

6 files

0.11.2

6 files

0.11.1

6 files

0.11.0

6 files

0.10.3

6 files

0.10.2

6 files

0.10.1

6 files

0.10.0

6 files

0.9.2

6 files

0.9.1

6 files

0.9.0

6 files

0.8.0

16 files

0.7.1

16 files

0.7.0

16 files

0.6.0

16 files

0.5.1

16 files

0.5.0

16 files

0.4.1

11 files

0.4.0

11 files

0.3.1

7 files

0.2.0

26 files

0.1.4

26 files

0.1.3

26 files

0.1.2

26 files

0.1.1

2 files

0.1.0

27 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page