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

Uploaded CPython 3.10+Windows x86-64

mountaineer-0.20.0.dev2-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.dev2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (18.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: mountaineer-0.20.0.dev2.tar.gz
  • Upload date:
  • Size: 890.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.dev2.tar.gz
Algorithm Hash digest
SHA256 d5888afe313a5f48eef74abbc67dd7113e63d6de8368233fbc5d424a19d5222d
MD5 5ba4d24b3452b1fbbd5b5f88039209c4
BLAKE2b-256 a0ce5b67c8d7b0d6d940e5089df82c81f2ec746bbbc630814610b772492cc8e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 44efe438eaa21a3fa2a23d19376b9e3a08bdbd073e1e19fe4b6c3c7705d63541
MD5 50211914d4a4f4b113b9333945d2c959
BLAKE2b-256 785700a2e315d48c8da5c3a7cac3ceb4e339a88a767ee496592126af6212f112

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 021108fb39688325b1152d41ab34e5c107b138c7051953367ba65ecc961bd317
MD5 5e904090015c9c468b720db2df0b2e9d
BLAKE2b-256 5ea83b945e565ac4bfd9c7ec460631364c197788ef863344a7dc82e331296f7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2cb88827f38eb0d5621e93ef5b1808c573facb0c3719771eaae86dc483ada5cb
MD5 4b0e652b27c9c7924380aca5300f05c0
BLAKE2b-256 60526ffafde7ac2a7aaba3ba8e5c391802002129e0c2c16d02920a7d2fc0ad7b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a907283a47c1af0e5926fe1a9fdc22b4e53b35c7e35f5c20aedfb745ab0d31c8
MD5 422dcea0f2b4d73ed80eff56217d043f
BLAKE2b-256 9e2aa0018d01516e02298d0e2af7e6cc369a4caa9f8da0ee956a81416c5eae7a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mountaineer-0.20.0.dev2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bdc111706c857f081620a2c371d9eee366605250fd8dfc717843e4080080068e
MD5 ce385df32cc606aab652c042b39f5668
BLAKE2b-256 b2fdc2496b489731754faea3db4bc3886cbfc5044462707d8f293e97a38ff739

See more details on using hashes here.

Provenance

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