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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: mountaineer-0.20.0.dev1.tar.gz
  • Upload date:
  • Size: 889.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.dev1.tar.gz
Algorithm Hash digest
SHA256 3f06a639a44f5667b14d2c0e4d5297047a7c21106379c1cc63ddedd39d8259f5
MD5 2ba8226883663d15245cb9d2ad0f1de9
BLAKE2b-256 7114fe5839708905310577da84bea57b103b5b7e67efbcd0fa71c19ec2d03cbc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 686ea7b1cb5b8bb3cf48a69408d7cc2b7ce29a8a92cb90d731d176bbd6a35f19
MD5 e2022578135345a9e7744f853b9ce121
BLAKE2b-256 6896dfe4241081b5f65877a1e75e3fa2aa2a0a3478b2f29e3f210a716c54edb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f23368425fbc87183bc1182ad215b34183dcab20b4fff6b6854b195fff3501e0
MD5 9382c93f609d6850c9ba81268ceb769d
BLAKE2b-256 b8f2439a41b10db13d1b23b2b45a343f7845f7b2821b393b89230a6fbc69f04e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1130ac20b2459ce3c2ac7ebda99dc38380f204276720a7050f2a57e56c625e7a
MD5 d106d31e1bf6a315dca312a52d05a2b5
BLAKE2b-256 74f83fc131a4ff1aaf2982105b0283f45a8532377776806a5dee5e0a542db767

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9340600b29274fd8d0de4e9f8a510e4c5b106e13b74870fffc1157c1de5e19e2
MD5 957ec09a8e09a72242dd134576fed785
BLAKE2b-256 f26983b44ad6156a69a46a9cc081f8a71389d5736ec1a27020efc6e356495cf3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 10005e66b91aacd27c254d03a36a683d9b333891a55c137963335d4ac488fbb4
MD5 e302a81b677230d5415444e72dc407ca
BLAKE2b-256 6c0aa719f91dbb9f3fe91d343711bd7d8d5dd0fe6440837adecbde0df2a4dd9d

See more details on using hashes here.

Provenance

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