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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: mountaineer-0.20.0.dev5.tar.gz
  • Upload date:
  • Size: 891.4 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.dev5.tar.gz
Algorithm Hash digest
SHA256 6e6d46319dfb1ae94099a2a7be7bbc08c33c707b929f7c11a5ee48be16d72e0a
MD5 b956c5928609b0e6f8612a7085f0a89d
BLAKE2b-256 4c4426d79c7f97e2852d3b842255362035b4c1e45dff84843695487729920665

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev5-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c527765891b0a7dc69f68feaffc088442434c5724d16e8b87f8e6093e8833eeb
MD5 0f5da078a1aa82db3f468edb7fbb3d35
BLAKE2b-256 08329050183946270d90ecee13e8f75720eec22f89abbfa565e35f0a3c359751

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecfda76efb2464d325a4e9324ad53351533eb6aa31764e85eaf2d58d22e5fb75
MD5 4aa0a82e38837c6bceff8dcbd510b33b
BLAKE2b-256 018b3818c7f93ad523823e90c2b78a45dca3b7e889801b66a046187f9f4a78c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev5-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7310ab5148b87a3cd072d581bf8321939486b47e126c5c5187ee27007e1b8a7f
MD5 47909e4a76a78f953b39ae4967eb9552
BLAKE2b-256 25f788d99ba21c178ca8f6a406ecf562c38a89b856b285a8e0d6b8321e689422

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev5-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 788db71d48ee0f3d2b77339b3522049575561f5e057b7d7455fc99514f711b80
MD5 3372d7bd48b874e0674a12f367a67b0c
BLAKE2b-256 0959563f5294dbd024ba123e5fbe069cb273665d182f4fba0cc79a79c37f519d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev5-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88b3059f231492452a1cc43c18e8cffe56b60918a1d445d100ff6a6a30aed865
MD5 aac1609055137e16a6cfe06704a87577
BLAKE2b-256 6ef23c348e8f995329fd5612295b29bcea9b08030c55311f5c8c2610e786ad12

See more details on using hashes here.

Provenance

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