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.dev4.tar.gz (891.3 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.dev4-cp310-abi3-win_amd64.whl (15.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

mountaineer-0.20.0.dev4-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.dev4-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.dev4-cp310-abi3-macosx_11_0_arm64.whl (16.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

mountaineer-0.20.0.dev4-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.dev4.tar.gz.

File metadata

  • Download URL: mountaineer-0.20.0.dev4.tar.gz
  • Upload date:
  • Size: 891.3 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.dev4.tar.gz
Algorithm Hash digest
SHA256 e5e3fb2543d9780ae28d918a10481bb9e0bf3bb9df5e0bcfec739fa449bdf7aa
MD5 f3ddc99ff236a7dc9649c37324d9a4aa
BLAKE2b-256 442a9c4d78200620ab096af0f0e5a41cb0838fdf5502d86e56b2b9cb7ddefa12

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4.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.dev4-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 122432062955e623f717eb025c8d020c62db206a4059426f9022702a6523dc1a
MD5 c28a92b3f11cacedca3f7e8670bee7bd
BLAKE2b-256 5d79c124d052957536291f0c434480222f5ddd8686ebb9b1d1d388f7a1f11bb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4-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.dev4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db954c737576f9ed06c6ca7e33e0e0aec2110ba4524fba34876c865029a4443b
MD5 7d6a9bc597ee77251e41f5e789a0ad9e
BLAKE2b-256 2ccc9929ea5601a465c54cf0f62a4a833a173fa18cd9d067591822512dbf1983

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4-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.dev4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6943bf5c0a8f008ab955fd7554009ab398959c0eff048cbd79db83935e843cbf
MD5 9437f08c36c4b1a53504c52125e8f33d
BLAKE2b-256 8b1663c73c0974b65158459f60002a37b28201e04b9d4261ad35e8699d22e24d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4-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.dev4-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev4-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d602845d16e761268be4585fee6afe57270c1a026ef3e2bcbfc467a0e6fab3da
MD5 17c2c1c881ca559154709754d3dca1c1
BLAKE2b-256 7c0991ed7708e7f21c00a918066f1559f28849679154b8dfa1c55f16260fa126

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4-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.dev4-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev4-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ff142ad939bd56bea325824d6258e241b7cd056ebf95c4050dffe37e97988408
MD5 b1ec6e19007a7111433fbcda62971be1
BLAKE2b-256 b8d7fc0dae19ae5568b5319f2627b9ae53a3ee21cfb98c19aba19964d183c3e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mountaineer-0.20.0.dev4-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.dev4 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